diff --git a/community/cypher/cypher-compiler-3.4/LICENSES.txt b/community/cypher/cypher-compiler-3.4/LICENSES.txt index dce524a961d91..ca47399b62729 100644 --- a/community/cypher/cypher-compiler-3.4/LICENSES.txt +++ b/community/cypher/cypher-compiler-3.4/LICENSES.txt @@ -4,6 +4,9 @@ libraries. For an overview of the licenses see the NOTICE.txt file. ------------------------------------------------------------------------------ Apache Software License, Version 2.0 Caffeine cache + Lucene Core + Lucene Memory + Netty/All-in-One parboiled-core parboiled-scala ------------------------------------------------------------------------------ @@ -284,4 +287,36 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------------------ +Bouncy Castle License + Bouncy Castle PKIX, CMS, EAC, TSP, PKCS, OCSP, CMP, and CRMF APIs + Bouncy Castle Provider +------------------------------------------------------------------------------ + +Please note: our license is an adaptation of the MIT X11 License and should be +read as such. + +LICENSE + +Copyright (c) 2000 - 2011 The Legion Of The Bouncy Castle +(http://www.bouncycastle.org) + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + diff --git a/community/cypher/cypher-compiler-3.4/NOTICE.txt b/community/cypher/cypher-compiler-3.4/NOTICE.txt index 38fc0e03c2951..45d4cffa01c69 100644 --- a/community/cypher/cypher-compiler-3.4/NOTICE.txt +++ b/community/cypher/cypher-compiler-3.4/NOTICE.txt @@ -27,6 +27,9 @@ Third-party licenses Apache Software License, Version 2.0 Caffeine cache + Lucene Core + Lucene Memory + Netty/All-in-One parboiled-core parboiled-scala @@ -36,3 +39,7 @@ BSD - Scala License BSD License Scala Compiler +Bouncy Castle License + Bouncy Castle PKIX, CMS, EAC, TSP, PKCS, OCSP, CMP, and CRMF APIs + Bouncy Castle Provider + diff --git a/community/cypher/cypher-compiler-3.4/pom.xml b/community/cypher/cypher-compiler-3.4/pom.xml index 28acaba09c426..29748e846c511 100644 --- a/community/cypher/cypher-compiler-3.4/pom.xml +++ b/community/cypher/cypher-compiler-3.4/pom.xml @@ -108,6 +108,11 @@ neo4j-cypher-logical-plans-3.4 ${project.version} + + org.neo4j + neo4j-cypher-planner-spi-3.4 + ${project.version} + @@ -126,6 +131,14 @@ test + + org.neo4j + neo4j-cypher-expression-3.4 + ${project.version} + test-jar + test + + org.neo4j neo4j-cypher-frontend-3.4 @@ -134,6 +147,14 @@ test + + org.neo4j + neo4j-cypher-planner-spi-3.4 + ${project.version} + test-jar + test + + org.neo4j neo4j-io diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/BoundOrdering.scala b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/BoundOrdering.scala deleted file mode 100644 index eeb40c6ee17ca..0000000000000 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/BoundOrdering.scala +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package org.neo4j.cypher.internal.compiler.v3_4 - -import org.neo4j.cypher.internal.frontend.v3_4.Bound - -// Tested by SeekRangeTest -final case class MinBoundOrdering[T](inner: Ordering[T]) extends Ordering[Bound[T]] { - override def compare(x: Bound[T], y: Bound[T]): Int = { - val cmp = inner.compare(x.endPoint, y.endPoint) - if (cmp == 0) - Ordering.Boolean.compare(x.isInclusive, y.isInclusive) - else - cmp - } -} - -// Tested by SeekRangeTest -final case class MaxBoundOrdering[T](inner: Ordering[T]) extends Ordering[Bound[T]] { - override def compare(x: Bound[T], y: Bound[T]): Int = { - val cmp = inner.compare(x.endPoint, y.endPoint) - if (cmp == 0) - Ordering.Boolean.compare(y.isInclusive, x.isInclusive) - else - cmp - } -} - diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/ContextCreator.scala b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/ContextCreator.scala index 5c937c2f78f27..23f1698d64adb 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/ContextCreator.scala +++ b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/ContextCreator.scala @@ -22,10 +22,9 @@ package org.neo4j.cypher.internal.compiler.v3_4 import java.time.Clock import org.neo4j.cypher.internal.util.v3_4.InputPosition -import org.neo4j.cypher.internal.compiler.v3_4.phases.CompilerContext -import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.{ExpressionEvaluator, Metrics, MetricsFactory, QueryGraphSolver} -import org.neo4j.cypher.internal.compiler.v3_4.spi.PlanContext +import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.{ExpressionEvaluator, MetricsFactory, QueryGraphSolver} import org.neo4j.cypher.internal.frontend.v3_4.phases.{BaseContext, CompilationPhaseTracer, InternalNotificationLogger, Monitors} +import org.neo4j.cypher.internal.planner.v3_4.spi.PlanContext trait ContextCreator[Context <: BaseContext] { def create(tracer: CompilationPhaseTracer, diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/CypherCompiler.scala b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/CypherCompiler.scala index b75f1f4d196be..be63f5f689727 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/CypherCompiler.scala +++ b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/CypherCompiler.scala @@ -30,6 +30,7 @@ import org.neo4j.cypher.internal.frontend.v3_4.ast.rewriters.ASTRewriter import org.neo4j.cypher.internal.frontend.v3_4.helpers.rewriting.RewriterStepSequencer import org.neo4j.cypher.internal.frontend.v3_4.phases._ import org.neo4j.cypher.internal.ir.v3_4.UnionQuery +import org.neo4j.cypher.internal.planner.v3_4.spi.{IDPPlannerName, PlannerNameFor} import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlan case class CypherCompiler[Context <: CompilerContext](astRewriter: ASTRewriter, diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/CypherCompilerFactory.scala b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/CypherCompilerFactory.scala index b9822e727a6b0..13ac124b859df 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/CypherCompilerFactory.scala +++ b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/CypherCompilerFactory.scala @@ -27,6 +27,7 @@ import org.neo4j.cypher.internal.frontend.v3_4.ast.rewriters.ASTRewriter import org.neo4j.cypher.internal.frontend.v3_4.helpers.rewriting.RewriterStepSequencer import org.neo4j.cypher.internal.frontend.v3_4.phases.{Monitors, Transformer} import org.neo4j.cypher.internal.frontend.v3_4.rewriters.IfNoParameter +import org.neo4j.cypher.internal.planner.v3_4.spi.CostBasedPlannerName class CypherCompilerFactory[C <: CompilerContext, T <: Transformer[C, LogicalPlanState, LogicalPlanState]] { val monitorTag = "cypher3.3" diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/ast/convert/plannerQuery/PlannerQueryBuilder.scala b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/ast/convert/plannerQuery/PlannerQueryBuilder.scala index 3780bbef10d2d..5cbea2aea449c 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/ast/convert/plannerQuery/PlannerQueryBuilder.scala +++ b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/ast/convert/plannerQuery/PlannerQueryBuilder.scala @@ -21,9 +21,9 @@ package org.neo4j.cypher.internal.compiler.v3_4.ast.convert.plannerQuery import org.neo4j.cypher.internal.compiler.v3_4.helpers.ListSupport import org.neo4j.cypher.internal.frontend.v3_4.ast.RelationshipStartItem -import org.neo4j.cypher.internal.frontend.v3_4.helpers.UnNamedNameGenerator import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable import org.neo4j.cypher.internal.ir.v3_4._ +import org.neo4j.cypher.internal.util.v3_4.UnNamedNameGenerator import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection case class PlannerQueryBuilder(private val q: PlannerQuery, semanticTable: SemanticTable, returns: Seq[IdName] = Seq.empty) diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/phases/CompilerContext.scala b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/phases/CompilerContext.scala index 8e8aaadd38c8f..95d6e5b62e26d 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/phases/CompilerContext.scala +++ b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/phases/CompilerContext.scala @@ -24,9 +24,9 @@ import java.time.Clock import org.neo4j.cypher.internal.util.v3_4.{CypherException, InputPosition} import org.neo4j.cypher.internal.compiler.v3_4._ import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.{Metrics, QueryGraphSolver} -import org.neo4j.cypher.internal.compiler.v3_4.spi.PlanContext import org.neo4j.cypher.internal.frontend.v3_4.phases.{BaseContext, CompilationPhaseTracer, InternalNotificationLogger, Monitors} import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticErrorDef +import org.neo4j.cypher.internal.planner.v3_4.spi.PlanContext class CompilerContext(val exceptionCreator: (String, InputPosition) => CypherException, val tracer: CompilationPhaseTracer, diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/phases/RewriteProcedureCalls.scala b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/phases/RewriteProcedureCalls.scala index 31fa0ec0a2578..8270efbf82504 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/phases/RewriteProcedureCalls.scala +++ b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/phases/RewriteProcedureCalls.scala @@ -20,13 +20,12 @@ package org.neo4j.cypher.internal.compiler.v3_4.phases import org.neo4j.cypher.internal.util.v3_4.{Rewriter, bottomUp} -import org.neo4j.cypher.internal.compiler.v3_4.ast.ResolvedFunctionInvocation -import org.neo4j.cypher.internal.compiler.v3_4.spi.PlanContext import org.neo4j.cypher.internal.frontend.v3_4.ast._ import org.neo4j.cypher.internal.frontend.v3_4.ast.conditions.{StatementCondition, containsNoNodesOfType} import org.neo4j.cypher.internal.frontend.v3_4.phases.CompilationPhaseTracer.CompilationPhase.AST_REWRITE import org.neo4j.cypher.internal.frontend.v3_4.phases.{BaseState, Condition, Phase} -import org.neo4j.cypher.internal.v3_4.logical.plans.ResolvedCall +import org.neo4j.cypher.internal.planner.v3_4.spi.PlanContext +import org.neo4j.cypher.internal.v3_4.logical.plans.{ResolvedCall, ResolvedFunctionInvocation} import org.neo4j.cypher.internal.v3_4.expressions.FunctionInvocation // Given a way to lookup procedure signatures, this phase rewrites unresolved calls into resolved calls diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/ResolveTokens.scala b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/ResolveTokens.scala index 82ad27850dc86..6c2f50fb8ff5f 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/ResolveTokens.scala +++ b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/ResolveTokens.scala @@ -20,12 +20,12 @@ package org.neo4j.cypher.internal.compiler.v3_4.planner import org.neo4j.cypher.internal.compiler.v3_4.phases._ -import org.neo4j.cypher.internal.compiler.v3_4.spi.TokenContext import org.neo4j.cypher.internal.frontend.v3_4.ast.Query import org.neo4j.cypher.internal.frontend.v3_4.phases.CompilationPhaseTracer.CompilationPhase.AST_REWRITE import org.neo4j.cypher.internal.frontend.v3_4.phases.{BaseState, VisitorPhase} import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable -import org.neo4j.cypher.internal.frontend.v3_4.{LabelId, PropertyKeyId, RelTypeId} +import org.neo4j.cypher.internal.planner.v3_4.spi.TokenContext +import org.neo4j.cypher.internal.util.v3_4.{LabelId, PropertyKeyId, RelTypeId} import org.neo4j.cypher.internal.v3_4.expressions.{LabelName, PropertyKeyName, RelTypeName} object ResolveTokens extends VisitorPhase[CompilerContext, BaseState] { diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/CachedMetricsFactory.scala b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/CachedMetricsFactory.scala index fb1c927efb4fd..1eee694388a50 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/CachedMetricsFactory.scala +++ b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/CachedMetricsFactory.scala @@ -21,7 +21,7 @@ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical import org.neo4j.cypher.internal.compiler.v3_4.helpers.CachedFunction import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.Metrics.{CardinalityModel, QueryGraphCardinalityModel} -import org.neo4j.cypher.internal.compiler.v3_4.spi.GraphStatistics +import org.neo4j.cypher.internal.planner.v3_4.spi.GraphStatistics case class CachedMetricsFactory(metricsFactory: MetricsFactory) extends MetricsFactory { def newCardinalityEstimator(queryGraphCardinalityModel: QueryGraphCardinalityModel, evaluator: ExpressionEvaluator): CardinalityModel = diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/CardinalityCostModel.scala b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/CardinalityCostModel.scala index e51efc56609e3..779aefe74fa18 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/CardinalityCostModel.scala +++ b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/CardinalityCostModel.scala @@ -22,6 +22,7 @@ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.Metrics._ import org.neo4j.cypher.internal.v3_4.logical.plans._ import org.neo4j.cypher.internal.ir.v3_4._ +import org.neo4j.cypher.internal.util.v3_4.{Cardinality, Cost, CostPerRow, Multiplier} import org.neo4j.cypher.internal.v3_4.expressions.{HasLabels, Property} object CardinalityCostModel extends CostModel { diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/LogicalPlanningContext.scala b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/LogicalPlanningContext.scala index c1b9a2b23c46c..4bc790b256e14 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/LogicalPlanningContext.scala +++ b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/LogicalPlanningContext.scala @@ -22,10 +22,11 @@ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical import org.neo4j.csv.reader.Configuration.DEFAULT_LEGACY_STYLE_QUOTING import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.Metrics.QueryGraphSolverInput import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.steps.LogicalPlanProducer -import org.neo4j.cypher.internal.compiler.v3_4.spi.PlanContext import org.neo4j.cypher.internal.frontend.v3_4.phases.InternalNotificationLogger import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable -import org.neo4j.cypher.internal.ir.v3_4.{Cardinality, IdName, StrictnessMode} +import org.neo4j.cypher.internal.ir.v3_4.{IdName, StrictnessMode} +import org.neo4j.cypher.internal.planner.v3_4.spi.PlanContext +import org.neo4j.cypher.internal.util.v3_4.Cardinality import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlan import org.neo4j.cypher.internal.v3_4.expressions.Variable diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/Metrics.scala b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/Metrics.scala index bad5a3fed617a..4afcb6598e0fc 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/Metrics.scala +++ b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/Metrics.scala @@ -20,9 +20,10 @@ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.Metrics.{CardinalityModel, CostModel, QueryGraphCardinalityModel} -import org.neo4j.cypher.internal.compiler.v3_4.spi.GraphStatistics import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable import org.neo4j.cypher.internal.ir.v3_4.{PlannerQuery, _} +import org.neo4j.cypher.internal.planner.v3_4.spi.GraphStatistics +import org.neo4j.cypher.internal.util.v3_4.{Cardinality, Cost} import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlan import org.neo4j.cypher.internal.v3_4.expressions.{Expression, FunctionInvocation, LabelName, Parameter} import org.neo4j.cypher.internal.v3_4.functions.{Rand, Timestamp} diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/QueryPlanner.scala b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/QueryPlanner.scala index 53c9af34d6346..3e68951b6e2dd 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/QueryPlanner.scala +++ b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/QueryPlanner.scala @@ -24,7 +24,8 @@ import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.Metrics.{CostMode import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.steps.LogicalPlanProducer import org.neo4j.cypher.internal.frontend.v3_4.phases.CompilationPhaseTracer.CompilationPhase.LOGICAL_PLANNING import org.neo4j.cypher.internal.frontend.v3_4.phases.Phase -import org.neo4j.cypher.internal.ir.v3_4.{Cost, PeriodicCommit, PlannerQuery, UnionQuery} +import org.neo4j.cypher.internal.ir.v3_4.{PeriodicCommit, PlannerQuery, UnionQuery} +import org.neo4j.cypher.internal.util.v3_4.Cost import org.neo4j.cypher.internal.v3_4.logical.plans.{LogicalPlan, ProduceResult} case class QueryPlanner(planSingleQuery: LogicalPlanningFunction1[PlannerQuery, LogicalPlan] = PlanSingleQuery()) extends Phase[CompilerContext, LogicalPlanState, LogicalPlanState] { diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/SimpleMetricsFactory.scala b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/SimpleMetricsFactory.scala index 185114fb00dd7..c92ac91824294 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/SimpleMetricsFactory.scala +++ b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/SimpleMetricsFactory.scala @@ -21,7 +21,7 @@ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.Metrics._ import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.cardinality.QueryGraphCardinalityModel -import org.neo4j.cypher.internal.compiler.v3_4.spi.GraphStatistics +import org.neo4j.cypher.internal.planner.v3_4.spi.GraphStatistics object SimpleMetricsFactory extends MetricsFactory { def newCostModel(): CostModel = CardinalityCostModel diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/StatisticsBackedCardinalityModel.scala b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/StatisticsBackedCardinalityModel.scala index 52b70b9e8db92..66235d51b74ec 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/StatisticsBackedCardinalityModel.scala +++ b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/StatisticsBackedCardinalityModel.scala @@ -22,9 +22,10 @@ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical import org.neo4j.cypher.internal.compiler.v3_4.helpers.MapSupport._ import org.neo4j.cypher.internal.compiler.v3_4.planner._ import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.Metrics.{CardinalityModel, QueryGraphCardinalityModel, QueryGraphSolverInput} -import org.neo4j.cypher.internal.compiler.v3_4.spi.GraphStatistics import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable import org.neo4j.cypher.internal.ir.v3_4._ +import org.neo4j.cypher.internal.planner.v3_4.spi.GraphStatistics +import org.neo4j.cypher.internal.util.v3_4.{Cardinality, Multiplier, Selectivity} import org.neo4j.cypher.internal.v3_4.expressions.IntegerLiteral import org.neo4j.values.storable.NumberValue diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/ExpressionSelectivityCalculator.scala b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/ExpressionSelectivityCalculator.scala index 7fce1357e9eea..7e94c26c9f098 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/ExpressionSelectivityCalculator.scala +++ b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/ExpressionSelectivityCalculator.scala @@ -23,13 +23,13 @@ import java.math import java.math.RoundingMode import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.plans._ -import org.neo4j.cypher.internal.compiler.v3_4.spi.GraphStatistics -import org.neo4j.cypher.internal.compiler.v3_4.spi.GraphStatistics._ -import org.neo4j.cypher.internal.compiler.v3_4.{IndexDescriptor, PrefixRange} -import org.neo4j.cypher.internal.frontend.v3_4.LabelId import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable -import org.neo4j.cypher.internal.ir.v3_4.{Cardinality, IdName, Selections, Selectivity} +import org.neo4j.cypher.internal.ir.v3_4.{IdName, Selections} +import org.neo4j.cypher.internal.planner.v3_4.spi.{GraphStatistics, IndexDescriptor} +import org.neo4j.cypher.internal.planner.v3_4.spi.GraphStatistics._ +import org.neo4j.cypher.internal.util.v3_4.{Cardinality, LabelId, Selectivity} import org.neo4j.cypher.internal.v3_4.expressions._ +import org.neo4j.cypher.internal.v3_4.logical.plans.PrefixRange trait Expression2Selectivity { def apply(exp: Expression)(implicit semanticTable: SemanticTable, selections: Selections): Selectivity diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/QueryGraphCardinalityModel.scala b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/QueryGraphCardinalityModel.scala index 8f7d59f19ef23..84226edb5ace5 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/QueryGraphCardinalityModel.scala +++ b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/QueryGraphCardinalityModel.scala @@ -21,7 +21,7 @@ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical.cardinality import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.Metrics.QueryGraphCardinalityModel import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.cardinality.assumeIndependence.AssumeIndependenceQueryGraphCardinalityModel -import org.neo4j.cypher.internal.compiler.v3_4.spi.GraphStatistics +import org.neo4j.cypher.internal.planner.v3_4.spi.GraphStatistics object QueryGraphCardinalityModel { def default(statistics: GraphStatistics): QueryGraphCardinalityModel = diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/SelectivityCombiner.scala b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/SelectivityCombiner.scala index 9ea958b30a47b..2948d3adc3350 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/SelectivityCombiner.scala +++ b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/SelectivityCombiner.scala @@ -21,7 +21,7 @@ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical.cardinality import java.math -import org.neo4j.cypher.internal.ir.v3_4.Selectivity +import org.neo4j.cypher.internal.util.v3_4.Selectivity trait SelectivityCombiner { diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/SelectivityEstimator.scala b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/SelectivityEstimator.scala index a0eb77960572d..9e548e8ee3658 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/SelectivityEstimator.scala +++ b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/SelectivityEstimator.scala @@ -19,10 +19,11 @@ */ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical.cardinality -import org.neo4j.cypher.internal.compiler.v3_4.spi.GraphStatistics import org.neo4j.cypher.internal.v3_4.expressions.Expression import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable -import org.neo4j.cypher.internal.ir.v3_4.{Selections, Selectivity} +import org.neo4j.cypher.internal.ir.v3_4.Selections +import org.neo4j.cypher.internal.planner.v3_4.spi.GraphStatistics +import org.neo4j.cypher.internal.util.v3_4.Selectivity trait SelectivityEstimator extends (Expression => Selectivity) { self: SelectivityEstimator => diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/TokenSpec.scala b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/TokenSpec.scala index 0232253958329..a965ba97b4a6b 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/TokenSpec.scala +++ b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/TokenSpec.scala @@ -19,7 +19,7 @@ */ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical.cardinality -import org.neo4j.cypher.internal.util.v3_4.InternalException +import org.neo4j.cypher.internal.util.v3_4.{InternalException, LabelId, NameId, RelTypeId} import org.neo4j.cypher.internal.frontend.v3_4._ import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable import org.neo4j.cypher.internal.ir.v3_4.IdName diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/assumeIndependence/AssumeIndependenceQueryGraphCardinalityModel.scala b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/assumeIndependence/AssumeIndependenceQueryGraphCardinalityModel.scala index 4d30a692da0cb..17aca6bc356a3 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/assumeIndependence/AssumeIndependenceQueryGraphCardinalityModel.scala +++ b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/assumeIndependence/AssumeIndependenceQueryGraphCardinalityModel.scala @@ -21,9 +21,10 @@ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical.cardinality.assu import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.Metrics.{QueryGraphCardinalityModel, QueryGraphSolverInput} import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.cardinality.{ExpressionSelectivityCalculator, SelectivityCombiner} -import org.neo4j.cypher.internal.compiler.v3_4.spi.GraphStatistics import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable import org.neo4j.cypher.internal.ir.v3_4.{QueryGraph, _} +import org.neo4j.cypher.internal.planner.v3_4.spi.GraphStatistics +import org.neo4j.cypher.internal.util.v3_4.{Cardinality, Selectivity} import org.neo4j.cypher.internal.v3_4.expressions.LabelName case class AssumeIndependenceQueryGraphCardinalityModel(stats: GraphStatistics, combiner: SelectivityCombiner) diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/assumeIndependence/PatternSelectivityCalculator.scala b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/assumeIndependence/PatternSelectivityCalculator.scala index 6005852a90925..1a10ceedc4bbe 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/assumeIndependence/PatternSelectivityCalculator.scala +++ b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/assumeIndependence/PatternSelectivityCalculator.scala @@ -20,10 +20,10 @@ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical.cardinality.assumeIndependence import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.cardinality._ -import org.neo4j.cypher.internal.compiler.v3_4.spi.GraphStatistics -import org.neo4j.cypher.internal.frontend.v3_4._ import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable import org.neo4j.cypher.internal.ir.v3_4.{Selections, _} +import org.neo4j.cypher.internal.planner.v3_4.spi.GraphStatistics +import org.neo4j.cypher.internal.util.v3_4.{Cardinality, LabelId, RelTypeId, Selectivity} import org.neo4j.cypher.internal.v3_4.expressions.{LabelName, RelTypeName, SemanticDirection} trait Pattern2Selectivity { diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/patternExpressionRewriter.scala b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/patternExpressionRewriter.scala index 00683cb9a0500..08e34c97d2bfb 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/patternExpressionRewriter.scala +++ b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/patternExpressionRewriter.scala @@ -21,12 +21,12 @@ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical import org.neo4j.cypher.internal.util.v3_4.Foldable._ import org.neo4j.cypher.internal.util.v3_4.{Rewriter, topDown} -import org.neo4j.cypher.internal.compiler.v3_4.ast.NestedPlanExpression import org.neo4j.cypher.internal.frontend.v3_4.ast._ import org.neo4j.cypher.internal.frontend.v3_4.ast.rewriters.projectNamedPaths import org.neo4j.cypher.internal.frontend.v3_4.{IdentityMap, ast} import org.neo4j.cypher.internal.ir.v3_4.IdName import org.neo4j.cypher.internal.v3_4.expressions._ +import org.neo4j.cypher.internal.v3_4.logical.plans.NestedPlanExpression /* Rewrite pattern expressions and pattern comprehensions to nested plan expressions by planning them using the given context. diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/plans/Sargable.scala b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/plans/Sargable.scala index 0abc0806e7f1d..abc8ea6bd8597 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/plans/Sargable.scala +++ b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/plans/Sargable.scala @@ -19,10 +19,7 @@ */ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical.plans -import org.neo4j.cypher.internal.compiler.v3_4._ -import org.neo4j.cypher.internal.compiler.v3_4.ast.{InequalitySeekRangeWrapper, PrefixSeekRangeWrapper} import org.neo4j.cypher.internal.v3_4.logical.plans._ -import org.neo4j.cypher.internal.frontend.v3_4.{ExclusiveBound, InclusiveBound} import org.neo4j.cypher.internal.v3_4.expressions._ import org.neo4j.cypher.internal.v3_4.functions diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/AbstractIndexSeekLeafPlanner.scala b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/AbstractIndexSeekLeafPlanner.scala index b4f86967b4a90..be8c68d7ffdce 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/AbstractIndexSeekLeafPlanner.scala +++ b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/AbstractIndexSeekLeafPlanner.scala @@ -19,15 +19,15 @@ */ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical.steps -import org.neo4j.cypher.internal.compiler.v3_4.IndexDescriptor import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.LeafPlansForVariable.maybeLeafPlans import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.plans._ import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.{LeafPlanFromExpressions, LeafPlanner, LeafPlansForVariable, LogicalPlanningContext} import org.neo4j.cypher.internal.frontend.v3_4.ast._ import org.neo4j.cypher.internal.frontend.v3_4.notification.IndexLookupUnfulfillableNotification -import org.neo4j.cypher.internal.frontend.v3_4.LabelId import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable import org.neo4j.cypher.internal.ir.v3_4.{IdName, QueryGraph} +import org.neo4j.cypher.internal.planner.v3_4.spi.IndexDescriptor +import org.neo4j.cypher.internal.util.v3_4.LabelId import org.neo4j.cypher.internal.v3_4.logical.plans._ import org.neo4j.cypher.internal.v3_4.expressions._ diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/IndexSeekLeafPlanner.scala b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/IndexSeekLeafPlanner.scala index 0a8862d289d6f..7eedd1a0a12d1 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/IndexSeekLeafPlanner.scala +++ b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/IndexSeekLeafPlanner.scala @@ -19,12 +19,12 @@ */ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical.steps -import org.neo4j.cypher.internal.compiler.v3_4.IndexDescriptor import org.neo4j.cypher.internal.compiler.v3_4.planner.logical._ import org.neo4j.cypher.internal.frontend.v3_4.ast._ import org.neo4j.cypher.internal.ir.v3_4.IdName +import org.neo4j.cypher.internal.planner.v3_4.spi.IndexDescriptor import org.neo4j.cypher.internal.v3_4.logical.plans.{LogicalPlan, QueryExpression} -import org.neo4j.cypher.internal.v3_4.expressions.Expression +import org.neo4j.cypher.internal.v3_4.expressions.{Expression, LabelToken, PropertyKeyToken} object indexSeekLeafPlanner extends AbstractIndexSeekLeafPlanner { protected def constructPlan(idName: IdName, diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/LogicalPlanProducer.scala b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/LogicalPlanProducer.scala index 2cef3038c74cb..cff40b345b44b 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/LogicalPlanProducer.scala +++ b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/LogicalPlanProducer.scala @@ -188,8 +188,8 @@ case class LogicalPlanProducer(cardinalityModel: CardinalityModel) extends ListS } def planNodeIndexSeek(idName: IdName, - label: ast.LabelToken, - propertyKeys: Seq[ast.PropertyKeyToken], + label: LabelToken, + propertyKeys: Seq[PropertyKeyToken], valueExpr: QueryExpression[Expression], solvedPredicates: Seq[Expression] = Seq.empty, solvedHint: Option[UsingIndexHint] = None, @@ -204,8 +204,8 @@ case class LogicalPlanProducer(cardinalityModel: CardinalityModel) extends ListS } def planNodeIndexScan(idName: IdName, - label: ast.LabelToken, - propertyKey: ast.PropertyKeyToken, + label: LabelToken, + propertyKey: PropertyKeyToken, solvedPredicates: Seq[Expression] = Seq.empty, solvedHint: Option[UsingIndexHint] = None, argumentIds: Set[IdName])(implicit context: LogicalPlanningContext): LogicalPlan = { @@ -219,8 +219,8 @@ case class LogicalPlanProducer(cardinalityModel: CardinalityModel) extends ListS } def planNodeIndexContainsScan(idName: IdName, - label: ast.LabelToken, - propertyKey: ast.PropertyKeyToken, + label: LabelToken, + propertyKey: PropertyKeyToken, solvedPredicates: Seq[Expression], solvedHint: Option[UsingIndexHint], valueExpr: Expression, @@ -235,8 +235,8 @@ case class LogicalPlanProducer(cardinalityModel: CardinalityModel) extends ListS } def planNodeIndexEndsWithScan(idName: IdName, - label: ast.LabelToken, - propertyKey: ast.PropertyKeyToken, + label: LabelToken, + propertyKey: PropertyKeyToken, solvedPredicates: Seq[Expression], solvedHint: Option[UsingIndexHint], valueExpr: Expression, @@ -266,8 +266,8 @@ case class LogicalPlanProducer(cardinalityModel: CardinalityModel) extends ListS } def planNodeUniqueIndexSeek(idName: IdName, - label: ast.LabelToken, - propertyKeys: Seq[ast.PropertyKeyToken], + label: LabelToken, + propertyKeys: Seq[PropertyKeyToken], valueExpr: QueryExpression[Expression], solvedPredicates: Seq[Expression] = Seq.empty, solvedHint: Option[UsingIndexHint] = None, diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/PatternExpressionSolver.scala b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/PatternExpressionSolver.scala index 5b13346848483..5d1a2cb8a49c4 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/PatternExpressionSolver.scala +++ b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/PatternExpressionSolver.scala @@ -19,10 +19,9 @@ */ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical.steps -import org.neo4j.cypher.internal.util.v3_4.{Rewriter, topDown} +import org.neo4j.cypher.internal.util.v3_4.{FreshIdNameGenerator, Rewriter, UnNamedNameGenerator, topDown} import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.{LogicalPlanningContext, patternExpressionRewriter} import org.neo4j.cypher.internal.frontend.v3_4.ast.rewriters.{PatternExpressionPatternElementNamer, projectNamedPaths} -import org.neo4j.cypher.internal.frontend.v3_4.helpers.{FreshIdNameGenerator, UnNamedNameGenerator} import org.neo4j.cypher.internal.ir.v3_4.{IdName, QueryGraph} import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlan import org.neo4j.cypher.internal.v3_4.expressions._ diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/getDegreeRewriter.scala b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/getDegreeRewriter.scala index 0af4d8b3aeb02..1421365deab01 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/getDegreeRewriter.scala +++ b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/getDegreeRewriter.scala @@ -20,10 +20,10 @@ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical.steps import org.neo4j.cypher.internal.util.v3_4.{Rewriter, bottomUp} -import org.neo4j.cypher.internal.compiler.v3_4.ast.NestedPlanExpression import org.neo4j.cypher.internal.frontend.v3_4.helpers.calculateUsingGetDegree import org.neo4j.cypher.internal.v3_4.expressions._ import org.neo4j.cypher.internal.v3_4.functions +import org.neo4j.cypher.internal.v3_4.logical.plans.NestedPlanExpression case object getDegreeRewriter extends Rewriter { diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/mergeUniqueIndexSeekLeafPlanner.scala b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/mergeUniqueIndexSeekLeafPlanner.scala index 4154b4a0eb641..3731bb8cfd08c 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/mergeUniqueIndexSeekLeafPlanner.scala +++ b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/mergeUniqueIndexSeekLeafPlanner.scala @@ -19,12 +19,12 @@ */ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical.steps -import org.neo4j.cypher.internal.compiler.v3_4.IndexDescriptor import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.{LeafPlansForVariable, LogicalPlanningContext} import org.neo4j.cypher.internal.frontend.v3_4.ast._ import org.neo4j.cypher.internal.ir.v3_4.{IdName, QueryGraph} +import org.neo4j.cypher.internal.planner.v3_4.spi.IndexDescriptor import org.neo4j.cypher.internal.v3_4.logical.plans.{LogicalPlan, QueryExpression} -import org.neo4j.cypher.internal.v3_4.expressions.Expression +import org.neo4j.cypher.internal.v3_4.expressions.{Expression, LabelToken, PropertyKeyToken} /* * Plan the following type of plan diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/planShortestPaths.scala b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/planShortestPaths.scala index 1cafab82b3ff4..89c5024023c0f 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/planShortestPaths.scala +++ b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/planShortestPaths.scala @@ -20,10 +20,9 @@ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical.steps import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.LogicalPlanningContext -import org.neo4j.cypher.internal.util.v3_4.{ExhaustiveShortestPathForbiddenException, InternalException} +import org.neo4j.cypher.internal.util.v3_4.{ExhaustiveShortestPathForbiddenException, FreshIdNameGenerator, InternalException} import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.idp.expandSolverStep import org.neo4j.cypher.internal.frontend.v3_4.ast.rewriters.projectNamedPaths -import org.neo4j.cypher.internal.frontend.v3_4.helpers.FreshIdNameGenerator import org.neo4j.cypher.internal.frontend.v3_4.notification.ExhaustiveShortestPathForbiddenNotification import org.neo4j.cypher.internal.ir.v3_4.{IdName, Predicate, ShortestPathPattern, _} import org.neo4j.cypher.internal.v3_4.logical.plans.{Ascending, DoNotIncludeTies, IncludeTies, LogicalPlan} diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/selectPatternPredicates.scala b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/selectPatternPredicates.scala index de9f5fe303c5e..8e2d4c23f07d9 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/selectPatternPredicates.scala +++ b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/selectPatternPredicates.scala @@ -21,8 +21,8 @@ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical.steps import org.neo4j.cypher.internal.compiler.v3_4.planner.logical._ import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlan -import org.neo4j.cypher.internal.frontend.v3_4.helpers.FreshIdNameGenerator import org.neo4j.cypher.internal.ir.v3_4.{IdName, QueryGraph} +import org.neo4j.cypher.internal.util.v3_4.FreshIdNameGenerator import org.neo4j.cypher.internal.v3_4.expressions._ case object selectPatternPredicates extends CandidateGenerator[LogicalPlan] { diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/uniqueIndexSeekLeafPlanner.scala b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/uniqueIndexSeekLeafPlanner.scala index 1d8e7c1c99b88..283c33a99bd7d 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/uniqueIndexSeekLeafPlanner.scala +++ b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/uniqueIndexSeekLeafPlanner.scala @@ -19,11 +19,11 @@ */ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical.steps -import org.neo4j.cypher.internal.compiler.v3_4.IndexDescriptor import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.LogicalPlanningContext -import org.neo4j.cypher.internal.frontend.v3_4.ast.{LabelToken, PropertyKeyToken, UsingIndexHint} +import org.neo4j.cypher.internal.frontend.v3_4.ast.UsingIndexHint import org.neo4j.cypher.internal.ir.v3_4.IdName -import org.neo4j.cypher.internal.v3_4.expressions.Expression +import org.neo4j.cypher.internal.planner.v3_4.spi.IndexDescriptor +import org.neo4j.cypher.internal.v3_4.expressions.{Expression, LabelToken, PropertyKeyToken} import org.neo4j.cypher.internal.v3_4.logical.plans.{LogicalPlan, QueryExpression} object uniqueIndexSeekLeafPlanner extends AbstractIndexSeekLeafPlanner { diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/verifyBestPlan.scala b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/verifyBestPlan.scala index 022a0b31e6ad2..a5c4d261ac845 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/verifyBestPlan.scala +++ b/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/verifyBestPlan.scala @@ -21,10 +21,10 @@ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical.steps import org.neo4j.cypher.internal.util.v3_4.{HintException, IndexHintException, InternalException, JoinHintException} import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.{LogicalPlanningContext, PlanTransformer} -import org.neo4j.cypher.internal.compiler.v3_4.spi.PlanContext import org.neo4j.cypher.internal.frontend.v3_4.ast._ import org.neo4j.cypher.internal.frontend.v3_4.notification.{IndexHintUnfulfillableNotification, JoinHintUnfulfillableNotification} import org.neo4j.cypher.internal.ir.v3_4.PlannerQuery +import org.neo4j.cypher.internal.planner.v3_4.spi.PlanContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlan import org.neo4j.cypher.internal.v3_4.expressions.LabelName diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/NotImplementedPlanContext.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/NotImplementedPlanContext.scala index c9a242d9d38fa..987cecab5c783 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/NotImplementedPlanContext.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/NotImplementedPlanContext.scala @@ -19,8 +19,8 @@ */ package org.neo4j.cypher.internal.compiler.v3_4 -import org.neo4j.cypher.internal.compiler.v3_4.spi._ import org.neo4j.cypher.internal.frontend.v3_4.phases.InternalNotificationLogger +import org.neo4j.cypher.internal.planner.v3_4.spi.{GraphStatistics, IndexDescriptor, PlanContext} import org.neo4j.cypher.internal.v3_4.logical.plans.{ProcedureSignature, QualifiedName, UserFunctionSignature} class NotImplementedPlanContext extends PlanContext { diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/SemanticStateTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/SemanticStateTest.scala index 5b5e88cac37b1..9639937895f77 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/SemanticStateTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/SemanticStateTest.scala @@ -21,10 +21,9 @@ package org.neo4j.cypher.internal.compiler.v3_4 import org.neo4j.cypher.internal.util.v3_4.DummyPosition import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.frontend.v3_4.ast._ import org.neo4j.cypher.internal.frontend.v3_4.semantics.{SemanticError, SemanticState} import org.neo4j.cypher.internal.util.v3_4.symbols._ -import org.neo4j.cypher.internal.v3_4.expressions.{Property, PropertyKeyName, Variable} +import org.neo4j.cypher.internal.v3_4.expressions.{DummyExpression, Property, PropertyKeyName, Variable} class SemanticStateTest extends CypherFunSuite { diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/ast/rewriters/NamespacerTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/ast/rewriters/NamespacerTest.scala index f8dd2d184f3a9..2fb3f6c617b5f 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/ast/rewriters/NamespacerTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/ast/rewriters/NamespacerTest.scala @@ -29,6 +29,7 @@ import org.neo4j.cypher.internal.frontend.v3_4.helpers.StatementHelper._ import org.neo4j.cypher.internal.frontend.v3_4.helpers.rewriting.RewriterStepSequencer import org.neo4j.cypher.internal.frontend.v3_4.rewriters.Never import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticFeature +import org.neo4j.cypher.internal.planner.v3_4.spi.IDPPlannerName import org.neo4j.cypher.internal.util.v3_4.inSequence import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/CheckForUnresolvedTokensTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/CheckForUnresolvedTokensTest.scala index 57f3a1f895265..c560de0906d20 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/CheckForUnresolvedTokensTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/CheckForUnresolvedTokensTest.scala @@ -19,8 +19,7 @@ */ package org.neo4j.cypher.internal.compiler.v3_4.planner -import org.neo4j.cypher.internal.util.v3_4.InputPosition -import org.neo4j.cypher.internal.compiler.v3_4.IDPPlannerName +import org.neo4j.cypher.internal.util.v3_4.{InputPosition, LabelId, PropertyKeyId, RelTypeId} import org.neo4j.cypher.internal.compiler.v3_4.phases.LogicalPlanState import org.neo4j.cypher.internal.compiler.v3_4.test_helpers.ContextHelper import org.neo4j.cypher.internal.frontend.v3_4.ast.Query @@ -29,6 +28,7 @@ import org.neo4j.cypher.internal.frontend.v3_4.phases.RecordingNotificationLogge import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.cypher.internal.frontend.v3_4._ import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable +import org.neo4j.cypher.internal.planner.v3_4.spi.IDPPlannerName class CheckForUnresolvedTokensTest extends CypherFunSuite with AstRewritingTestSupport { diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/DbStructureGraphStatistics.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/DbStructureGraphStatistics.scala index 4cb919bb9947d..94922cb68bebe 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/DbStructureGraphStatistics.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/DbStructureGraphStatistics.scala @@ -19,15 +19,13 @@ */ package org.neo4j.cypher.internal.compiler.v3_4.planner -import org.neo4j.cypher.internal.compiler.v3_4.IndexDescriptor -import org.neo4j.cypher.internal.compiler.v3_4.spi.GraphStatistics -import org.neo4j.cypher.internal.frontend.v3_4.{LabelId, NameId, RelTypeId} -import org.neo4j.cypher.internal.ir.v3_4.{Cardinality, Selectivity} +import org.neo4j.cypher.internal.planner.v3_4.spi.{GraphStatistics, IndexDescriptor} +import org.neo4j.cypher.internal.util.v3_4.{Cardinality, LabelId, RelTypeId, Selectivity} import org.neo4j.kernel.impl.util.dbstructure.DbStructureLookup class DbStructureGraphStatistics(lookup: DbStructureLookup) extends GraphStatistics { - import NameId._ + import org.neo4j.cypher.internal.util.v3_4.NameId._ override def nodesWithLabelCardinality( label: Option[LabelId] ): Cardinality = Cardinality(lookup.nodesWithLabelCardinality(label)) diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/DbStructureLogicalPlanningConfiguration.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/DbStructureLogicalPlanningConfiguration.scala index e675f1a4f57d9..5391059177ff2 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/DbStructureLogicalPlanningConfiguration.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/DbStructureLogicalPlanningConfiguration.scala @@ -21,9 +21,9 @@ package org.neo4j.cypher.internal.compiler.v3_4.planner import java.util -import org.neo4j.cypher.internal.compiler.v3_4.spi.{GraphStatistics, StatisticsCompletingGraphStatistics} import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable -import org.neo4j.cypher.internal.frontend.v3_4.{LabelId, PropertyKeyId, RelTypeId} +import org.neo4j.cypher.internal.planner.v3_4.spi.{GraphStatistics, StatisticsCompletingGraphStatistics} +import org.neo4j.cypher.internal.util.v3_4.{LabelId, PropertyKeyId, RelTypeId} import org.neo4j.helpers.collection.{Pair, Visitable} import org.neo4j.kernel.impl.util.dbstructure.{DbStructureCollector, DbStructureLookup, DbStructureVisitor} diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/HardcodedGraphStatistics.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/HardcodedGraphStatistics.scala similarity index 82% rename from community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/HardcodedGraphStatistics.scala rename to community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/HardcodedGraphStatistics.scala index f589294b204ee..b4f95d9030553 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/HardcodedGraphStatistics.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/HardcodedGraphStatistics.scala @@ -17,16 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compiler.v3_4 +package org.neo4j.cypher.internal.compiler.v3_4.planner -import org.neo4j.cypher.internal.compiler.v3_4.spi.GraphStatistics -import org.neo4j.cypher.internal.frontend.v3_4.{LabelId, RelTypeId} -import org.neo4j.cypher.internal.ir.v3_4.{Cardinality, Selectivity} +import org.neo4j.cypher.internal.planner.v3_4.spi.{GraphStatistics, IndexDescriptor} +import org.neo4j.cypher.internal.util.v3_4.{Cardinality, LabelId, RelTypeId, Selectivity} - -case object HardcodedGraphStatistics extends HardcodedGraphStatisticsValues - -class HardcodedGraphStatisticsValues extends GraphStatistics { +case object HardcodedGraphStatistics extends GraphStatistics { val NODES_CARDINALITY = Cardinality(10000) val NODES_WITH_LABEL_SELECTIVITY = Selectivity.of(0.2).get val NODES_WITH_LABEL_CARDINALITY = NODES_CARDINALITY * NODES_WITH_LABEL_SELECTIVITY diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/LogicalPlanningConfiguration.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/LogicalPlanningConfiguration.scala index f118e4ea00ef6..b7f1c7082d666 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/LogicalPlanningConfiguration.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/LogicalPlanningConfiguration.scala @@ -21,10 +21,10 @@ package org.neo4j.cypher.internal.compiler.v3_4.planner import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.ExpressionEvaluator import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.Metrics._ -import org.neo4j.cypher.internal.compiler.v3_4.spi.GraphStatistics import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable -import org.neo4j.cypher.internal.frontend.v3_4.{LabelId, PropertyKeyId} -import org.neo4j.cypher.internal.ir.v3_4.{Cardinality, Cost, PlannerQuery, QueryGraph} +import org.neo4j.cypher.internal.ir.v3_4.{PlannerQuery, QueryGraph} +import org.neo4j.cypher.internal.planner.v3_4.spi.GraphStatistics +import org.neo4j.cypher.internal.util.v3_4.{Cardinality, Cost, LabelId, PropertyKeyId} import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlan trait LogicalPlanningConfiguration { diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/LogicalPlanningTestSupport.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/LogicalPlanningTestSupport.scala index 657a10065a136..62555b34ce277 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/LogicalPlanningTestSupport.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/LogicalPlanningTestSupport.scala @@ -28,7 +28,6 @@ import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.Metrics._ import org.neo4j.cypher.internal.compiler.v3_4.planner.logical._ import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.idp._ import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.steps.LogicalPlanProducer -import org.neo4j.cypher.internal.compiler.v3_4.spi.{GraphStatistics, PlanContext} import org.neo4j.cypher.internal.compiler.v3_4.test_helpers.ContextHelper import org.neo4j.cypher.internal.frontend.v3_4._ import org.neo4j.cypher.internal.frontend.v3_4.ast._ @@ -42,6 +41,8 @@ import org.neo4j.cypher.internal.util.v3_4.test_helpers.{CypherFunSuite, CypherT import org.neo4j.cypher.internal.frontend.v3_4.rewriters.Never import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable import org.neo4j.cypher.internal.ir.v3_4._ +import org.neo4j.cypher.internal.planner.v3_4.spi.{CostBasedPlannerName, GraphStatistics, PlanContext} +import org.neo4j.cypher.internal.util.v3_4.{Cardinality, LabelId, PropertyKeyId, RelTypeId} import org.neo4j.cypher.internal.v3_4.logical.plans._ import org.neo4j.cypher.internal.v3_4.expressions._ diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/LogicalPlanningTestSupport2.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/LogicalPlanningTestSupport2.scala index acfdb1929ac93..eca21f1d91885 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/LogicalPlanningTestSupport2.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/LogicalPlanningTestSupport2.scala @@ -29,9 +29,7 @@ import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.idp._ import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.plans.rewriter.unnestApply import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.steps.LogicalPlanProducer import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.{LogicalPlanningContext, _} -import org.neo4j.cypher.internal.compiler.v3_4.spi._ import org.neo4j.cypher.internal.compiler.v3_4.test_helpers.ContextHelper -import org.neo4j.cypher.internal.frontend.v3_4.PropertyKeyId import org.neo4j.cypher.internal.frontend.v3_4.ast._ import org.neo4j.cypher.internal.frontend.v3_4.ast.rewriters._ import org.neo4j.cypher.internal.frontend.v3_4.helpers.fixedPoint @@ -42,6 +40,8 @@ import org.neo4j.cypher.internal.frontend.v3_4.phases._ import org.neo4j.cypher.internal.frontend.v3_4.rewriters.Never import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable import org.neo4j.cypher.internal.ir.v3_4._ +import org.neo4j.cypher.internal.planner.v3_4.spi.{GraphStatistics, IDPPlannerName, IndexDescriptor} +import org.neo4j.cypher.internal.util.v3_4.{Cardinality, PropertyKeyId} import org.neo4j.cypher.internal.v3_4.logical.plans.{LogicalPlan, ProduceResult} import org.neo4j.cypher.internal.v3_4.expressions.PatternExpression import org.neo4j.helpers.collection.Visitable diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/RealLogicalPlanningConfiguration.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/RealLogicalPlanningConfiguration.scala index ba442e8569252..f0357435892b3 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/RealLogicalPlanningConfiguration.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/RealLogicalPlanningConfiguration.scala @@ -19,12 +19,12 @@ */ package org.neo4j.cypher.internal.compiler.v3_4.planner -import org.neo4j.cypher.internal.compiler.v3_4.HardcodedGraphStatistics import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.Metrics.{CardinalityModel, QueryGraphCardinalityModel, QueryGraphSolverInput} import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.{CardinalityCostModel, ExpressionEvaluator, Metrics, StatisticsBackedCardinalityModel} -import org.neo4j.cypher.internal.compiler.v3_4.spi.GraphStatistics import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable -import org.neo4j.cypher.internal.ir.v3_4.{Cardinality, Cost, PlannerQuery, QueryGraph} +import org.neo4j.cypher.internal.ir.v3_4.{PlannerQuery, QueryGraph} +import org.neo4j.cypher.internal.planner.v3_4.spi.GraphStatistics +import org.neo4j.cypher.internal.util.v3_4.{Cardinality, Cost} import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlan case class RealLogicalPlanningConfiguration() diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/ResolveTokensTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/ResolveTokensTest.scala index 26bd620a86794..a598d61a944c2 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/ResolveTokensTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/ResolveTokensTest.scala @@ -21,10 +21,11 @@ package org.neo4j.cypher.internal.compiler.v3_4.planner import org.mockito.Mockito._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.compiler.v3_4.spi.PlanContext import org.neo4j.cypher.internal.frontend.v3_4._ import org.neo4j.cypher.internal.frontend.v3_4.ast.{Match, Query, SingleQuery, Where, _} import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable +import org.neo4j.cypher.internal.planner.v3_4.spi.PlanContext +import org.neo4j.cypher.internal.util.v3_4.{LabelId, PropertyKeyId, RelTypeId} import org.neo4j.cypher.internal.v3_4.expressions._ class ResolveTokensTest extends CypherFunSuite { diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/StubbedLogicalPlanningConfiguration.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/StubbedLogicalPlanningConfiguration.scala index 6b868bb3bf770..344921093442d 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/StubbedLogicalPlanningConfiguration.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/StubbedLogicalPlanningConfiguration.scala @@ -21,10 +21,10 @@ package org.neo4j.cypher.internal.compiler.v3_4.planner import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.ExpressionEvaluator import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.Metrics.{CardinalityModel, QueryGraphCardinalityModel, QueryGraphSolverInput} -import org.neo4j.cypher.internal.compiler.v3_4.spi.GraphStatistics -import org.neo4j.cypher.internal.frontend.v3_4.LabelId import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable import org.neo4j.cypher.internal.ir.v3_4._ +import org.neo4j.cypher.internal.planner.v3_4.spi.GraphStatistics +import org.neo4j.cypher.internal.util.v3_4.{Cardinality, Cost, LabelId, Selectivity} import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlan import org.neo4j.cypher.internal.v3_4.expressions.{Expression, HasLabels} diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/CardinalityCostModelTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/CardinalityCostModelTest.scala index 4b61bdc650477..74df84931239e 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/CardinalityCostModelTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/CardinalityCostModelTest.scala @@ -23,7 +23,8 @@ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.cypher.internal.compiler.v3_4.planner.LogicalPlanningTestSupport import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.Metrics.QueryGraphSolverInput import org.neo4j.cypher.internal.frontend.v3_4.ast.AstConstructionTestSupport -import org.neo4j.cypher.internal.ir.v3_4.{Cost, LazyMode} +import org.neo4j.cypher.internal.ir.v3_4.LazyMode +import org.neo4j.cypher.internal.util.v3_4.Cost import org.neo4j.cypher.internal.v3_4.expressions.{HasLabels, LabelName, SemanticDirection} import org.neo4j.cypher.internal.v3_4.logical.plans._ diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/CardinalitySupport.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/CardinalitySupport.scala index 6503f50eb4b8a..a4ef59d328f38 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/CardinalitySupport.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/CardinalitySupport.scala @@ -19,7 +19,7 @@ */ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical -import org.neo4j.cypher.internal.ir.v3_4.Cardinality +import org.neo4j.cypher.internal.util.v3_4.Cardinality import org.scalautils.{Equality, Tolerance, TripleEquals} object CardinalitySupport { diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/DefaultQueryPlannerTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/DefaultQueryPlannerTest.scala index fd429f84d8312..51ee5b9f23192 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/DefaultQueryPlannerTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/DefaultQueryPlannerTest.scala @@ -26,11 +26,11 @@ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.cypher.internal.compiler.v3_4.planner._ import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.Metrics.QueryGraphSolverInput import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.steps.LogicalPlanProducer -import org.neo4j.cypher.internal.compiler.v3_4.spi.PlanContext import org.neo4j.cypher.internal.frontend.v3_4.ast.{ASTAnnotationMap, Hint} import org.neo4j.cypher.internal.frontend.v3_4.phases.devNullLogger import org.neo4j.cypher.internal.frontend.v3_4.semantics.{ExpressionTypeInfo, SemanticTable} import org.neo4j.cypher.internal.ir.v3_4._ +import org.neo4j.cypher.internal.planner.v3_4.spi.PlanContext import org.neo4j.cypher.internal.v3_4.logical.plans.{LogicalPlan, ProduceResult, Projection, SingleRow} import org.neo4j.cypher.internal.v3_4.expressions._ diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/ExpandPlanningIntegrationTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/ExpandPlanningIntegrationTest.scala index 18404b7818d7a..8d9c6db8f4f42 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/ExpandPlanningIntegrationTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/ExpandPlanningIntegrationTest.scala @@ -23,8 +23,8 @@ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.cypher.internal.compiler.v3_4.planner.BeLikeMatcher._ import org.neo4j.cypher.internal.compiler.v3_4.planner.LogicalPlanningTestSupport2 import org.neo4j.cypher.internal.frontend.v3_4.ast._ -import org.neo4j.cypher.internal.frontend.v3_4.{LabelId, PropertyKeyId} -import org.neo4j.cypher.internal.ir.v3_4.{Cardinality, IdName, PlannerQuery, RegularPlannerQuery} +import org.neo4j.cypher.internal.ir.v3_4.{IdName, PlannerQuery, RegularPlannerQuery} +import org.neo4j.cypher.internal.util.v3_4.{Cardinality, LabelId, PropertyKeyId} import org.neo4j.cypher.internal.v3_4.logical.plans._ import org.neo4j.cypher.internal.v3_4.expressions._ diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/LeafPlanningIntegrationTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/LeafPlanningIntegrationTest.scala index 4bda11a91244d..658dd6f0d1cc1 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/LeafPlanningIntegrationTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/LeafPlanningIntegrationTest.scala @@ -19,19 +19,16 @@ */ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical -import org.neo4j.cypher.internal.compiler.v3_4._ -import org.neo4j.cypher.internal.compiler.v3_4.ast.{InequalitySeekRangeWrapper, PrefixSeekRangeWrapper} +import org.neo4j.cypher.internal.util.v3_4._ +import org.neo4j.cypher.internal.util.v3_4.symbols._ +import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.cypher.internal.compiler.v3_4.planner.BeLikeMatcher._ import org.neo4j.cypher.internal.compiler.v3_4.planner.LogicalPlanningTestSupport2 import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.Metrics.QueryGraphSolverInput import org.neo4j.cypher.internal.frontend.v3_4.ast._ -import org.neo4j.cypher.internal.frontend.v3_4.{ExclusiveBound, InclusiveBound, LabelId, PropertyKeyId} -import org.neo4j.cypher.internal.ir.v3_4.{Cost, IdName} -import org.neo4j.cypher.internal.util.v3_4.NonEmptyList -import org.neo4j.cypher.internal.util.v3_4.symbols._ -import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.v3_4.expressions._ +import org.neo4j.cypher.internal.ir.v3_4.IdName import org.neo4j.cypher.internal.v3_4.logical.plans.{Union, _} +import org.neo4j.cypher.internal.v3_4.expressions._ class LeafPlanningIntegrationTest extends CypherFunSuite with LogicalPlanningTestSupport2 with AstConstructionTestSupport { diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/OptionalMatchPlanningIntegrationTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/OptionalMatchPlanningIntegrationTest.scala index b3bedbe661f4e..da787d71a35de 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/OptionalMatchPlanningIntegrationTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/OptionalMatchPlanningIntegrationTest.scala @@ -23,7 +23,8 @@ import org.neo4j.cypher.internal.util.v3_4.Foldable._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.cypher.internal.compiler.v3_4.planner.LogicalPlanningTestSupport2 import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.plans.rewriter.unnestOptional -import org.neo4j.cypher.internal.ir.v3_4.{Cardinality, IdName, SimplePatternLength} +import org.neo4j.cypher.internal.ir.v3_4.{IdName, SimplePatternLength} +import org.neo4j.cypher.internal.util.v3_4.Cardinality import org.neo4j.cypher.internal.v3_4.expressions._ import org.neo4j.cypher.internal.v3_4.logical.plans.{Limit, _} import org.neo4j.kernel.impl.util.dbstructure.DbStructureLargeOptionalMatchStructure diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/PatternPredicatePlanningIntegrationTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/PatternPredicatePlanningIntegrationTest.scala index a5dcbbc7e8928..801c5eb055fed 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/PatternPredicatePlanningIntegrationTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/PatternPredicatePlanningIntegrationTest.scala @@ -20,13 +20,12 @@ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.compiler.v3_4.ast.NestedPlanExpression import org.neo4j.cypher.internal.compiler.v3_4.planner.BeLikeMatcher._ import org.neo4j.cypher.internal.compiler.v3_4.planner._ import org.neo4j.cypher.internal.ir.v3_4.{QueryGraph, RegularPlannerQuery} import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection.OUTGOING import org.neo4j.cypher.internal.v3_4.expressions._ -import org.neo4j.cypher.internal.v3_4.logical.plans._ +import org.neo4j.cypher.internal.v3_4.logical.plans.{NestedPlanExpression, _} class PatternPredicatePlanningIntegrationTest extends CypherFunSuite with LogicalPlanningTestSupport2 { diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/PickBestPlanUsingHintsAndCostTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/PickBestPlanUsingHintsAndCostTest.scala index 9b7dc7b3187bc..fe828afa9f148 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/PickBestPlanUsingHintsAndCostTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/PickBestPlanUsingHintsAndCostTest.scala @@ -24,7 +24,8 @@ import org.neo4j.cypher.internal.compiler.v3_4.planner.LogicalPlanningTestSuppor import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.steps.{LogicalPlanProducer, pickBestPlanUsingHintsAndCost} import org.neo4j.cypher.internal.frontend.v3_4.ast.UsingIndexHint import org.neo4j.cypher.internal.frontend.v3_4.phases.devNullLogger -import org.neo4j.cypher.internal.ir.v3_4.{CardinalityEstimation, Cost, PlannerQuery} +import org.neo4j.cypher.internal.ir.v3_4.{CardinalityEstimation, PlannerQuery} +import org.neo4j.cypher.internal.util.v3_4.Cost import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlan import org.neo4j.cypher.internal.v3_4.expressions.{LabelName, PropertyKeyName} diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/PlanEventHorizonTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/PlanEventHorizonTest.scala index a642f60b0b773..15945a23487e6 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/PlanEventHorizonTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/PlanEventHorizonTest.scala @@ -19,14 +19,14 @@ */ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical -import org.neo4j.cypher.internal.util.v3_4.DummyPosition +import org.neo4j.cypher.internal.util.v3_4.{Cardinality, DummyPosition} import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.cypher.internal.compiler.v3_4.planner.ProcedureCallProjection import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.steps.LogicalPlanProducer -import org.neo4j.cypher.internal.compiler.v3_4.spi.PlanContext import org.neo4j.cypher.internal.frontend.v3_4.phases.InternalNotificationLogger import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable -import org.neo4j.cypher.internal.ir.v3_4.{Cardinality, CardinalityEstimation, RegularPlannerQuery, RegularQueryProjection} +import org.neo4j.cypher.internal.ir.v3_4.{CardinalityEstimation, RegularPlannerQuery, RegularQueryProjection} +import org.neo4j.cypher.internal.planner.v3_4.spi.PlanContext import org.neo4j.cypher.internal.v3_4.logical.plans.{ProcedureCall, Projection, ResolvedCall, SingleRow} import org.neo4j.cypher.internal.v3_4.expressions.SignedDecimalIntegerLiteral diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/QueryGraphProducer.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/QueryGraphProducer.scala index 74920d4c97a30..7bf3f3898e408 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/QueryGraphProducer.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/QueryGraphProducer.scala @@ -29,6 +29,7 @@ import org.neo4j.cypher.internal.frontend.v3_4.ast.{Query, Statement} import org.neo4j.cypher.internal.frontend.v3_4.phases.LateAstRewriting import org.neo4j.cypher.internal.frontend.v3_4.semantics.{SemanticCheckResult, SemanticChecker, SemanticTable} import org.neo4j.cypher.internal.ir.v3_4.{PlannerQuery, QueryGraph} +import org.neo4j.cypher.internal.planner.v3_4.spi.IDPPlannerName import org.scalatest.mock.MockitoSugar trait QueryGraphProducer extends MockitoSugar { diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/StatisticsBackedCardinalityModelTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/StatisticsBackedCardinalityModelTest.scala index e55db439bab1a..412285123b054 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/StatisticsBackedCardinalityModelTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/StatisticsBackedCardinalityModelTest.scala @@ -23,7 +23,7 @@ import org.neo4j.cypher.internal.compiler.v3_4.planner._ import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.Metrics.QueryGraphCardinalityModel import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.cardinality.CardinalityModelTestHelper import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.cardinality.assumeIndependence.AssumeIndependenceQueryGraphCardinalityModel -import org.neo4j.cypher.internal.compiler.v3_4.spi.GraphStatistics +import org.neo4j.cypher.internal.planner.v3_4.spi.GraphStatistics import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite class StatisticsBackedCardinalityModelTest extends CypherFunSuite with LogicalPlanningTestSupport with CardinalityModelTestHelper { diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/CardinalityModelTestHelper.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/CardinalityModelTestHelper.scala index 1f485fac340fd..e6a96191716d9 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/CardinalityModelTestHelper.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/CardinalityModelTestHelper.scala @@ -22,9 +22,9 @@ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical.cardinality import org.neo4j.cypher.internal.compiler.v3_4.planner.LogicalPlanningTestSupport import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.Metrics import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.Metrics._ -import org.neo4j.cypher.internal.compiler.v3_4.spi.GraphStatistics +import org.neo4j.cypher.internal.planner.v3_4.spi.GraphStatistics +import org.neo4j.cypher.internal.util.v3_4.Cardinality import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.ir.v3_4.Cardinality trait CardinalityModelTestHelper extends CardinalityTestHelper { diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/CardinalityTestHelper.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/CardinalityTestHelper.scala index 1f3917d2bbc51..3db2c41f4bc88 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/CardinalityTestHelper.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/CardinalityTestHelper.scala @@ -19,17 +19,16 @@ */ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical.cardinality -import org.neo4j.cypher.internal.compiler.v3_4.IndexDescriptor import org.neo4j.cypher.internal.compiler.v3_4.helpers.MapSupport._ import org.neo4j.cypher.internal.compiler.v3_4.helpers.SemanticTableHelper import org.neo4j.cypher.internal.compiler.v3_4.planner.LogicalPlanningTestSupport import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.QueryGraphProducer -import org.neo4j.cypher.internal.compiler.v3_4.spi.GraphStatistics import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable -import org.neo4j.cypher.internal.frontend.v3_4.{LabelId, PropertyKeyId, RelTypeId} -import org.neo4j.cypher.internal.ir.v3_4.Cardinality.NumericCardinality +import org.neo4j.cypher.internal.util.v3_4.Cardinality.NumericCardinality import org.neo4j.cypher.internal.ir.v3_4._ +import org.neo4j.cypher.internal.planner.v3_4.spi.{GraphStatistics, IndexDescriptor} +import org.neo4j.cypher.internal.util.v3_4._ import org.neo4j.cypher.internal.v3_4.expressions.Variable import org.scalatest.matchers.{MatchResult, Matcher} diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/ExpressionSelectivityCalculatorTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/ExpressionSelectivityCalculatorTest.scala index a9008fb543ac7..738cea4621b2c 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/ExpressionSelectivityCalculatorTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/ExpressionSelectivityCalculatorTest.scala @@ -22,13 +22,11 @@ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical.cardinality import org.mockito.Mockito.when import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.util.v3_4.{InputPosition, NonEmptyList} -import org.neo4j.cypher.internal.compiler.v3_4.IndexDescriptor -import org.neo4j.cypher.internal.compiler.v3_4.spi.GraphStatistics +import org.neo4j.cypher.internal.util.v3_4._ import org.neo4j.cypher.internal.frontend.v3_4.ast._ import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable -import org.neo4j.cypher.internal.frontend.v3_4.{LabelId, PropertyKeyId} import org.neo4j.cypher.internal.ir.v3_4._ +import org.neo4j.cypher.internal.planner.v3_4.spi.{GraphStatistics, IndexDescriptor} import org.neo4j.cypher.internal.v3_4.expressions._ class ExpressionSelectivityCalculatorTest extends CypherFunSuite with AstConstructionTestSupport { diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/SelectivityCombinerTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/SelectivityCombinerTest.scala index 5230f4d4a7325..850a71d8cdd1e 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/SelectivityCombinerTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/SelectivityCombinerTest.scala @@ -19,8 +19,8 @@ */ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical.cardinality +import org.neo4j.cypher.internal.util.v3_4.Selectivity import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.ir.v3_4.Selectivity class SelectivityCombinerTest extends CypherFunSuite { diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/assumeIndependence/AssumeIndependenceQueryGraphCardinalityModelTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/assumeIndependence/AssumeIndependenceQueryGraphCardinalityModelTest.scala index a481bf58baaa3..710bf56ac3704 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/assumeIndependence/AssumeIndependenceQueryGraphCardinalityModelTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/assumeIndependence/AssumeIndependenceQueryGraphCardinalityModelTest.scala @@ -21,8 +21,8 @@ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical.cardinality.assu import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.Metrics.QueryGraphCardinalityModel import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.cardinality.{ABCDCardinalityData, RandomizedCardinalityModelTestSuite} -import org.neo4j.cypher.internal.compiler.v3_4.spi.GraphStatistics import org.neo4j.cypher.internal.ir.v3_4.IdName +import org.neo4j.cypher.internal.planner.v3_4.spi.GraphStatistics class AssumeIndependenceQueryGraphCardinalityModelTest extends RandomizedCardinalityModelTestSuite with ABCDCardinalityData { diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/assumeIndependence/PatternSelectivityCalculatorTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/assumeIndependence/PatternSelectivityCalculatorTest.scala index bfede3af9eed5..764f1eac63ed9 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/assumeIndependence/PatternSelectivityCalculatorTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/cardinality/assumeIndependence/PatternSelectivityCalculatorTest.scala @@ -26,11 +26,11 @@ import org.mockito.stubbing.Answer import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.cypher.internal.compiler.v3_4.planner.LogicalPlanConstructionTestSupport import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.cardinality.IndependenceCombiner -import org.neo4j.cypher.internal.compiler.v3_4.spi.GraphStatistics -import org.neo4j.cypher.internal.frontend.v3_4.LabelId import org.neo4j.cypher.internal.frontend.v3_4.ast.AstConstructionTestSupport import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable import org.neo4j.cypher.internal.ir.v3_4.{VarPatternLength, _} +import org.neo4j.cypher.internal.planner.v3_4.spi.GraphStatistics +import org.neo4j.cypher.internal.util.v3_4.{Cardinality, LabelId, Selectivity} import org.neo4j.cypher.internal.v3_4.expressions.{HasLabels, LabelName, SemanticDirection} import scala.collection.mutable diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/idp/CartesianProductsOrValueJoinsTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/idp/CartesianProductsOrValueJoinsTest.scala index 694f2213370d3..9cc5ee5de0f1e 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/idp/CartesianProductsOrValueJoinsTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/idp/CartesianProductsOrValueJoinsTest.scala @@ -24,6 +24,7 @@ import org.neo4j.cypher.internal.compiler.v3_4.planner._ import org.neo4j.cypher.internal.v3_4.logical.plans._ import org.neo4j.cypher.internal.frontend.v3_4.ast.AstConstructionTestSupport import org.neo4j.cypher.internal.ir.v3_4._ +import org.neo4j.cypher.internal.util.v3_4.Cardinality import org.neo4j.cypher.internal.v3_4.expressions.Equals class CartesianProductsOrValueJoinsTest diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/idp/ExpandSolverStepTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/idp/ExpandSolverStepTest.scala index cf2b32f22740e..5c5fd0d6a39c6 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/idp/ExpandSolverStepTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/idp/ExpandSolverStepTest.scala @@ -25,12 +25,13 @@ import org.neo4j.cypher.internal.compiler.v3_4.planner.LogicalPlanConstructionTe import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.Metrics.CardinalityModel import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.steps.LogicalPlanProducer import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.{LogicalPlanningContext, Metrics, QueryGraphSolver} -import org.neo4j.cypher.internal.compiler.v3_4.spi.PlanContext import org.neo4j.cypher.internal.frontend.v3_4.ast._ import org.neo4j.cypher.internal.frontend.v3_4.phases.InternalNotificationLogger import org.neo4j.cypher.internal.v3_4.logical.plans.{Expand, ExpandAll, ExpandInto, LogicalPlan} import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable import org.neo4j.cypher.internal.ir.v3_4._ +import org.neo4j.cypher.internal.planner.v3_4.spi.PlanContext +import org.neo4j.cypher.internal.util.v3_4.Cardinality import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection class ExpandSolverStepTest extends CypherFunSuite with LogicalPlanConstructionTestSupport with AstConstructionTestSupport { diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/idp/IDPQueryGraphSolverTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/idp/IDPQueryGraphSolverTest.scala index 18aad571f39b5..1afaa482bd874 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/idp/IDPQueryGraphSolverTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/idp/IDPQueryGraphSolverTest.scala @@ -24,6 +24,7 @@ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.cypher.internal.compiler.v3_4.planner.LogicalPlanningTestSupport2 import org.neo4j.cypher.internal.v3_4.logical.plans._ import org.neo4j.cypher.internal.ir.v3_4._ +import org.neo4j.cypher.internal.util.v3_4.Cardinality import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection.OUTGOING import org.neo4j.cypher.internal.v3_4.expressions._ import org.scalatest.exceptions.TestFailedException diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/idp/JoinSolverStepTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/idp/JoinSolverStepTest.scala index 309673e7dac2f..68ea5a543579f 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/idp/JoinSolverStepTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/idp/JoinSolverStepTest.scala @@ -25,10 +25,11 @@ import org.neo4j.cypher.internal.compiler.v3_4.planner._ import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.Metrics.CardinalityModel import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.steps.LogicalPlanProducer import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.{LogicalPlanningContext, Metrics, QueryGraphSolver} -import org.neo4j.cypher.internal.compiler.v3_4.spi.PlanContext import org.neo4j.cypher.internal.frontend.v3_4.phases.InternalNotificationLogger import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable import org.neo4j.cypher.internal.ir.v3_4._ +import org.neo4j.cypher.internal.planner.v3_4.spi.PlanContext +import org.neo4j.cypher.internal.util.v3_4.Cardinality import org.neo4j.cypher.internal.v3_4.logical.plans.{LogicalPlan, NodeHashJoin} import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/idp/SingleComponentPlannerTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/idp/SingleComponentPlannerTest.scala index 4639f5506a0cc..2b4bb9f890486 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/idp/SingleComponentPlannerTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/idp/SingleComponentPlannerTest.scala @@ -21,9 +21,9 @@ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical.idp import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.cypher.internal.compiler.v3_4.planner.LogicalPlanningTestSupport -import org.neo4j.cypher.internal.compiler.v3_4.spi.PlanContext import org.neo4j.cypher.internal.frontend.v3_4.ast._ import org.neo4j.cypher.internal.ir.v3_4.{IdName, PatternRelationship, QueryGraph, SimplePatternLength} +import org.neo4j.cypher.internal.planner.v3_4.spi.PlanContext import org.neo4j.cypher.internal.v3_4.logical.plans._ import org.neo4j.cypher.internal.v3_4.expressions.{PropertyKeyName, SemanticDirection} diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/patternExpressionRewriterTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/patternExpressionRewriterTest.scala index 18e7a6a515492..523f252122630 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/patternExpressionRewriterTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/patternExpressionRewriterTest.scala @@ -23,12 +23,11 @@ import org.mockito.Mockito.{verify, verifyNoMoreInteractions, when} import org.mockito.invocation.InvocationOnMock import org.mockito.stubbing.Answer import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.compiler.v3_4.ast.NestedPlanExpression import org.neo4j.cypher.internal.compiler.v3_4.planner.LogicalPlanningTestSupport import org.neo4j.cypher.internal.frontend.v3_4.ast.rewriters.PatternExpressionPatternElementNamer import org.neo4j.cypher.internal.ir.v3_4.IdName import org.neo4j.cypher.internal.v3_4.expressions._ -import org.neo4j.cypher.internal.v3_4.logical.plans.{AllNodesScan, LogicalPlan, Selection} +import org.neo4j.cypher.internal.v3_4.logical.plans.{AllNodesScan, LogicalPlan, NestedPlanExpression, Selection} class patternExpressionRewriterTest extends CypherFunSuite with LogicalPlanningTestSupport { diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/plans/IdSeekLeafPlannerTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/plans/IdSeekLeafPlannerTest.scala index 1e7d5dbce0208..066a1d965a51f 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/plans/IdSeekLeafPlannerTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/plans/IdSeekLeafPlannerTest.scala @@ -20,14 +20,13 @@ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical.plans import org.mockito.Mockito._ -import org.neo4j.cypher.internal.util.v3_4.symbols +import org.neo4j.cypher.internal.util.v3_4.{Cost, RelTypeId, symbols} import org.neo4j.cypher.internal.compiler.v3_4.planner._ import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.ExpressionEvaluator import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.Metrics.QueryGraphSolverInput import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.steps.idSeekLeafPlanner import org.neo4j.cypher.internal.frontend.v3_4.ast._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.frontend.v3_4.RelTypeId import org.neo4j.cypher.internal.frontend.v3_4.semantics.{ExpressionTypeInfo, SemanticTable} import org.neo4j.cypher.internal.ir.v3_4._ import org.neo4j.cypher.internal.v3_4.logical.plans._ diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/plans/InequalityRangeSeekableTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/plans/InequalityRangeSeekableTest.scala index b2c46093f2c80..a7e6e6cf85908 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/plans/InequalityRangeSeekableTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/plans/InequalityRangeSeekableTest.scala @@ -20,11 +20,10 @@ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical.plans import org.neo4j.cypher.internal.util.v3_4.NonEmptyList -import org.neo4j.cypher.internal.compiler.v3_4._ import org.neo4j.cypher.internal.frontend.v3_4.ast._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.frontend.v3_4.{Bound, ExclusiveBound, InclusiveBound} import org.neo4j.cypher.internal.v3_4.expressions._ +import org.neo4j.cypher.internal.v3_4.logical.plans._ class InequalityRangeSeekableTest extends CypherFunSuite with AstConstructionTestSupport { diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/plans/LabelScanLeafPlannerTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/plans/LabelScanLeafPlannerTest.scala index f79e45f7c81a2..ab158e7b540a5 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/plans/LabelScanLeafPlannerTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/plans/LabelScanLeafPlannerTest.scala @@ -21,14 +21,13 @@ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical.plans import org.mockito.Mockito._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.compiler.v3_4.HardcodedGraphStatistics import org.neo4j.cypher.internal.compiler.v3_4.planner._ import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.ExpressionEvaluator import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.Metrics.QueryGraphSolverInput import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.steps.labelScanLeafPlanner -import org.neo4j.cypher.internal.frontend.v3_4.LabelId import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable import org.neo4j.cypher.internal.ir.v3_4._ +import org.neo4j.cypher.internal.util.v3_4.{Cost, LabelId} import org.neo4j.cypher.internal.v3_4.logical.plans.{LogicalPlan, NodeByLabelScan} import org.neo4j.cypher.internal.v3_4.expressions._ diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/plans/LogicalPlanAssignedIdTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/plans/LogicalPlanAssignedIdTest.scala index 5cec6e5adbdef..c54228db84b12 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/plans/LogicalPlanAssignedIdTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/plans/LogicalPlanAssignedIdTest.scala @@ -19,10 +19,9 @@ */ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical.plans -import org.neo4j.cypher.internal.compiler.v3_4.ast.NestedPlanExpression import org.neo4j.cypher.internal.compiler.v3_4.planner.LogicalPlanningTestSupport2 import org.neo4j.cypher.internal.ir.v3_4.IdName -import org.neo4j.cypher.internal.v3_4.logical.plans._ +import org.neo4j.cypher.internal.v3_4.logical.plans.{NestedPlanExpression, _} import org.neo4j.cypher.internal.util.v3_4.{CypherException, Rewriter, topDown} import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/plans/SargableTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/plans/SargableTest.scala index 635629c353657..8c99d43dbbd15 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/plans/SargableTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/plans/SargableTest.scala @@ -20,9 +20,8 @@ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical.plans import org.mockito.Mockito -import org.neo4j.cypher.internal.compiler.v3_4.PrefixRange import org.neo4j.cypher.internal.frontend.v3_4.ast._ -import org.neo4j.cypher.internal.v3_4.logical.plans.{ManySeekableArgs, SingleSeekableArg} +import org.neo4j.cypher.internal.v3_4.logical.plans.{ManySeekableArgs, PrefixRange, SingleSeekableArg} import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.cypher.internal.v3_4.expressions._ diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/plans/rewriter/PredicateRemovalThroughJoinsTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/plans/rewriter/PredicateRemovalThroughJoinsTest.scala index a48c84ebe54b1..ed4a90f00d400 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/plans/rewriter/PredicateRemovalThroughJoinsTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/plans/rewriter/PredicateRemovalThroughJoinsTest.scala @@ -22,6 +22,7 @@ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical.plans.rewriter import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.cypher.internal.compiler.v3_4.planner._ import org.neo4j.cypher.internal.ir.v3_4._ +import org.neo4j.cypher.internal.util.v3_4.Cardinality import org.neo4j.cypher.internal.v3_4.expressions.{Equals, Expression, SignedDecimalIntegerLiteral} import org.neo4j.cypher.internal.v3_4.logical.plans.{NodeHashJoin, Selection} diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/ExtractBestPlanTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/ExtractBestPlanTest.scala index 6c642e937f6fe..5e10d7de178dc 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/ExtractBestPlanTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/ExtractBestPlanTest.scala @@ -22,15 +22,13 @@ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical.steps import org.mockito.ArgumentMatchers._ import org.mockito.Mockito._ import org.neo4j.cypher.internal.util.v3_4.{HintException, IndexHintException, InternalException, JoinHintException} -import org.neo4j.cypher.internal.compiler.v3_4.IndexDescriptor import org.neo4j.cypher.internal.compiler.v3_4.planner._ -import org.neo4j.cypher.internal.compiler.v3_4.spi.PlanContext -import org.neo4j.cypher.internal.frontend.v3_4._ import org.neo4j.cypher.internal.frontend.v3_4.ast._ import org.neo4j.cypher.internal.frontend.v3_4.notification.{IndexHintUnfulfillableNotification, JoinHintUnfulfillableNotification} import org.neo4j.cypher.internal.frontend.v3_4.phases.RecordingNotificationLogger import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.cypher.internal.ir.v3_4.{IdName, PatternRelationship, VarPatternLength, _} +import org.neo4j.cypher.internal.planner.v3_4.spi.{IndexDescriptor, PlanContext} import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlan import org.neo4j.cypher.internal.v3_4.expressions.{LabelName, PatternExpression, PropertyKeyName, SemanticDirection} diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/OuterHashJoinTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/OuterHashJoinTest.scala index 4d1180884b0b8..fa6eff30647c8 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/OuterHashJoinTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/OuterHashJoinTest.scala @@ -26,6 +26,7 @@ import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.ExpressionEvaluat import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.Metrics.QueryGraphSolverInput import org.neo4j.cypher.internal.v3_4.logical.plans.{AllNodesScan, LogicalPlan, OuterHashJoin} import org.neo4j.cypher.internal.ir.v3_4._ +import org.neo4j.cypher.internal.util.v3_4.Cost import org.neo4j.cypher.internal.v3_4.expressions.{PatternExpression, SemanticDirection} class OuterHashJoinTest extends CypherFunSuite with LogicalPlanningTestSupport { diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/ProjectionTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/ProjectionTest.scala index b9ee06e1ebf3f..f2cc47aa9053a 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/ProjectionTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/ProjectionTest.scala @@ -25,6 +25,7 @@ import org.neo4j.cypher.internal.frontend.v3_4.ast import org.neo4j.cypher.internal.frontend.v3_4.ast.AscSortItem import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.cypher.internal.ir.v3_4._ +import org.neo4j.cypher.internal.util.v3_4.Cardinality import org.neo4j.cypher.internal.v3_4.expressions._ import org.neo4j.cypher.internal.v3_4.logical.plans.{Ascending, ColumnOrder, LogicalPlan, Projection} diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/SelectPatternPredicatesTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/SelectPatternPredicatesTest.scala index 12d974ec1b8c3..68a883bc83c75 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/SelectPatternPredicatesTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/SelectPatternPredicatesTest.scala @@ -27,6 +27,7 @@ import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.Metrics.QueryGrap import org.neo4j.cypher.internal.frontend.v3_4.ast._ import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable import org.neo4j.cypher.internal.ir.v3_4._ +import org.neo4j.cypher.internal.util.v3_4.Cardinality import org.neo4j.cypher.internal.v3_4.logical.plans._ import org.neo4j.cypher.internal.v3_4.expressions._ diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/SortSkipAndLimitTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/SortSkipAndLimitTest.scala index 6116f22044be7..f7a93374793ca 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/SortSkipAndLimitTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/SortSkipAndLimitTest.scala @@ -25,6 +25,7 @@ import org.neo4j.cypher.internal.frontend.v3_4.ast import org.neo4j.cypher.internal.frontend.v3_4.ast.AscSortItem import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.cypher.internal.ir.v3_4._ +import org.neo4j.cypher.internal.util.v3_4.Cardinality import org.neo4j.cypher.internal.v3_4.logical.plans._ import org.neo4j.cypher.internal.v3_4.expressions._ diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/TriadicSelectionFinderTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/TriadicSelectionFinderTest.scala index 637e5640ea6c6..87d1f89076e7d 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/TriadicSelectionFinderTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/TriadicSelectionFinderTest.scala @@ -22,8 +22,8 @@ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical.steps import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.cypher.internal.compiler.v3_4.planner.LogicalPlanningTestSupport import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.QueryGraphProducer -import org.neo4j.cypher.internal.compiler.v3_4.spi.PlanContext import org.neo4j.cypher.internal.ir.v3_4.{IdName, QueryGraph} +import org.neo4j.cypher.internal.planner.v3_4.spi.PlanContext import org.neo4j.cypher.internal.v3_4.logical.plans._ import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection.{INCOMING, OUTGOING} import org.neo4j.cypher.internal.v3_4.expressions._ diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/countStorePlannerTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/countStorePlannerTest.scala index 90171e5fb57d1..b75a28e3e1b25 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/countStorePlannerTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/planner/logical/steps/countStorePlannerTest.scala @@ -22,11 +22,11 @@ package org.neo4j.cypher.internal.compiler.v3_4.planner.logical.steps import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.cypher.internal.compiler.v3_4.planner.LogicalPlanningTestSupport import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.{LogicalPlanningContext, Metrics, QueryGraphProducer, QueryGraphSolver} -import org.neo4j.cypher.internal.compiler.v3_4.spi.PlanContext import org.neo4j.cypher.internal.frontend.v3_4.ast.AstConstructionTestSupport import org.neo4j.cypher.internal.frontend.v3_4.phases.InternalNotificationLogger import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable import org.neo4j.cypher.internal.ir.v3_4.{AggregatingQueryProjection, IdName} +import org.neo4j.cypher.internal.planner.v3_4.spi.PlanContext import org.neo4j.cypher.internal.v3_4.expressions.{FunctionInvocation, FunctionName, Variable} import org.neo4j.cypher.internal.v3_4.logical.plans.{LogicalPlan, NodeCountFromCountStore, RelationshipCountFromCountStore} import org.scalatest.matchers.{MatchResult, Matcher} diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/spi/GraphStatisticsSnapshotTest.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/spi/GraphStatisticsSnapshotTest.scala index bc3c709ff54ba..5396a5dd89187 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/spi/GraphStatisticsSnapshotTest.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/spi/GraphStatisticsSnapshotTest.scala @@ -19,10 +19,9 @@ */ package org.neo4j.cypher.internal.compiler.v3_4.spi -import org.neo4j.cypher.internal.compiler.v3_4.IndexDescriptor +import org.neo4j.cypher.internal.planner.v3_4.spi._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.frontend.v3_4.{LabelId, PropertyKeyId, RelTypeId} -import org.neo4j.cypher.internal.ir.v3_4.{Cardinality, Selectivity} +import org.neo4j.cypher.internal.util.v3_4._ import scala.language.reflectiveCalls diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/test_helpers/ContextHelper.scala b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/test_helpers/ContextHelper.scala index eda64f80c1f4d..1a29ea25cd6f2 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/test_helpers/ContextHelper.scala +++ b/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/test_helpers/ContextHelper.scala @@ -25,9 +25,9 @@ import org.neo4j.cypher.internal.util.v3_4.{CypherException, InputPosition, Inte import org.neo4j.cypher.internal.compiler.v3_4._ import org.neo4j.cypher.internal.compiler.v3_4.phases.CompilerContext import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.{Metrics, QueryGraphSolver} -import org.neo4j.cypher.internal.compiler.v3_4.spi.PlanContext import org.neo4j.cypher.internal.frontend.v3_4.phases.CompilationPhaseTracer.NO_TRACING import org.neo4j.cypher.internal.frontend.v3_4.phases.{CompilationPhaseTracer, InternalNotificationLogger, Monitors, devNullLogger} +import org.neo4j.cypher.internal.planner.v3_4.spi.PlanContext import org.scalatest.mock.MockitoSugar object ContextHelper extends MockitoSugar { diff --git a/community/cypher/cypher-logical-plans-3.4/pom.xml b/community/cypher/cypher-logical-plans-3.4/pom.xml index ea40337116e99..77527b17ba066 100644 --- a/community/cypher/cypher-logical-plans-3.4/pom.xml +++ b/community/cypher/cypher-logical-plans-3.4/pom.xml @@ -57,6 +57,12 @@ + + org.neo4j + neo4j-graphdb-api + ${project.version} + + org.neo4j neo4j-cypher-frontend-3.4 @@ -77,6 +83,14 @@ test + + org.neo4j + neo4j-cypher-util-3.4 + ${project.version} + test-jar + test + + diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/DynamicIterable.scala b/community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/Bound.scala similarity index 55% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/DynamicIterable.scala rename to community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/Bound.scala index f97edee9fb708..dd4f2b5d1b4cb 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/DynamicIterable.scala +++ b/community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/Bound.scala @@ -17,25 +17,29 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers +package org.neo4j.cypher.internal.v3_4.logical.plans -import java.lang.{Iterable => JIterable} -import java.util.{Iterator => JIterator} +sealed trait Bound[+V] { + def endPoint: V + def inequalitySignSuffix: String -import scala.collection.JavaConverters._ + def map[P](f: V => P): Bound[P] -object DynamicIterable { - def apply[T](f: => Iterator[T]) = new Iterable[T] { - override def iterator = f - } + def isInclusive: Boolean } -object DynamicJavaIterable { - def apply[T](f: => Iterator[T]) = new JIterable[T] { - override def iterator = f.asJava - } +final case class InclusiveBound[+V](endPoint: V) extends Bound[V] { + val inequalitySignSuffix = "=" - def apply[T](iterable: Iterable[T]) = new JIterable[T] { - override def iterator: JIterator[T] = iterable.iterator.asJava - } + override def map[P](f: V => P): InclusiveBound[P] = copy(endPoint = f(endPoint)) + + def isInclusive: Boolean = true +} + +final case class ExclusiveBound[+V](endPoint: V) extends Bound[V] { + val inequalitySignSuffix = "" + + override def map[P](f: V => P): ExclusiveBound[P] = copy(endPoint = f(endPoint)) + + def isInclusive: Boolean = false } diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/ast/NestedPlanExpression.scala b/community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/NestedPlanExpression.scala similarity index 93% rename from community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/ast/NestedPlanExpression.scala rename to community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/NestedPlanExpression.scala index 4e4459e6b49e7..625afbaa019b8 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/ast/NestedPlanExpression.scala +++ b/community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/NestedPlanExpression.scala @@ -17,14 +17,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compiler.v3_4.ast +package org.neo4j.cypher.internal.v3_4.logical.plans +import org.neo4j.cypher.internal.frontend.v3_4.SemanticCheck +import org.neo4j.cypher.internal.frontend.v3_4.semantics.{SemanticCheckResult, SemanticCheckableExpression} import org.neo4j.cypher.internal.util.v3_4.InputPosition -import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlan import org.neo4j.cypher.internal.v3_4.expressions.Expression import org.neo4j.cypher.internal.v3_4.expressions.Expression.SemanticContext -import org.neo4j.cypher.internal.frontend.v3_4.SemanticCheck -import org.neo4j.cypher.internal.frontend.v3_4.semantics.{SemanticCheckResult, SemanticCheckableExpression} case class NestedPlanExpression( plan: LogicalPlan, diff --git a/community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/NodeIndexContainsScan.scala b/community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/NodeIndexContainsScan.scala index e2143ddc0742f..aea247455f0fa 100644 --- a/community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/NodeIndexContainsScan.scala +++ b/community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/NodeIndexContainsScan.scala @@ -19,9 +19,8 @@ */ package org.neo4j.cypher.internal.v3_4.logical.plans -import org.neo4j.cypher.internal.frontend.v3_4.ast.{LabelToken, PropertyKeyToken} import org.neo4j.cypher.internal.ir.v3_4.{CardinalityEstimation, IdName, PlannerQuery} -import org.neo4j.cypher.internal.v3_4.expressions.Expression +import org.neo4j.cypher.internal.v3_4.expressions.{Expression, LabelToken, PropertyKeyToken} /** * This operator does a full scan of an index, producing rows for all entries that contain a string value diff --git a/community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/NodeIndexEndsWithScan.scala b/community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/NodeIndexEndsWithScan.scala index b86b6cb064dbf..12b785f6b41e7 100644 --- a/community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/NodeIndexEndsWithScan.scala +++ b/community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/NodeIndexEndsWithScan.scala @@ -19,9 +19,8 @@ */ package org.neo4j.cypher.internal.v3_4.logical.plans -import org.neo4j.cypher.internal.frontend.v3_4.ast.{LabelToken, PropertyKeyToken} import org.neo4j.cypher.internal.ir.v3_4.{CardinalityEstimation, IdName, PlannerQuery} -import org.neo4j.cypher.internal.v3_4.expressions.Expression +import org.neo4j.cypher.internal.v3_4.expressions.{Expression, LabelToken, PropertyKeyToken} /** * This operator does a full scan of an index, producing rows for all entries that end with a string value diff --git a/community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/NodeIndexScan.scala b/community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/NodeIndexScan.scala index 5826481d90958..76ad2d11eb88f 100644 --- a/community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/NodeIndexScan.scala +++ b/community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/NodeIndexScan.scala @@ -19,8 +19,8 @@ */ package org.neo4j.cypher.internal.v3_4.logical.plans -import org.neo4j.cypher.internal.frontend.v3_4.ast.{LabelToken, PropertyKeyToken} import org.neo4j.cypher.internal.ir.v3_4.{CardinalityEstimation, IdName, PlannerQuery} +import org.neo4j.cypher.internal.v3_4.expressions.{LabelToken, PropertyKeyToken} /** * This operator does a full scan of an index, producing one row per entry. diff --git a/community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/NodeIndexSeek.scala b/community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/NodeIndexSeek.scala index b1003a0df5a3c..56cc1bbb6372b 100644 --- a/community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/NodeIndexSeek.scala +++ b/community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/NodeIndexSeek.scala @@ -19,9 +19,8 @@ */ package org.neo4j.cypher.internal.v3_4.logical.plans -import org.neo4j.cypher.internal.frontend.v3_4.ast.{LabelToken, PropertyKeyToken} import org.neo4j.cypher.internal.ir.v3_4.{CardinalityEstimation, IdName, PlannerQuery} -import org.neo4j.cypher.internal.v3_4.expressions.Expression +import org.neo4j.cypher.internal.v3_4.expressions.{Expression, LabelToken, PropertyKeyToken} /** * For every node with the given label and property values, produces one row with that node. diff --git a/community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/NodeUniqueIndexSeek.scala b/community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/NodeUniqueIndexSeek.scala index 335e91a511c75..8f3f5d062f248 100644 --- a/community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/NodeUniqueIndexSeek.scala +++ b/community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/NodeUniqueIndexSeek.scala @@ -19,9 +19,8 @@ */ package org.neo4j.cypher.internal.v3_4.logical.plans -import org.neo4j.cypher.internal.frontend.v3_4.ast.{LabelToken, PropertyKeyToken} import org.neo4j.cypher.internal.ir.v3_4.{CardinalityEstimation, IdName, PlannerQuery} -import org.neo4j.cypher.internal.v3_4.expressions.Expression +import org.neo4j.cypher.internal.v3_4.expressions.{Expression, LabelToken, PropertyKeyToken} /** * Produces one or zero rows containing the node with the given label and property values. diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/ast/ResolvedFunctionInvocation.scala b/community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/ResolvedFunctionInvocation.scala similarity index 97% rename from community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/ast/ResolvedFunctionInvocation.scala rename to community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/ResolvedFunctionInvocation.scala index 4aa20b5cc0bd1..d589a10675496 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/ast/ResolvedFunctionInvocation.scala +++ b/community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/ResolvedFunctionInvocation.scala @@ -17,13 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compiler.v3_4.ast +package org.neo4j.cypher.internal.v3_4.logical.plans -import org.neo4j.cypher.internal.util.v3_4.InputPosition import org.neo4j.cypher.internal.frontend.v3_4._ -import org.neo4j.cypher.internal.v3_4.logical.plans.{QualifiedName, UserFunctionSignature} import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticCheckResult._ import org.neo4j.cypher.internal.frontend.v3_4.semantics._ +import org.neo4j.cypher.internal.util.v3_4.InputPosition import org.neo4j.cypher.internal.v3_4.expressions.Expression.SemanticContext import org.neo4j.cypher.internal.v3_4.expressions.{CoerceTo, Expression, FunctionInvocation} import org.neo4j.cypher.internal.v3_4.functions.UserDefinedFunctionInvocation diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/SeekRange.scala b/community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/SeekRange.scala similarity index 83% rename from community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/SeekRange.scala rename to community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/SeekRange.scala index d77b52827f416..67bcd4f02f12d 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/SeekRange.scala +++ b/community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/SeekRange.scala @@ -17,9 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compiler.v3_4 - -import org.neo4j.cypher.internal.frontend.v3_4.{Bound, Bounds} +package org.neo4j.cypher.internal.v3_4.logical.plans /* Seek ranges describe intervals. In practice they are used to summarize all inequalities over the @@ -181,3 +179,61 @@ final case class PrefixRange[T](prefix: T) extends SeekRange[T] { override def toString: String = prefix.toString } + +final case class MinBoundOrdering[T](inner: Ordering[T]) extends Ordering[Bound[T]] { + override def compare(x: Bound[T], y: Bound[T]): Int = { + val cmp = inner.compare(x.endPoint, y.endPoint) + if (cmp == 0) + Ordering.Boolean.compare(x.isInclusive, y.isInclusive) + else + cmp + } +} + +final case class MaxBoundOrdering[T](inner: Ordering[T]) extends Ordering[Bound[T]] { + override def compare(x: Bound[T], y: Bound[T]): Int = { + val cmp = inner.compare(x.endPoint, y.endPoint) + if (cmp == 0) + Ordering.Boolean.compare(y.isInclusive, x.isInclusive) + else + cmp + } +} + +case class MinMaxOrdering[T](ordering: Ordering[T]) { + + import MinMaxOrdering._ + + val forMin = ordering.withNullsFirst + val forMax = ordering.withNullsLast +} + +object MinMaxOrdering { + + implicit class NullOrdering[T](ordering: Ordering[T]) { + def withNullsFirst = new Ordering[T] { + override def compare(x: T, y: T): Int = { + if (x == null) { + if (y == null) 0 else -1 + } else if (y == null) { + +1 + } else { + ordering.compare(x, y) + } + } + } + + def withNullsLast = new Ordering[T] { + override def compare(x: T, y: T): Int = { + if (x == null) { + if (y == null) 0 else +1 + } else if (y == null) { + -1 + } else { + ordering.compare(x, y) + } + } + } + } + +} diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/ast/SeekRangeWrapper.scala b/community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/SeekRangeWrapper.scala similarity index 93% rename from community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/ast/SeekRangeWrapper.scala rename to community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/SeekRangeWrapper.scala index e1a11d47463ca..692987ab85a06 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/ast/SeekRangeWrapper.scala +++ b/community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/SeekRangeWrapper.scala @@ -17,14 +17,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compiler.v3_4.ast +package org.neo4j.cypher.internal.v3_4.logical.plans +import org.neo4j.cypher.internal.frontend.v3_4.SemanticCheck +import org.neo4j.cypher.internal.frontend.v3_4.semantics.{SemanticCheckResult, SemanticCheckableExpression} import org.neo4j.cypher.internal.util.v3_4.InputPosition -import org.neo4j.cypher.internal.compiler.v3_4.{InequalitySeekRange, PrefixRange} import org.neo4j.cypher.internal.v3_4.expressions.Expression import org.neo4j.cypher.internal.v3_4.expressions.Expression.SemanticContext -import org.neo4j.cypher.internal.frontend.v3_4.SemanticCheck -import org.neo4j.cypher.internal.frontend.v3_4.semantics.{SemanticCheckResult, SemanticCheckableExpression} case class PrefixSeekRangeWrapper( range: PrefixRange[Expression] diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/UserDefinedAggregator.scala b/community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/package.scala similarity index 82% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/UserDefinedAggregator.scala rename to community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/package.scala index a7f76e89f33aa..a00cc6b071f45 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/UserDefinedAggregator.scala +++ b/community/cypher/cypher-logical-plans-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/logical/plans/package.scala @@ -17,9 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.v3_4.logical -trait UserDefinedAggregator { - def update(args: IndexedSeq[Any]): Unit - def result: Any +import org.neo4j.cypher.internal.util.v3_4.NonEmptyList + +package object plans { + type Bounds[+V] = NonEmptyList[Bound[V]] } diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/NullOrderingTest.scala b/community/cypher/cypher-logical-plans-3.4/src/test/scala/org/neo4j/cypher/internal/v3_4/logical/plans/NullOrderingTest.scala similarity index 63% rename from community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/NullOrderingTest.scala rename to community/cypher/cypher-logical-plans-3.4/src/test/scala/org/neo4j/cypher/internal/v3_4/logical/plans/NullOrderingTest.scala index 59d35948aa882..e8a22211bc05b 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/NullOrderingTest.scala +++ b/community/cypher/cypher-logical-plans-3.4/src/test/scala/org/neo4j/cypher/internal/v3_4/logical/plans/NullOrderingTest.scala @@ -17,26 +17,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compiler.v3_4 +package org.neo4j.cypher.internal.v3_4.logical.plans import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.kernel.impl.api.PropertyValueComparison class NullOrderingTest extends CypherFunSuite { - import org.neo4j.cypher.internal.compiler.v3_4.MinMaxOrdering._ + import MinMaxOrdering._ - val orderingForNumbers = Ordering.comparatorToOrdering(PropertyValueComparison.COMPARE_NUMBERS) - - test("Should be able to put nulls first in a numeric sequence") { - Seq[Number](null, 4.0d, -3, null, 12).sorted(orderingForNumbers.withNullsFirst) should equal(Seq[Number](null, null, -3, 4.0d, 12)) - } - - test("Should be able to put nulls last in a numeric sequence") { - Seq[Number](null, 4.0d, -3, null, 12).sorted(orderingForNumbers.withNullsLast) should equal(Seq[Number](-3, 4.0d, 12, null, null)) - } - - val orderingForStrings = Ordering.comparatorToOrdering(PropertyValueComparison.COMPARE_STRINGS) + val orderingForStrings: Ordering[String] = Ordering.String test("Should be able to put nulls first in a string sequence") { Seq[String](null, "Annie", "", null, "Xavier").sorted(orderingForStrings.withNullsFirst) should equal(Seq[String](null, null, "", "Annie", "Xavier")) diff --git a/community/cypher/cypher/pom.xml b/community/cypher/cypher/pom.xml index af62bcd6b821c..b43e108abce9b 100644 --- a/community/cypher/cypher/pom.xml +++ b/community/cypher/cypher/pom.xml @@ -300,6 +300,24 @@ ${project.version} + + org.neo4j + neo4j-cypher-planner-spi-3.4 + ${project.version} + + + + org.neo4j + neo4j-cypher-runtime-util + ${project.version} + + + + org.neo4j + neo4j-cypher-interpreted-runtime + ${project.version} + + @@ -326,6 +344,22 @@ test + + org.neo4j + neo4j-cypher-runtime-util + ${project.version} + test-jar + test + + + + org.neo4j + neo4j-cypher-interpreted-runtime + ${project.version} + test-jar + test + + diff --git a/community/cypher/cypher/src/main/java/org/neo4j/cypher/internal/codegen/ParameterConverter.java b/community/cypher/cypher/src/main/java/org/neo4j/cypher/internal/codegen/ParameterConverter.java index 2f8402b94b187..e0a137406aa5a 100644 --- a/community/cypher/cypher/src/main/java/org/neo4j/cypher/internal/codegen/ParameterConverter.java +++ b/community/cypher/cypher/src/main/java/org/neo4j/cypher/internal/codegen/ParameterConverter.java @@ -28,8 +28,8 @@ import java.util.Iterator; import java.util.List; -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.CartesianPoint; -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.GeographicPoint; +import org.neo4j.cypher.internal.runtime.CartesianPoint; +import org.neo4j.cypher.internal.runtime.GeographicPoint; import org.neo4j.graphdb.Node; import org.neo4j.graphdb.Path; import org.neo4j.graphdb.PropertyContainer; @@ -516,14 +516,12 @@ public Object value() if ( crs.code() == CoordinateReferenceSystem.WGS84.code() ) { return new GeographicPoint( coordinates[0], coordinates[1], - new org.neo4j.cypher.internal.compatibility.v3_4.runtime.CRS( crs.name, crs.code, - crs.href ) ); + new org.neo4j.cypher.internal.runtime.CRS( crs.name, crs.code, crs.href ) ); } else if ( crs.code() == CoordinateReferenceSystem.Cartesian.code() ) { return new CartesianPoint( coordinates[0], coordinates[1], - new org.neo4j.cypher.internal.compatibility.v3_4.runtime.CRS( crs.name, crs.code, - crs.href ) ); + new org.neo4j.cypher.internal.runtime.CRS( crs.name, crs.code, crs.href ) ); } else { diff --git a/community/cypher/cypher/src/main/java/org/neo4j/cypher/internal/javacompat/CommunityCypherEngineProvider.java b/community/cypher/cypher/src/main/java/org/neo4j/cypher/internal/javacompat/CommunityCypherEngineProvider.java index 5d462402ba3dc..49ce291166d03 100644 --- a/community/cypher/cypher/src/main/java/org/neo4j/cypher/internal/javacompat/CommunityCypherEngineProvider.java +++ b/community/cypher/cypher/src/main/java/org/neo4j/cypher/internal/javacompat/CommunityCypherEngineProvider.java @@ -20,7 +20,6 @@ package org.neo4j.cypher.internal.javacompat; import org.neo4j.cypher.internal.CommunityCompatibilityFactory; -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService; import org.neo4j.graphdb.DependencyResolver; import org.neo4j.helpers.Service; import org.neo4j.kernel.api.KernelAPI; diff --git a/community/cypher/cypher/src/main/java/org/neo4j/cypher/internal/javacompat/ExecutionResult.java b/community/cypher/cypher/src/main/java/org/neo4j/cypher/internal/javacompat/ExecutionResult.java index 0c5b49894d91c..3544c8a073d58 100644 --- a/community/cypher/cypher/src/main/java/org/neo4j/cypher/internal/javacompat/ExecutionResult.java +++ b/community/cypher/cypher/src/main/java/org/neo4j/cypher/internal/javacompat/ExecutionResult.java @@ -28,7 +28,7 @@ import java.util.stream.Stream; import org.neo4j.cypher.CypherException; -import org.neo4j.cypher.internal.InternalExecutionResult; +import org.neo4j.cypher.internal.runtime.InternalExecutionResult; import org.neo4j.cypher.result.QueryResult; import org.neo4j.graphdb.ExecutionPlanDescription; import org.neo4j.graphdb.Notification; diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/CypherExecutionMode.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/CypherExecutionMode.scala similarity index 92% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/CypherExecutionMode.scala rename to community/cypher/cypher/src/main/scala/org/neo4j/cypher/CypherExecutionMode.scala index 7c10d40184780..551ea61a11c59 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/CypherExecutionMode.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/CypherExecutionMode.scala @@ -17,9 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal - -import org.neo4j.cypher.{CypherOptionCompanion, CypherOption} +package org.neo4j.cypher sealed abstract class CypherExecutionMode(modeName: String) extends CypherOption(modeName) diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/CypherUpdateStrategy.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/CypherUpdateStrategy.scala index 8e67033a29d72..8153c860a39b0 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/CypherUpdateStrategy.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/CypherUpdateStrategy.scala @@ -19,7 +19,6 @@ */ package org.neo4j.cypher - sealed abstract class CypherUpdateStrategy(plannerName: String) extends CypherOption(plannerName) case object CypherUpdateStrategy extends CypherOptionCompanion[CypherUpdateStrategy] { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/CompilerEngineDelegator.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/CompilerEngineDelegator.scala index 81d7cc5166e9d..b72f9a96a05e2 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/CompilerEngineDelegator.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/CompilerEngineDelegator.scala @@ -22,11 +22,10 @@ package org.neo4j.cypher.internal import java.time.Clock import org.neo4j.cypher.internal.util.v3_4.InputPosition -import org.neo4j.cypher.internal.compatibility.v3_4.exceptionHandler import org.neo4j.cypher.internal.compiler.v3_4.CypherCompilerConfiguration import org.neo4j.cypher.internal.frontend.v3_4.helpers.fixedPoint import org.neo4j.cypher.internal.frontend.v3_4.phases.CompilationPhaseTracer -import org.neo4j.cypher.{InvalidArgumentException, SyntaxException, _} +import org.neo4j.cypher.{InvalidArgumentException, SyntaxException, exceptionHandler, _} import org.neo4j.graphdb.factory.GraphDatabaseSettings import org.neo4j.graphdb.impl.notification.NotificationCode.{CREATE_UNIQUE_UNAVAILABLE_FALLBACK, RULE_PLANNER_UNAVAILABLE_FALLBACK, START_DEPRECATED, START_UNAVAILABLE_FALLBACK} import org.neo4j.graphdb.impl.notification.NotificationDetail.Factory.startDeprecated diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/CypherStatementWithOptions.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/CypherStatementWithOptions.scala index 7bc04609f176e..cedecee37d1fd 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/CypherStatementWithOptions.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/CypherStatementWithOptions.scala @@ -19,7 +19,7 @@ */ package org.neo4j.cypher.internal -import org.neo4j.cypher._ +import org.neo4j.cypher.{CypherExecutionMode, _} import org.neo4j.cypher.internal.util.v3_4.InputPosition import scala.annotation.tailrec diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/ExecutionEngine.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/ExecutionEngine.scala index 457baea797953..218d0b5fc4107 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/ExecutionEngine.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/ExecutionEngine.scala @@ -23,10 +23,10 @@ import java.util.{Map => JavaMap} import org.neo4j.cypher._ import org.neo4j.cypher.internal.compatibility.v3_4._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.{RuntimeJavaValueConverter, RuntimeScalaValueConverter, ValueConversion} import org.neo4j.cypher.internal.compiler.v3_4.prettifier.Prettifier import org.neo4j.cypher.internal.frontend.v3_4.phases.CompilationPhaseTracer -import org.neo4j.cypher.internal.spi.v3_4.TransactionalContextWrapper +import org.neo4j.cypher.internal.runtime.interpreted.{LastCommittedTxIdProvider, TransactionalContextWrapper, ValueConversion} +import org.neo4j.cypher.internal.runtime.{RuntimeJavaValueConverter, RuntimeScalaValueConverter, isGraphKernelResultValue} import org.neo4j.cypher.internal.tracing.{CompilationTracer, TimingCompilationTracer} import org.neo4j.graphdb.Result import org.neo4j.graphdb.config.Setting @@ -206,7 +206,7 @@ class ExecutionEngine(val queryService: GraphDatabaseQueryService, tc.close(success = true) } else { tc.cleanForReuse() - tc.notifyPlanningCompleted(plan) + tc.notifyPlanningCompleted(plan.plannerInfo) return (PreparedPlanExecution(plan, executionMode, extractedParameters), tc) } diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/ExecutionPlan.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/ExecutionPlan.scala index cc208a0edb28d..5edd992fdb7d1 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/ExecutionPlan.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/ExecutionPlan.scala @@ -19,7 +19,8 @@ */ package org.neo4j.cypher.internal -import org.neo4j.cypher.internal.spi.v3_4.TransactionalContextWrapper +import org.neo4j.cypher.CypherExecutionMode +import org.neo4j.cypher.internal.runtime.interpreted.{LastCommittedTxIdProvider, TransactionalContextWrapper} import org.neo4j.graphdb.Result import org.neo4j.kernel.api.query.PlannerInfo import org.neo4j.values.virtual.MapValue diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/ParsedQuery.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/ParsedQuery.scala index 3416f71a956fc..03edf74da981f 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/ParsedQuery.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/ParsedQuery.scala @@ -20,7 +20,7 @@ package org.neo4j.cypher.internal import org.neo4j.cypher.internal.frontend.v3_4.phases.CompilationPhaseTracer -import org.neo4j.cypher.internal.spi.v3_4.TransactionalContextWrapper +import org.neo4j.cypher.internal.runtime.interpreted.TransactionalContextWrapper import scala.util.Try diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/PreparedPlanExecution.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/PreparedPlanExecution.scala index a732e24aace55..ca27a87c8a298 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/PreparedPlanExecution.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/PreparedPlanExecution.scala @@ -19,8 +19,8 @@ */ package org.neo4j.cypher.internal -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.ValueConversion -import org.neo4j.cypher.internal.spi.v3_4.TransactionalContextWrapper +import org.neo4j.cypher.CypherExecutionMode +import org.neo4j.cypher.internal.runtime.interpreted.{TransactionalContextWrapper, ValueConversion} import org.neo4j.graphdb.Result import org.neo4j.values.virtual.{MapValue, VirtualValues} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/ClosingExecutionResult.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/ClosingExecutionResult.scala index 91f44ae49837e..4412282a45974 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/ClosingExecutionResult.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/ClosingExecutionResult.scala @@ -21,10 +21,9 @@ package org.neo4j.cypher.internal.compatibility import java.io.PrintWriter -import org.neo4j.cypher.internal.InternalExecutionResult -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionMode -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.InternalQueryType -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription +import org.neo4j.cypher.exceptionHandler.RunSafely +import org.neo4j.cypher.internal.runtime.{ExecutionMode, InternalExecutionResult, InternalQueryType} +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription import org.neo4j.cypher.result.QueryResult.QueryResultVisitor import org.neo4j.graphdb import org.neo4j.graphdb.Result.ResultVisitor diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/RunSafely.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/RunSafely.scala index 8b7108310982c..ceec0c95b23fc 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/RunSafely.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/RunSafely.scala @@ -19,6 +19,4 @@ */ package org.neo4j.cypher.internal.compatibility -trait RunSafely { - def apply[T](body: => T)(implicit f: ExceptionHandler = ExceptionHandler.default): T -} + diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v2_3/Compatibility.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v2_3/Compatibility.scala index 0d9b5bf4342b0..0c4d62e4bbab3 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v2_3/Compatibility.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v2_3/Compatibility.scala @@ -22,6 +22,7 @@ package org.neo4j.cypher.internal.compatibility.v2_3 import java.util.Collections.emptyList import java.util.function.BiConsumer +import org.neo4j.cypher.CypherExecutionMode import org.neo4j.cypher.internal._ import org.neo4j.cypher.internal.compatibility._ import org.neo4j.cypher.internal.compiler.v2_3 @@ -31,8 +32,8 @@ import org.neo4j.cypher.internal.compiler.v2_3.tracing.rewriters.RewriterStepSeq import org.neo4j.cypher.internal.compiler.v2_3.{InfoLogger, ExplainMode => ExplainModev2_3, NormalMode => NormalModev2_3, ProfileMode => ProfileModev2_3, _} import org.neo4j.cypher.internal.frontend.v3_4 import org.neo4j.cypher.internal.javacompat.ExecutionResult +import org.neo4j.cypher.internal.runtime.interpreted.{LastCommittedTxIdProvider, TransactionalContextWrapper} import org.neo4j.cypher.internal.spi.v2_3.{TransactionBoundGraphStatistics, TransactionBoundPlanContext, TransactionBoundQueryContext} -import org.neo4j.cypher.internal.spi.v3_4.TransactionalContextWrapper import org.neo4j.graphdb.{Node, Relationship, Result} import org.neo4j.kernel.GraphDatabaseQueryService import org.neo4j.kernel.api.KernelAPI @@ -78,7 +79,7 @@ trait Compatibility { Some(as2_3(preParsedQuery.offset)), tracer)) new ParsedQuery { def plan(transactionalContext: TransactionalContextWrapper, - tracer: v3_4.phases.CompilationPhaseTracer): (org.neo4j.cypher.internal.ExecutionPlan, Map[String, Any]) = exceptionHandler + tracer: v3_4.phases.CompilationPhaseTracer): (ExecutionPlan, Map[String, Any]) = exceptionHandler .runSafely { val planContext: PlanContext = new TransactionBoundPlanContext(transactionalContext) val (planImpl, extractedParameters) = compiler @@ -95,7 +96,7 @@ trait Compatibility { } class ExecutionPlanWrapper(inner: ExecutionPlan_v2_3, preParsingNotifications: Set[org.neo4j.graphdb.Notification], offSet: frontend.v2_3.InputPosition) - extends org.neo4j.cypher.internal.ExecutionPlan { + extends ExecutionPlan { private def queryContext(transactionalContext: TransactionalContextWrapper): QueryContext = new ExceptionTranslatingQueryContext(new TransactionBoundQueryContext(transactionalContext)) diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v2_3/CostCompatibility.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v2_3/CostCompatibility.scala index e1c3dc8a0b37d..9d7f3bae377e5 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v2_3/CostCompatibility.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v2_3/CostCompatibility.scala @@ -20,7 +20,7 @@ package org.neo4j.cypher.internal.compatibility.v2_3 import org.neo4j.cypher.internal.compiler.v2_3._ -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService +import org.neo4j.cypher.internal.javacompat.GraphDatabaseCypherService import org.neo4j.cypher.{CypherPlanner, CypherRuntime} import org.neo4j.helpers.Clock import org.neo4j.kernel.GraphDatabaseQueryService diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v2_3/ExecutionResultWrapper.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v2_3/ExecutionResultWrapper.scala index 752c2fd6db926..7a4424da58538 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v2_3/ExecutionResultWrapper.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v2_3/ExecutionResultWrapper.scala @@ -22,22 +22,23 @@ package org.neo4j.cypher.internal.compatibility.v2_3 import java.io.PrintWriter import java.util -import org.neo4j.cypher._ +import org.neo4j.cypher.{internal, _} import org.neo4j.cypher.internal.compatibility._ import org.neo4j.cypher.internal.compatibility.v2_3.ExecutionResultWrapper.asKernelNotification -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.{LegacyPlanDescription, Argument => Argument3_4, InternalPlanDescription => InternalPlanDescription3_4} +import org.neo4j.cypher.internal.runtime.planDescription.{LegacyPlanDescription, Argument => Argument3_4, InternalPlanDescription => InternalPlanDescription3_4} import org.neo4j.cypher.internal.compiler.v2_3.executionplan.InternalExecutionResult import org.neo4j.cypher.internal.compiler.v2_3.planDescription.InternalPlanDescription.Arguments import org.neo4j.cypher.internal.compiler.v2_3.planDescription.InternalPlanDescription.Arguments._ import org.neo4j.cypher.internal.compiler.v2_3.planDescription.{Argument, InternalPlanDescription} -import org.neo4j.cypher.internal.compiler.v2_3.{PlannerName, _} +import org.neo4j.cypher.internal.compiler.v2_3.{PlannerName, ExecutionMode => ExecutionMode2_3, _} import org.neo4j.cypher.internal.frontend.v2_3.SemanticDirection.{BOTH, INCOMING, OUTGOING} import org.neo4j.cypher.internal.frontend.v2_3.notification.{InternalNotification, LegacyPlannerNotification, PlannerUnsupportedNotification, RuntimeUnsupportedNotification, _} import org.neo4j.cypher.internal.frontend.v2_3.{InputPosition => InternalInputPosition} import org.neo4j.cypher.internal.frontend.v2_3 import org.neo4j.cypher.internal.v3_4 -import org.neo4j.cypher.internal.{QueryStatistics, compatibility} +import org.neo4j.cypher.internal.runtime.{SCHEMA_WRITE, _} +import org.neo4j.cypher.internal.runtime.QueryStatistics +import org.neo4j.cypher.internal.runtime.planDescription.LegacyPlanDescription import org.neo4j.cypher.result.QueryResult import org.neo4j.cypher.result.QueryResult.Record import org.neo4j.graphdb.Result.ResultVisitor @@ -105,7 +106,7 @@ object ExecutionResultWrapper { class ExecutionResultWrapper(val inner: InternalExecutionResult, val planner: PlannerName, val runtime: RuntimeName, preParsingNotifications: Set[org.neo4j.graphdb.Notification], offset : Option[v2_3.InputPosition]) - extends org.neo4j.cypher.internal.InternalExecutionResult { + extends internal.runtime.InternalExecutionResult { override def planDescriptionRequested: Boolean = inner.planDescriptionRequested @@ -137,7 +138,7 @@ class ExecutionResultWrapper(val inner: InternalExecutionResult, val planner: Pl override def javaColumnAs[T](column: String): ResourceIterator[T] = inner.javaColumnAs(column) - def executionPlanDescription(): InternalPlanDescription3_4 = + def executionPlanDescription(): internal.runtime.planDescription.InternalPlanDescription = convert(inner.executionPlanDescription(). addArgument(Version("CYPHER 2.3")). addArgument(Planner(planner.toTextOutput)). @@ -145,11 +146,11 @@ class ExecutionResultWrapper(val inner: InternalExecutionResult, val planner: Pl addArgument(Runtime(runtime.toTextOutput)). addArgument(RuntimeImpl(runtime.name))) - private def convert(i: InternalPlanDescription): InternalPlanDescription3_4 = exceptionHandler.runSafely { + private def convert(i: InternalPlanDescription): internal.runtime.planDescription.InternalPlanDescription = exceptionHandler.runSafely { LegacyPlanDescription(i.name, convert(i.arguments), Set.empty, i.toString) } - private def convert(args: Seq[Argument]): Seq[Argument3_4] = args.collect { + private def convert(args: Seq[Argument]): Seq[internal.runtime.planDescription.Argument] = args.collect { case Arguments.LabelName(label) => InternalPlanDescription3_4.Arguments.LabelName(label) case Arguments.ColumnsLeft(value) => InternalPlanDescription3_4.Arguments.ColumnsLeft(value) case Arguments.DbHits(value) => InternalPlanDescription3_4.Arguments.DbHits(value) @@ -192,14 +193,14 @@ class ExecutionResultWrapper(val inner: InternalExecutionResult, val planner: Pl override def accept[EX <: Exception](visitor: ResultVisitor[EX]): Unit = inner.accept(visitor) - override def executionMode: compatibility.v3_4.runtime.ExecutionMode = { + override def executionMode: ExecutionMode = { val et = inner.executionType - if (et.isExplained) compatibility.v3_4.runtime.ExplainMode - else if (et.isProfiled) compatibility.v3_4.runtime.ProfileMode - else compatibility.v3_4.runtime.NormalMode + if (et.isExplained) internal.runtime.ExplainMode + else if (et.isProfiled) internal.runtime.ProfileMode + else internal.runtime.NormalMode } - override def withNotifications(notification: Notification*): internal.InternalExecutionResult = + override def withNotifications(notification: Notification*): internal.runtime.InternalExecutionResult = new ExecutionResultWrapper(inner, planner, runtime, preParsingNotifications ++ notification, offset) override def fieldNames(): Array[String] = inner.columns.toArray diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v2_3/RuleCompatibility.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v2_3/RuleCompatibility.scala index f5f13a560a65d..618e53eace320 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v2_3/RuleCompatibility.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v2_3/RuleCompatibility.scala @@ -20,7 +20,7 @@ package org.neo4j.cypher.internal.compatibility.v2_3 import org.neo4j.cypher.internal.compiler.v2_3.{CypherCompilerConfiguration, CypherCompilerFactory} -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService +import org.neo4j.cypher.internal.javacompat.GraphDatabaseCypherService import org.neo4j.helpers.Clock import org.neo4j.kernel.GraphDatabaseQueryService import org.neo4j.kernel.api.KernelAPI diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v2_3/exceptionHandler.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v2_3/exceptionHandler.scala index d6fd5774bdc88..e0a8ceb708aa1 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v2_3/exceptionHandler.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v2_3/exceptionHandler.scala @@ -20,6 +20,7 @@ package org.neo4j.cypher.internal.compatibility.v2_3 import org.neo4j.cypher._ +import org.neo4j.cypher.exceptionHandler.RunSafely import org.neo4j.cypher.internal.compatibility._ import org.neo4j.cypher.internal.frontend.v2_3.spi.MapToPublicExceptions import org.neo4j.cypher.internal.frontend.v2_3.{CypherException => InternalCypherException} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_1/Compatibility.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_1/Compatibility.scala index f3bb4737d0292..91796d3bb74fe 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_1/Compatibility.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_1/Compatibility.scala @@ -22,6 +22,7 @@ package org.neo4j.cypher.internal.compatibility.v3_1 import java.util.Collections.emptyList import java.util.function.BiConsumer +import org.neo4j.cypher.CypherExecutionMode import org.neo4j.cypher.internal.compatibility._ import org.neo4j.cypher.internal.compatibility.v3_1.helpers._ import org.neo4j.cypher.internal.compiler.v3_1 @@ -29,9 +30,10 @@ import org.neo4j.cypher.internal.compiler.v3_1.executionplan.{ExecutionPlan => E import org.neo4j.cypher.internal.compiler.v3_1.tracing.rewriters.RewriterStepSequencer import org.neo4j.cypher.internal.compiler.v3_1.{CompilationPhaseTracer, InfoLogger, ExplainMode => ExplainModev3_1, NormalMode => NormalModev3_1, ProfileMode => ProfileModev3_1, _} import org.neo4j.cypher.internal.javacompat.ExecutionResult +import org.neo4j.cypher.internal.runtime.interpreted.LastCommittedTxIdProvider import org.neo4j.cypher.internal.spi.v3_1.TransactionBoundQueryContext.IndexSearchMonitor import org.neo4j.cypher.internal.spi.v3_1.{TransactionalContextWrapper => TransactionalContextWrapperV3_1, _} -import org.neo4j.cypher.internal.spi.v3_4.{TransactionalContextWrapper => TransactionalContextWrapperV3_4} +import org.neo4j.cypher.internal.runtime.interpreted.{TransactionalContextWrapper => TransactionalContextWrapperV3_4} import org.neo4j.cypher.internal.{frontend, _} import org.neo4j.graphdb.Result import org.neo4j.kernel.GraphDatabaseQueryService diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_1/ExecutionResultWrapper.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_1/ExecutionResultWrapper.scala index 91cdb101e1dee..46ec25f2496b0 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_1/ExecutionResultWrapper.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_1/ExecutionResultWrapper.scala @@ -22,12 +22,11 @@ package org.neo4j.cypher.internal.compatibility.v3_1 import java.io.PrintWriter import java.util -import org.neo4j.cypher._ +import org.neo4j.cypher.{internal, _} import org.neo4j.cypher.internal._ import org.neo4j.cypher.internal.compatibility._ import org.neo4j.cypher.internal.compatibility.v3_1.ExecutionResultWrapper.asKernelNotification -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.{LegacyPlanDescription, Argument => Argument3_3, InternalPlanDescription => InternalPlanDescription3_3} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{ExecutionMode, ExplainMode, NormalMode, ProfileMode} +import org.neo4j.cypher.internal.runtime.planDescription.{InternalPlanDescription => InternalPlanDescription3_4} import org.neo4j.cypher.internal.compiler.v3_1.executionplan.{InternalExecutionResult, _} import org.neo4j.cypher.internal.compiler.v3_1.planDescription.InternalPlanDescription.Arguments import org.neo4j.cypher.internal.compiler.v3_1.planDescription.InternalPlanDescription.Arguments._ @@ -36,6 +35,9 @@ import org.neo4j.cypher.internal.compiler.v3_1.spi.{InternalResultRow, InternalR import org.neo4j.cypher.internal.compiler.v3_1.{PlannerName, ExplainMode => ExplainModev3_1, NormalMode => NormalModev3_1, ProfileMode => ProfileModev3_1, _} import org.neo4j.cypher.internal.frontend.v3_1.SemanticDirection.{BOTH, INCOMING, OUTGOING} import org.neo4j.cypher.internal.frontend.v3_1.notification.{DeprecatedPlannerNotification, InternalNotification, PlannerUnsupportedNotification, RuntimeUnsupportedNotification, _} +import org.neo4j.cypher.internal.runtime.{ExplainMode, NormalMode, ProfileMode} +import org.neo4j.cypher.internal.runtime.QueryStatistics +import org.neo4j.cypher.internal.runtime.planDescription.LegacyPlanDescription import org.neo4j.cypher.internal.v3_4.expressions import org.neo4j.cypher.result.QueryResult import org.neo4j.cypher.result.QueryResult.Record @@ -51,7 +53,7 @@ import scala.collection.JavaConverters._ class ExecutionResultWrapper(val inner: InternalExecutionResult, val planner: PlannerName, val runtime: RuntimeName, preParsingNotification: Set[org.neo4j.graphdb.Notification], offset : Option[frontend.v3_1.InputPosition]) - extends org.neo4j.cypher.internal.InternalExecutionResult { + extends internal.runtime.InternalExecutionResult { override def planDescriptionRequested: Boolean = inner.planDescriptionRequested override def javaIterator: ResourceIterator[util.Map[String, Any]] = inner.javaIterator @@ -80,7 +82,7 @@ class ExecutionResultWrapper(val inner: InternalExecutionResult, val planner: Pl override def javaColumnAs[T](column: String): ResourceIterator[T] = inner.javaColumnAs(column) - override def executionPlanDescription(): InternalPlanDescription3_3 = + override def executionPlanDescription(): internal.runtime.planDescription.InternalPlanDescription = convert( inner.executionPlanDescription(). addArgument(Version("CYPHER 3.1")). @@ -90,45 +92,45 @@ class ExecutionResultWrapper(val inner: InternalExecutionResult, val planner: Pl addArgument(RuntimeImpl(runtime.name)) ) - private def convert(i: InternalPlanDescription): InternalPlanDescription3_3 = exceptionHandler.runSafely { + private def convert(i: InternalPlanDescription): internal.runtime.planDescription.InternalPlanDescription = exceptionHandler.runSafely { LegacyPlanDescription(i.name, convert(i.arguments), Set.empty, i.toString) } - private def convert(args: Seq[Argument]): Seq[Argument3_3] = args.collect { - case Arguments.LabelName(label) => InternalPlanDescription3_3.Arguments.LabelName(label) - case Arguments.ColumnsLeft(value) => InternalPlanDescription3_3.Arguments.ColumnsLeft(value) - case Arguments.DbHits(value) => InternalPlanDescription3_3.Arguments.DbHits(value) - case Arguments.EstimatedRows(value) => InternalPlanDescription3_3.Arguments.EstimatedRows(value) + private def convert(args: Seq[Argument]): Seq[internal.runtime.planDescription.Argument] = args.collect { + case Arguments.LabelName(label) => InternalPlanDescription3_4.Arguments.LabelName(label) + case Arguments.ColumnsLeft(value) => InternalPlanDescription3_4.Arguments.ColumnsLeft(value) + case Arguments.DbHits(value) => InternalPlanDescription3_4.Arguments.DbHits(value) + case Arguments.EstimatedRows(value) => InternalPlanDescription3_4.Arguments.EstimatedRows(value) case Arguments.ExpandExpression(from, relName, relTypes, to, direction, min, max) => val dir3_3 = direction match { case INCOMING => expressions.SemanticDirection.INCOMING case OUTGOING => expressions.SemanticDirection.OUTGOING case BOTH => expressions.SemanticDirection.BOTH } - InternalPlanDescription3_3.Arguments.ExpandExpression(from, relName,relTypes,to, dir3_3, min, max) - - case Arguments.Index(label, propertyKey) => InternalPlanDescription3_3.Arguments.Index(label, Seq(propertyKey)) - case Arguments.LegacyIndex(value) => InternalPlanDescription3_3.Arguments.ExplicitIndex(value) - case Arguments.InequalityIndex(label, propertyKey, bounds) => InternalPlanDescription3_3.Arguments.InequalityIndex(label, propertyKey, bounds) - case Arguments.Planner(value) => InternalPlanDescription3_3.Arguments.Planner(value) - case Arguments.PlannerImpl(value) => InternalPlanDescription3_3.Arguments.PlannerImpl(value) - case Arguments.Runtime(value) => InternalPlanDescription3_3.Arguments.Runtime(value) - case Arguments.RuntimeImpl(value) => InternalPlanDescription3_3.Arguments.RuntimeImpl(value) - case Arguments.KeyNames(keys) => InternalPlanDescription3_3.Arguments.KeyNames(keys) - case Arguments.MergePattern(start) => InternalPlanDescription3_3.Arguments.MergePattern(start) - case Arguments.Version(value) => InternalPlanDescription3_3.Arguments.Version(value) + InternalPlanDescription3_4.Arguments.ExpandExpression(from, relName,relTypes,to, dir3_3, min, max) + + case Arguments.Index(label, propertyKey) => InternalPlanDescription3_4.Arguments.Index(label, Seq(propertyKey)) + case Arguments.LegacyIndex(value) => InternalPlanDescription3_4.Arguments.ExplicitIndex(value) + case Arguments.InequalityIndex(label, propertyKey, bounds) => InternalPlanDescription3_4.Arguments.InequalityIndex(label, propertyKey, bounds) + case Arguments.Planner(value) => InternalPlanDescription3_4.Arguments.Planner(value) + case Arguments.PlannerImpl(value) => InternalPlanDescription3_4.Arguments.PlannerImpl(value) + case Arguments.Runtime(value) => InternalPlanDescription3_4.Arguments.Runtime(value) + case Arguments.RuntimeImpl(value) => InternalPlanDescription3_4.Arguments.RuntimeImpl(value) + case Arguments.KeyNames(keys) => InternalPlanDescription3_4.Arguments.KeyNames(keys) + case Arguments.MergePattern(start) => InternalPlanDescription3_4.Arguments.MergePattern(start) + case Arguments.Version(value) => InternalPlanDescription3_4.Arguments.Version(value) } override def hasNext: Boolean = inner.hasNext override def next(): Map[String, Any] = inner.next() override def close(): Unit = inner.close() - override def queryType: compatibility.v3_4.runtime.executionplan.InternalQueryType = inner.executionType match { - case READ_ONLY => compatibility.v3_4.runtime.executionplan.READ_ONLY - case READ_WRITE => compatibility.v3_4.runtime.executionplan.READ_WRITE - case WRITE => compatibility.v3_4.runtime.executionplan.WRITE - case SCHEMA_WRITE => compatibility.v3_4.runtime.executionplan.SCHEMA_WRITE - case DBMS => compatibility.v3_4.runtime.executionplan.DBMS + override def queryType: internal.runtime.InternalQueryType = inner.executionType match { + case READ_ONLY => internal.runtime.READ_ONLY + case READ_WRITE => internal.runtime.READ_WRITE + case WRITE => internal.runtime.WRITE + case SCHEMA_WRITE => internal.runtime.SCHEMA_WRITE + case DBMS => internal.runtime.DBMS } override def notifications: Iterable[Notification] = inner.notifications.map(asKernelNotification(offset)) ++ preParsingNotification @@ -149,13 +151,13 @@ class ExecutionResultWrapper(val inner: InternalExecutionResult, val planner: Pl override def getString(key: String): String = row.getString(key) } - override def executionMode: ExecutionMode = inner.executionMode match { + override def executionMode: internal.runtime.ExecutionMode = inner.executionMode match { case ExplainModev3_1 => ExplainMode case ProfileModev3_1 => ProfileMode case NormalModev3_1 => NormalMode } - override def withNotifications(notification: Notification*): internal.InternalExecutionResult = + override def withNotifications(notification: Notification*): internal.runtime.InternalExecutionResult = new ExecutionResultWrapper(inner, planner, runtime, preParsingNotification ++ notification, offset) override def fieldNames(): Array[String] = inner.columns.toArray diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_1/exceptionHandler.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_1/exceptionHandler.scala index 3aadffca6d67e..4a2f5988bbb04 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_1/exceptionHandler.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_1/exceptionHandler.scala @@ -20,6 +20,7 @@ package org.neo4j.cypher.internal.compatibility.v3_1 import org.neo4j.cypher._ +import org.neo4j.cypher.exceptionHandler.RunSafely import org.neo4j.cypher.internal.compatibility.{ExceptionHandler, _} import org.neo4j.cypher.internal.frontend.v3_1.spi.MapToPublicExceptions import org.neo4j.cypher.internal.frontend.v3_1.{CypherException => InternalCypherException} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/Compatibility.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/Compatibility.scala index 1610afc898c7c..2f659debb966b 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/Compatibility.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/Compatibility.scala @@ -21,6 +21,7 @@ package org.neo4j.cypher.internal.compatibility.v3_4 import java.time.Clock +import org.neo4j.cypher.{CypherExecutionMode, exceptionHandler} import org.neo4j.cypher.internal._ import org.neo4j.cypher.internal.util.v3_4.InputPosition import org.neo4j.cypher.internal.compatibility._ @@ -34,13 +35,14 @@ import org.neo4j.cypher.internal.compiler.v3_4._ import org.neo4j.cypher.internal.compiler.v3_4.phases.{CompilationContains, LogicalPlanState} import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.idp._ import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.{CachedMetricsFactory, QueryGraphSolver, SimpleMetricsFactory} -import org.neo4j.cypher.internal.compiler.v3_4.spi.PlanContext import org.neo4j.cypher.internal.frontend.v3_4.ast.Statement import org.neo4j.cypher.internal.frontend.v3_4.helpers.rewriting.RewriterStepSequencer import org.neo4j.cypher.internal.frontend.v3_4.phases._ import org.neo4j.cypher.internal.javacompat.ExecutionResult -import org.neo4j.cypher.internal.spi.v3_4.TransactionBoundQueryContext.IndexSearchMonitor -import org.neo4j.cypher.internal.spi.v3_4._ +import org.neo4j.cypher.internal.planner.v3_4.spi.{CostBasedPlannerName, DPPlannerName, IDPPlannerName, PlanContext} +import org.neo4j.cypher.internal.runtime.{ExplainMode, InternalExecutionResult, NormalMode, ProfileMode} +import org.neo4j.cypher.internal.runtime.interpreted.TransactionBoundQueryContext.IndexSearchMonitor +import org.neo4j.cypher.internal.runtime.interpreted._ import org.neo4j.cypher.internal.v3_4.logical.plans.{ExplicitNodeIndexUsage, ExplicitRelationshipIndexUsage, SchemaIndexScanUsage, SchemaIndexSeekUsage} import org.neo4j.graphdb.Result import org.neo4j.kernel.api.KernelAPI @@ -85,7 +87,7 @@ trait Compatibility[CONTEXT <: CommunityRuntimeContext, def createExecPlan: Transformer[CONTEXT, LogicalPlanState, CompilationState] = { ProcedureCallOrSchemaCommandExecutionPlanBuilder andThen If((s: CompilationState) => s.maybeExecutionPlan.isEmpty)( - runtimeBuilder.create(maybeRuntimeName, config.useErrorsOverWarnings).adds(CompilationContains[ExecutionPlan]) + runtimeBuilder.create(maybeRuntimeName, config.useErrorsOverWarnings).adds(CompilationContains[ExecutionPlan_v3_4]) ) } diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/CompatibilityPlanDescription.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/CompatibilityPlanDescription.scala index e6cef546ad25b..902ad92d83969 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/CompatibilityPlanDescription.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/CompatibilityPlanDescription.scala @@ -20,11 +20,11 @@ package org.neo4j.cypher.internal.compatibility.v3_4 import org.neo4j.cypher.internal.compatibility.v3_4.runtime.RuntimeName -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription.Arguments.{DbHits, PageCacheHits, PageCacheMisses, Rows} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.{Argument, InternalPlanDescription, PlanDescriptionArgumentSerializer} import org.neo4j.cypher.internal.frontend.v3_4.PlannerName import org.neo4j.cypher.internal.javacompat.{PlanDescription, ProfilerStatistics} -import org.neo4j.cypher.{CypherVersion, InternalException} +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription.Arguments.{DbHits, PageCacheHits, PageCacheMisses, Rows} +import org.neo4j.cypher.internal.runtime.planDescription.{Argument, InternalPlanDescription, PlanDescriptionArgumentSerializer} +import org.neo4j.cypher.{CypherVersion, InternalException, exceptionHandler} import scala.collection.JavaConverters._ diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/CostCompatibility.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/CostCompatibility.scala index 72c7bc0ae8b61..12e3dab343b1c 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/CostCompatibility.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/CostCompatibility.scala @@ -28,6 +28,7 @@ import org.neo4j.cypher.internal.compiler.v3_4._ import org.neo4j.cypher.internal.compiler.v3_4.phases.LogicalPlanState import org.neo4j.cypher.internal.frontend.v3_4.ast.Statement import org.neo4j.cypher.internal.frontend.v3_4.phases.{BaseState, Monitors, Transformer} +import org.neo4j.cypher.internal.planner.v3_4.spi.{CostBasedPlannerName, DPPlannerName, IDPPlannerName} import org.neo4j.cypher.{CypherPlanner, CypherRuntime, CypherUpdateStrategy} import org.neo4j.kernel.api.KernelAPI import org.neo4j.kernel.monitoring.{Monitors => KernelMonitors} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/ExceptionTranslatingPlanContext.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/ExceptionTranslatingPlanContext.scala similarity index 96% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/ExceptionTranslatingPlanContext.scala rename to community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/ExceptionTranslatingPlanContext.scala index 7278dabdad239..fc7538c4186e9 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/ExceptionTranslatingPlanContext.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/ExceptionTranslatingPlanContext.scala @@ -17,11 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.spi.v3_4 +package org.neo4j.cypher.internal.compatibility.v3_4 -import org.neo4j.cypher.internal.compiler.v3_4.IndexDescriptor -import org.neo4j.cypher.internal.compiler.v3_4.spi._ import org.neo4j.cypher.internal.frontend.v3_4.phases.InternalNotificationLogger +import org.neo4j.cypher.internal.planner.v3_4.spi.{GraphStatistics, IndexDescriptor, PlanContext} import org.neo4j.cypher.internal.v3_4.logical.plans.{ProcedureSignature, QualifiedName, UserFunctionSignature} class ExceptionTranslatingPlanContext(inner: PlanContext) extends PlanContext with ExceptionTranslationSupport { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/ExceptionTranslatingQueryContext.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/ExceptionTranslatingQueryContext.scala index dc2bc6a2d72b3..0b444f3d303df 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/ExceptionTranslatingQueryContext.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/ExceptionTranslatingQueryContext.scala @@ -22,10 +22,10 @@ package org.neo4j.cypher.internal.compatibility.v3_4 import java.net.URL import org.neo4j.collection.primitive.PrimitiveLongIterator -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Expander, KernelPredicate, UserDefinedAggregator} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.matching.PatternNode -import org.neo4j.cypher.internal.compiler.v3_4.IndexDescriptor -import org.neo4j.cypher.internal.spi.v3_4._ +import org.neo4j.cypher.internal.planner.v3_4.spi.IndexDescriptor +import org.neo4j.cypher.internal.runtime.interpreted.pipes.matching.PatternNode +import org.neo4j.cypher.internal.runtime._ +import org.neo4j.cypher.internal.runtime.interpreted.{DelegatingOperations, DelegatingQueryTransactionalContext} import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.cypher.internal.v3_4.logical.plans.QualifiedName import org.neo4j.graphdb.{Node, Path, PropertyContainer, Relationship} @@ -232,8 +232,8 @@ class ExceptionTranslatingQueryContext(val inner: QueryContext) extends QueryCon override def asObject(value: AnyValue) = translateException(inner.asObject(value)) - override def variableLengthPathExpand(node: PatternNode, realNode: Long, minHops: Option[Int], maxHops: Option[Int], direction: SemanticDirection, relTypes: Seq[String]) = - translateException(inner.variableLengthPathExpand(node, realNode, minHops, maxHops, direction, relTypes)) + override def variableLengthPathExpand(realNode: Long, minHops: Option[Int], maxHops: Option[Int], direction: SemanticDirection, relTypes: Seq[String]) = + translateException(inner.variableLengthPathExpand(realNode, minHops, maxHops, direction, relTypes)) override def singleShortestPath(left: Long, right: Long, depth: Int, expander: Expander, pathPredicate: KernelPredicate[Path], filters: Seq[KernelPredicate[PropertyContainer]]) = translateException(inner.singleShortestPath(left, right, depth, expander, pathPredicate, filters)) diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/ExceptionTranslationSupport.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/ExceptionTranslationSupport.scala similarity index 94% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/ExceptionTranslationSupport.scala rename to community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/ExceptionTranslationSupport.scala index 44005c7dbfc02..0f9360fafe63a 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/ExceptionTranslationSupport.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/ExceptionTranslationSupport.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.spi.v3_4 +package org.neo4j.cypher.internal.compatibility.v3_4 -import org.neo4j.cypher.internal.compiler.v3_4.spi.TokenContext +import org.neo4j.cypher.internal.planner.v3_4.spi.TokenContext import org.neo4j.cypher.{ConstraintValidationException, CypherExecutionException} import org.neo4j.graphdb.{ConstraintViolationException => KernelConstraintViolationException} import org.neo4j.internal.kernel.api.TokenNameLookup diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/BuildInterpretedExecutionPlan.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/BuildInterpretedExecutionPlan.scala index 0919511baca5e..dad7d8da5e781 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/BuildInterpretedExecutionPlan.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/BuildInterpretedExecutionPlan.scala @@ -19,21 +19,21 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime -import org.neo4j.cypher.internal.InternalExecutionResult import org.neo4j.cypher.internal.util.v3_4.PeriodicCommitInOpenTransactionException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.convert.{CommunityExpressionConverter, ExpressionConverters} import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan._ import org.neo4j.cypher.internal.compatibility.v3_4.runtime.phases.CompilationState -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.Pipe import org.neo4j.cypher.internal.compatibility.v3_4.runtime.profiler.Profiler import org.neo4j.cypher.internal.compiler.v3_4.CypherCompilerConfiguration import org.neo4j.cypher.internal.compiler.v3_4.phases._ -import org.neo4j.cypher.internal.compiler.v3_4.spi.{GraphStatistics, PlanContext} import org.neo4j.cypher.internal.frontend.v3_4.notification.InternalNotification import org.neo4j.cypher.internal.frontend.v3_4.phases.CompilationPhaseTracer.CompilationPhase.PIPE_BUILDING import org.neo4j.cypher.internal.frontend.v3_4.phases.{InternalNotificationLogger, Phase} import org.neo4j.cypher.internal.frontend.v3_4.PlannerName -import org.neo4j.cypher.internal.spi.v3_4.{QueryContext, UpdateCountingQueryContext} +import org.neo4j.cypher.internal.planner.v3_4.spi.{GraphStatistics, PlanContext} +import org.neo4j.cypher.internal.runtime.interpreted.UpdateCountingQueryContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.convert.{CommunityExpressionConverter, ExpressionConverters} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.Pipe +import org.neo4j.cypher.internal.runtime.{ExecutionMode, InternalExecutionResult, ProfileMode, QueryContext} import org.neo4j.cypher.internal.v3_4.logical.plans.IndexUsage import org.neo4j.values.virtual.MapValue diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/CommunityPipeBuilder.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/CommunityPipeBuilder.scala index 36be18161617a..ee7adb1bb064f 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/CommunityPipeBuilder.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/CommunityPipeBuilder.scala @@ -19,20 +19,20 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime -import org.neo4j.cypher.internal.util.v3_4.InternalException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.convert.ExpressionConverters -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.convert.PatternConverters._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{AggregationExpression, Literal} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.{Predicate, True} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan._ +import org.neo4j.cypher.internal.util.v3_4.{Eagerly, InternalException} import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.builders.prepare.KeyTokenResolver -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes._ -import org.neo4j.cypher.internal.compiler.v3_4.spi.PlanContext -import org.neo4j.cypher.internal.frontend.v3_4.helpers.Eagerly import org.neo4j.cypher.internal.frontend.v3_4.phases.Monitors import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable -import org.neo4j.cypher.internal.v3_4.expressions.{Expression => ASTExpression, Equals => ASTEquals, _} +import org.neo4j.cypher.internal.v3_4.expressions.{Equals => ASTEquals, Expression => ASTExpression, _} import org.neo4j.cypher.internal.ir.v3_4.{IdName, VarPatternLength} +import org.neo4j.cypher.internal.planner.v3_4.spi.PlanContext +import org.neo4j.cypher.internal.runtime.ProcedureCallMode +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.convert.ExpressionConverters +import org.neo4j.cypher.internal.runtime.interpreted.commands.convert.PatternConverters._ +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{AggregationExpression, Literal} +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.{Predicate, True} +import org.neo4j.cypher.internal.runtime.interpreted.pipes._ import org.neo4j.cypher.internal.v3_4.logical.plans import org.neo4j.cypher.internal.v3_4.logical.plans.{ColumnOrder, Limit => LimitPlan, LoadCSV => LoadCSVPlan, Skip => SkipPlan, _} import org.neo4j.values.AnyValue @@ -412,8 +412,8 @@ case class CommunityPipeBuilder(monitors: Monitors, recurse: LogicalPlan => Pipe expressionConverters.toCommandPredicate(rewrittenExpr).rewrite(KeyTokenResolver.resolveExpressions(_, planContext)).asInstanceOf[Predicate] } - private def translateColumnOrder(s: ColumnOrder): pipes.ColumnOrder = s match { - case plans.Ascending(IdName(name)) => pipes.Ascending(name) - case plans.Descending(IdName(name)) => pipes.Descending(name) + private def translateColumnOrder(s: ColumnOrder): org.neo4j.cypher.internal.runtime.interpreted.pipes.ColumnOrder = s match { + case plans.Ascending(IdName(name)) => org.neo4j.cypher.internal.runtime.interpreted.pipes.Ascending(name) + case plans.Descending(IdName(name)) => org.neo4j.cypher.internal.runtime.interpreted.pipes.Descending(name) } } diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/CommunityRuntimeContext.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/CommunityRuntimeContext.scala index ccdd48bb64663..449b3822d5cfb 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/CommunityRuntimeContext.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/CommunityRuntimeContext.scala @@ -25,9 +25,9 @@ import org.neo4j.cypher.internal.util.v3_4.{CypherException, InputPosition} import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.{PlanFingerprint, PlanFingerprintReference} import org.neo4j.cypher.internal.compiler.v3_4.phases.CompilerContext import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.{ExpressionEvaluator, Metrics, MetricsFactory, QueryGraphSolver} -import org.neo4j.cypher.internal.compiler.v3_4.spi.PlanContext import org.neo4j.cypher.internal.compiler.v3_4.{ContextCreator, CypherCompilerConfiguration, SyntaxExceptionCreator, UpdateStrategy} import org.neo4j.cypher.internal.frontend.v3_4.phases.{CompilationPhaseTracer, InternalNotificationLogger, Monitors} +import org.neo4j.cypher.internal.planner.v3_4.spi.PlanContext class CommunityRuntimeContext(override val exceptionCreator: (String, InputPosition) => CypherException, override val tracer: CompilationPhaseTracer, diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/ExecutionResultDumper.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/ExecutionResultDumper.scala index 28b8d66670b4d..b2c0982bd8dbf 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/ExecutionResultDumper.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/ExecutionResultDumper.scala @@ -21,10 +21,9 @@ package org.neo4j.cypher.internal.compatibility.v3_4.runtime import java.io.{PrintWriter, StringWriter} -import org.neo4j.cypher.internal.QueryStatistics -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values.KeyToken import org.neo4j.cypher.internal.compiler.v3_4.helpers.IsList -import org.neo4j.cypher.internal.spi.v3_4.QueryContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.values.KeyToken +import org.neo4j.cypher.internal.runtime.{QueryContext, QueryStatistics} import org.neo4j.graphdb.{Node, PropertyContainer, Relationship} import scala.collection.Map diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/ExplainExecutionResult.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/ExplainExecutionResult.scala index bf29900acb35d..de940e4d828f1 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/ExplainExecutionResult.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/ExplainExecutionResult.scala @@ -23,9 +23,9 @@ import java.io.PrintWriter import java.util import java.util.Collections -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.InternalQueryType -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription -import org.neo4j.cypher.internal.{InternalExecutionResult, QueryStatistics} +import org.neo4j.cypher.internal.runtime.{ExecutionMode, ExplainMode, InternalExecutionResult, InternalQueryType} +import org.neo4j.cypher.internal.runtime.QueryStatistics +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription import org.neo4j.cypher.result.QueryResult.QueryResultVisitor import org.neo4j.graphdb.Result.ResultVisitor import org.neo4j.graphdb.{Notification, ResourceIterator} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/PipeBuilderFactory.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/PipeBuilderFactory.scala index 1918989ba69b0..e20a397a7c080 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/PipeBuilderFactory.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/PipeBuilderFactory.scala @@ -20,12 +20,11 @@ package org.neo4j.cypher.internal.compatibility.v3_4.runtime import org.neo4j.cypher.internal.util.v3_4.{Rewriter, bottomUp} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.convert.ExpressionConverters -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{NestedPipeExpression, Pipe} -import org.neo4j.cypher.internal.compiler.v3_4.spi.PlanContext -import org.neo4j.cypher.internal.compiler.v3_4.{ast => compilerAst} import org.neo4j.cypher.internal.frontend.v3_4.phases.Monitors -import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlan +import org.neo4j.cypher.internal.planner.v3_4.spi.PlanContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.convert.ExpressionConverters +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{NestedPipeExpression, Pipe} +import org.neo4j.cypher.internal.v3_4.logical.plans.{LogicalPlan, NestedPlanExpression} import org.neo4j.cypher.internal.v3_4.{expressions => frontEndAst} trait PipeBuilderFactory { @@ -41,7 +40,7 @@ trait PipeBuilderFactory { val buildPipeExpressions = new Rewriter { private val instance = bottomUp(Rewriter.lift { - case expr@compilerAst.NestedPlanExpression(patternPlan, expression) => + case expr@NestedPlanExpression(patternPlan, expression) => val pipe = recurse(patternPlan) val result = NestedPipeExpression(pipe, expression)(expr.position) result diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/PipeExecutionPlanBuilder.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/PipeExecutionPlanBuilder.scala index 469cdd2884afb..4874b17044b73 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/PipeExecutionPlanBuilder.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/PipeExecutionPlanBuilder.scala @@ -22,12 +22,12 @@ package org.neo4j.cypher.internal.compatibility.v3_4.runtime import java.time.Clock import org.neo4j.cypher.internal.util.v3_4.InternalException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.convert.ExpressionConverters import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes._ -import org.neo4j.cypher.internal.compiler.v3_4.spi.{InstrumentedGraphStatistics, PlanContext} import org.neo4j.cypher.internal.frontend.v3_4.phases.Monitors import org.neo4j.cypher.internal.ir.v3_4.PeriodicCommit +import org.neo4j.cypher.internal.planner.v3_4.spi.{InstrumentedGraphStatistics, PlanContext} +import org.neo4j.cypher.internal.runtime.interpreted.commands.convert.ExpressionConverters +import org.neo4j.cypher.internal.runtime.interpreted.pipes.Pipe import org.neo4j.cypher.internal.v3_4.logical.plans.{LogicalPlan, Limit => LimitPlan, LoadCSV => LoadCSVPlan, Skip => SkipPlan} import scala.collection.mutable diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/PipeExecutionResult.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/PipeExecutionResult.scala index 98016879efc65..80ebcdf6b19ed 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/PipeExecutionResult.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/PipeExecutionResult.scala @@ -22,14 +22,12 @@ package org.neo4j.cypher.internal.compatibility.v3_4.runtime import java.io.PrintWriter import java.util -import org.neo4j.cypher.internal.InternalExecutionResult -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.InternalQueryType -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.{MapBasedRow, RuntimeJavaValueConverter, RuntimeScalaValueConverter} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription.Arguments.Version -import org.neo4j.cypher.internal.frontend.v3_4.helpers.Eagerly.immutableMapValues -import org.neo4j.cypher.internal.spi.v3_4.QueryContext +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.MapBasedRow +import org.neo4j.cypher.internal.util.v3_4.Eagerly.immutableMapValues +import org.neo4j.cypher.internal.runtime._ +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription.Arguments.Version import org.neo4j.cypher.result.QueryResult import org.neo4j.cypher.result.QueryResult.QueryResultVisitor import org.neo4j.graphdb.Result.ResultVisitor diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/ResultIterator.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/ResultIterator.scala index fcc2641543c7b..868142b20305b 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/ResultIterator.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/ResultIterator.scala @@ -19,7 +19,7 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime -import org.neo4j.cypher.internal.util.v3_4.CypherException +import org.neo4j.cypher.internal.util.v3_4.{CypherException, TaskCloser} import org.neo4j.values.AnyValue import scala.collection.immutable diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/CheckForLoadCsvAndMatchOnLargeLabel.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/CheckForLoadCsvAndMatchOnLargeLabel.scala index 98b4bcbf631f0..60011217d3f70 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/CheckForLoadCsvAndMatchOnLargeLabel.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/CheckForLoadCsvAndMatchOnLargeLabel.scala @@ -19,11 +19,10 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes._ -import org.neo4j.cypher.internal.compiler.v3_4.spi.PlanContext -import org.neo4j.cypher.internal.frontend.v3_4.LabelId import org.neo4j.cypher.internal.frontend.v3_4.notification.{InternalNotification, LargeLabelWithLoadCsvNotification} -import org.neo4j.cypher.internal.ir.v3_4.Cardinality +import org.neo4j.cypher.internal.planner.v3_4.spi.PlanContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{LoadCSVPipe, NodeByLabelScanPipe, Pipe} +import org.neo4j.cypher.internal.util.v3_4.{Cardinality, LabelId} case class CheckForLoadCsvAndMatchOnLargeLabel(planContext: PlanContext, nonIndexedLabelWarningThreshold: Long) extends (Pipe => Option[InternalNotification]) { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/DefaultExecutionResultBuilderFactory.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/DefaultExecutionResultBuilderFactory.scala index 97693e269d275..02ec9b23f148b 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/DefaultExecutionResultBuilderFactory.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/DefaultExecutionResultBuilderFactory.scala @@ -19,15 +19,15 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan -import org.neo4j.cypher.internal.InternalExecutionResult -import org.neo4j.cypher.internal.util.v3_4.{CypherException, ProfilerStatisticsNotReadyException} +import org.neo4j.cypher.internal.util.v3_4.{CypherException, ProfilerStatisticsNotReadyException, TaskCloser} import org.neo4j.cypher.internal.compatibility.v3_4.runtime._ import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.InternalWrapping._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription.Arguments.{Runtime, RuntimeImpl} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.{InternalPlanDescription, LogicalPlan2PlanDescription} import org.neo4j.cypher.internal.frontend.v3_4.phases.InternalNotificationLogger -import org.neo4j.cypher.internal.spi.v3_4.{CSVResources, QueryContext} +import org.neo4j.cypher.internal.runtime.interpreted.pipes._ +import org.neo4j.cypher.internal.runtime.{InternalExecutionResult, _} +import org.neo4j.cypher.internal.runtime.interpreted.{CSVResources, ExecutionContext} +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription.Arguments.{Runtime, RuntimeImpl} +import org.neo4j.cypher.internal.runtime.planDescription.{InternalPlanDescription, LogicalPlan2PlanDescription} import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlan import org.neo4j.values.virtual.MapValue diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/ExecutionPlan.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/ExecutionPlan.scala index 5f14e792f11ec..37c282c366930 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/ExecutionPlan.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/ExecutionPlan.scala @@ -19,12 +19,11 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan -import org.neo4j.cypher.internal.InternalExecutionResult -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{ExecutionMode, RuntimeName} -import org.neo4j.cypher.internal.compiler.v3_4.spi.{GraphStatistics, PlanContext} +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.RuntimeName import org.neo4j.cypher.internal.frontend.v3_4.PlannerName import org.neo4j.cypher.internal.frontend.v3_4.notification.InternalNotification -import org.neo4j.cypher.internal.spi.v3_4.QueryContext +import org.neo4j.cypher.internal.planner.v3_4.spi.{GraphStatistics, PlanContext} +import org.neo4j.cypher.internal.runtime.{ExecutionMode, InternalExecutionResult, QueryContext} import org.neo4j.cypher.internal.v3_4.logical.plans.IndexUsage import org.neo4j.values.virtual.MapValue diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/ExecutionPlanBuilder.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/ExecutionPlanBuilder.scala index 2953dece2fea8..6e15bb1af5f95 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/ExecutionPlanBuilder.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/ExecutionPlanBuilder.scala @@ -19,9 +19,9 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.Pipe import org.neo4j.cypher.internal.compiler.v3_4.planner.CantCompileQueryException import org.neo4j.cypher.internal.frontend.v3_4.PlannerName +import org.neo4j.cypher.internal.runtime.interpreted.pipes.Pipe import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlan case class PipeInfo(pipe: Pipe, diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/ExecutionResultBuilder.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/ExecutionResultBuilder.scala index 3d1f32178c0f5..e402ac9c624f3 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/ExecutionResultBuilder.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/ExecutionResultBuilder.scala @@ -19,12 +19,11 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan -import org.neo4j.cypher.internal.InternalExecutionResult import org.neo4j.cypher.internal.util.v3_4.CypherException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.PipeDecorator -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{ExecutionMode, RuntimeName} +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.RuntimeName import org.neo4j.cypher.internal.frontend.v3_4.phases.InternalNotificationLogger -import org.neo4j.cypher.internal.spi.v3_4.QueryContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.PipeDecorator +import org.neo4j.cypher.internal.runtime.{ExecutionMode, InternalExecutionResult, QueryContext} import org.neo4j.values.virtual.MapValue trait ExecutionResultBuilder { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/LoadCsvPeriodicCommitObserver.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/LoadCsvPeriodicCommitObserver.scala index 8a458c36d1af4..073e07574c555 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/LoadCsvPeriodicCommitObserver.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/LoadCsvPeriodicCommitObserver.scala @@ -21,9 +21,9 @@ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan import java.net.URL +import org.neo4j.cypher.internal.runtime.QueryContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.ExternalCSVResource import org.neo4j.cypher.internal.util.v3_4.{CypherException, LoadCsvStatusWrapCypherException} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.ExternalCSVResource -import org.neo4j.cypher.internal.spi.v3_4.QueryContext class LoadCsvPeriodicCommitObserver(batchRowCount: Long, resources: ExternalCSVResource, queryContext: QueryContext) extends ExternalCSVResource with ((CypherException) => CypherException) { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/MatchPattern.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/MatchPattern.scala deleted file mode 100644 index 474bdbceddcff..0000000000000 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/MatchPattern.scala +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan - -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands._ - -import scala.collection.mutable - -object MatchPattern { - - type TUPLE = (Seq[String], Seq[MatchRelationship]) - - def apply (patterns:Seq[Pattern]) : MatchPattern = if(patterns.isEmpty) { - MatchPattern(Seq(), Seq()) - } else { - def tuple(name:Option[String], from: String, to: String): TUPLE = { - Seq(from, to) -> Seq(MatchRelationship(name, from, to)) - } - - val theThings: Seq[TUPLE] = patterns.map { - case SingleNode(n, _, _) => Seq(n) -> Seq() - case RelatedTo(from, to, r, _, _, _) => tuple(Some(r), from.name, to.name) - case ShortestPath(_, from, to, _, _, _, _, _, _) => tuple(None, from.name, to.name) - case VarLengthRelatedTo(_, from, to, _, _, _, _, _, _) => tuple(None, from.name, to.name) - } - - val (nodes, rels) = theThings.reduce( (a,b) => { - val ((aNodes,aRels),(bNodes,bRels)) = (a,b) - ( aNodes ++ bNodes, aRels ++ bRels ) - }) - - new MatchPattern(nodes, rels) - } -} - -case class MatchRelationship(name:Option[String], from:String, to:String) { - def contains(node: String):Boolean = from == node || to == node -} - -case class MatchPattern(nodes:Seq[String], relationships:Seq[MatchRelationship]) { - def isEmpty: Boolean = nodes.isEmpty && relationships.isEmpty - def nonEmpty : Boolean = !isEmpty - - def possibleStartNodes : Seq[String] = nodes - - def disconnectedPatternsWithout(variables: Seq[String]): Seq[MatchPattern] = - disconnectedPatterns. - filterNot( _.containsVariableNamed( variables ) ). - filter(_.nonEmpty) - - def containsVariableNamed(variables: Seq[String]): Boolean = - nodes.exists(variables.contains) || - relationships.flatMap(_.name).exists(variables.contains) - - def disconnectedPatterns : Seq[MatchPattern] = if (nodes.isEmpty) { - Seq(this) - } else { - - val result = mutable.ListBuffer[MatchPattern]() - var nodesLeft = nodes.toSet - var relationshipsLeft = relationships.toSet - - var currentNodes= mutable.ListBuffer[String]() - var currentRels = mutable.ListBuffer[MatchRelationship]() - - def popNextNode() { - var current = nodesLeft.head - nodesLeft -= current - currentNodes += current - } - - popNextNode() - - while(nodesLeft.nonEmpty) { - - // Find relationships that our nodes are involved in - val (interesting, temp) = relationshipsLeft.partition( (r) => currentNodes.exists(r.contains) ) - relationshipsLeft = temp - - if(interesting.nonEmpty) { - - currentRels ++= interesting - - // Now find nodes that our new rels are connected to, that we haven't added yet - val (interestingNodes, tempNodes) = - nodesLeft.partition( node => currentRels.exists( r => r.contains(node)) ) - nodesLeft = tempNodes - - currentNodes ++= interestingNodes - } else { - // Done finding a disjoint subgraph, save it off and clear space for the next one - result += MatchPattern(currentNodes.toIndexedSeq, currentRels.toIndexedSeq) - currentNodes.clear() - currentRels.clear() - - popNextNode() - } - } - - // Add last graph - result += MatchPattern(currentNodes.toIndexedSeq, currentRels.toIndexedSeq) - result.toIndexedSeq - } - -} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/PlanFingerprint.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/PlanFingerprint.scala index 7932c887bda5c..fb390da0f85a5 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/PlanFingerprint.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/PlanFingerprint.scala @@ -21,7 +21,7 @@ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan import java.time.Clock -import org.neo4j.cypher.internal.compiler.v3_4.spi.{GraphStatistics, GraphStatisticsSnapshot} +import org.neo4j.cypher.internal.planner.v3_4.spi.{GraphStatistics, GraphStatisticsSnapshot} case class PlanFingerprint(creationTimeMillis: Long, txId: Long, snapshot: GraphStatisticsSnapshot) diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/StandardInternalExecutionResult.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/StandardInternalExecutionResult.scala index 577acc5ca7614..11df15f2d6471 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/StandardInternalExecutionResult.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/StandardInternalExecutionResult.scala @@ -23,17 +23,15 @@ import java.io.{PrintWriter, StringWriter} import java.util import org.neo4j.cypher.internal.compatibility.v3_4.runtime._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.{MapBasedRow, RuntimeScalaValueConverter, RuntimeTextValueConverter} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription.Arguments.{Planner, PlannerImpl, Runtime, RuntimeImpl} -import org.neo4j.cypher.internal.frontend.v3_4.PlannerName -import org.neo4j.cypher.internal.frontend.v3_4.helpers.Eagerly -import org.neo4j.cypher.internal.spi.v3_4.QueryContext -import org.neo4j.cypher.internal.{InternalExecutionResult, QueryStatistics} +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.{MapBasedRow, RuntimeTextValueConverter} +import org.neo4j.cypher.internal.runtime._ +import org.neo4j.cypher.internal.util.v3_4.{Eagerly, TaskCloser} +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription.Arguments.{Runtime, RuntimeImpl} import org.neo4j.cypher.result.QueryResult import org.neo4j.cypher.result.QueryResult.QueryResultVisitor +import org.neo4j.graphdb.{NotFoundException, Notification, ResourceIterator} import org.neo4j.graphdb.Result.{ResultRow, ResultVisitor} -import org.neo4j.graphdb._ import scala.collection.{Map, mutable} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/builders/prepare/KeyTokenResolver.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/builders/prepare/KeyTokenResolver.scala index 8c3b41a6ed2e0..9b4e6b3cd8264 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/builders/prepare/KeyTokenResolver.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/builders/prepare/KeyTokenResolver.scala @@ -19,9 +19,9 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.builders.prepare -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values.KeyToken -import org.neo4j.cypher.internal.compiler.v3_4.spi.TokenContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.commands.values.KeyToken +import org.neo4j.cypher.internal.planner.v3_4.spi.TokenContext object KeyTokenResolver { /*this is what you should use!*/ diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/checkForEagerLoadCsv.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/checkForEagerLoadCsv.scala index 6d41305d05020..93f237a60de56 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/checkForEagerLoadCsv.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/checkForEagerLoadCsv.scala @@ -19,8 +19,8 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{EagerPipe, LoadCSVPipe, Pipe} import org.neo4j.cypher.internal.frontend.v3_4.notification.{EagerLoadCsvNotification, InternalNotification} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{EagerPipe, LoadCSVPipe, Pipe} object checkForEagerLoadCsv extends (Pipe => Option[InternalNotification]) { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/formatOutput.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/formatOutput.scala index 2248759bcbb85..3957f8e7cd994 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/formatOutput.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/formatOutput.scala @@ -21,7 +21,7 @@ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan import java.io.PrintWriter -import org.neo4j.cypher.internal.QueryStatistics +import org.neo4j.cypher.internal.runtime.QueryStatistics import scala.collection.Map diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/procs/ProcedureCallExecutionPlan.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/procs/ProcedureCallExecutionPlan.scala index 7fc7b155001f4..19e5adb460257 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/procs/ProcedureCallExecutionPlan.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/procs/ProcedureCallExecutionPlan.scala @@ -20,23 +20,21 @@ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.procs import org.neo4j.cypher.CypherVersion -import org.neo4j.cypher.internal.InternalExecutionResult import org.neo4j.cypher.internal.compatibility.v3_4.runtime._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.convert.ExpressionConverters -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Literal -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.{ExecutionPlan, ProcedureCallMode} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.Counter -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{ExternalCSVResource, QueryState} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription.Arguments._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.{Argument, NoChildren, PlanDescriptionImpl} -import org.neo4j.cypher.internal.compiler.v3_4.ProcedurePlannerName +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.ExecutionPlan import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.cypher.internal.v3_4.expressions.Expression import org.neo4j.cypher.internal.frontend.v3_4.notification.InternalNotification +import org.neo4j.cypher.internal.planner.v3_4.spi.{GraphStatistics, PlanContext, ProcedurePlannerName} import org.neo4j.cypher.internal.util.v3_4.symbols.CypherType -import org.neo4j.cypher.internal.compiler.v3_4.spi.{GraphStatistics, PlanContext} -import org.neo4j.cypher.internal.spi.v3_4.QueryContext +import org.neo4j.cypher.internal.runtime._ +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.convert.ExpressionConverters +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{Literal, Expression => CommandExpression} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{ExternalCSVResource, QueryState} +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription.Arguments._ +import org.neo4j.cypher.internal.runtime.planDescription.{Argument, NoChildren, PlanDescriptionImpl} +import org.neo4j.cypher.internal.util.v3_4.TaskCloser import org.neo4j.cypher.internal.v3_4.logical.plans.ProcedureSignature import org.neo4j.graphdb.Notification import org.neo4j.values.virtual.MapValue @@ -66,7 +64,7 @@ case class ProcedureCallExecutionPlan(signature: ProcedureSignature, (r._1, r._2, resultSymbols(i)._2) }) - private val argExprCommands: Seq[expressions.Expression] = argExprs.map(converter.toCommandExpression) ++ + private val argExprCommands: Seq[CommandExpression] = argExprs.map(converter.toCommandExpression) ++ signature.inputSignature.drop(argExprs.size).flatMap(_.default).map(o => Literal(o.value)) override def run(ctx: QueryContext, planType: ExecutionMode, params: MapValue): InternalExecutionResult = { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/procs/ProcedureCallOrSchemaCommandExecutionPlanBuilder.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/procs/ProcedureCallOrSchemaCommandExecutionPlanBuilder.scala index 40ba19259e031..4ce5d2d0f6f21 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/procs/ProcedureCallOrSchemaCommandExecutionPlanBuilder.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/procs/ProcedureCallOrSchemaCommandExecutionPlanBuilder.scala @@ -20,17 +20,17 @@ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.procs import org.neo4j.cypher.internal.compatibility.v3_4.runtime.CommunityRuntimeContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.convert.{CommunityExpressionConverter, ExpressionConverters} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.{ExecutionPlan, SCHEMA_WRITE} +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.ExecutionPlan import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.InternalWrapping._ import org.neo4j.cypher.internal.compatibility.v3_4.runtime.phases.CompilationState -import org.neo4j.cypher.internal.compiler.v3_4.IndexDescriptor import org.neo4j.cypher.internal.compiler.v3_4.phases._ -import org.neo4j.cypher.internal.frontend.v3_4._ import org.neo4j.cypher.internal.frontend.v3_4.phases.CompilationPhaseTracer.CompilationPhase import org.neo4j.cypher.internal.frontend.v3_4.phases.CompilationPhaseTracer.CompilationPhase.PIPE_BUILDING import org.neo4j.cypher.internal.frontend.v3_4.phases.{Condition, Phase} -import org.neo4j.cypher.internal.spi.v3_4.QueryContext +import org.neo4j.cypher.internal.planner.v3_4.spi.IndexDescriptor +import org.neo4j.cypher.internal.runtime.{QueryContext, SCHEMA_WRITE} +import org.neo4j.cypher.internal.runtime.interpreted.commands.convert.{CommunityExpressionConverter, ExpressionConverters} +import org.neo4j.cypher.internal.util.v3_4.{LabelId, PropertyKeyId} import org.neo4j.cypher.internal.v3_4.expressions.{LabelName, PropertyKeyName, RelTypeName} import org.neo4j.cypher.internal.v3_4.logical.plans._ diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/procs/ProcedureExecutionResult.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/procs/ProcedureExecutionResult.scala index 9af7a239cac5f..24098522dc96f 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/procs/ProcedureExecutionResult.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/procs/ProcedureExecutionResult.scala @@ -21,15 +21,14 @@ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.procs import java.util -import org.neo4j.cypher.internal.util.v3_4.ProfilerStatisticsNotReadyException +import org.neo4j.cypher.internal.util.v3_4.{ProfilerStatisticsNotReadyException, TaskCloser} import org.neo4j.cypher.internal.compatibility.v3_4.runtime._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.{InternalQueryType, ProcedureCallMode, StandardInternalExecutionResult} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription.Arguments.{Runtime, RuntimeImpl} +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.StandardInternalExecutionResult import org.neo4j.cypher.internal.util.v3_4.symbols.{CypherType, _} -import org.neo4j.cypher.internal.spi.v3_4.QueryContext import org.neo4j.cypher.internal.v3_4.logical.plans.QualifiedName -import org.neo4j.cypher.internal.{InternalExecutionResult, QueryStatistics} +import org.neo4j.cypher.internal.runtime._ +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription.Arguments.{Runtime, RuntimeImpl} import org.neo4j.cypher.result.QueryResult.{QueryResultVisitor, Record} import org.neo4j.graphdb.Notification import org.neo4j.graphdb.spatial.{Geometry, Point} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/procs/PureSideEffectExecutionPlan.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/procs/PureSideEffectExecutionPlan.scala index 3b9c57595d37b..5069a8caa3217 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/procs/PureSideEffectExecutionPlan.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/procs/PureSideEffectExecutionPlan.scala @@ -20,16 +20,16 @@ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.procs import org.neo4j.cypher.CypherVersion -import org.neo4j.cypher.internal.InternalExecutionResult import org.neo4j.cypher.internal.compatibility.v3_4.runtime._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.{ExecutionPlan, InternalQueryType, SCHEMA_WRITE} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription.Arguments._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.{NoChildren, PlanDescriptionImpl} +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.ExecutionPlan import org.neo4j.cypher.internal.compiler.v3_4._ -import org.neo4j.cypher.internal.compiler.v3_4.spi.{GraphStatistics, PlanContext} import org.neo4j.cypher.internal.frontend.v3_4.PlannerName import org.neo4j.cypher.internal.frontend.v3_4.notification.InternalNotification -import org.neo4j.cypher.internal.spi.v3_4.{QueryContext, UpdateCountingQueryContext} +import org.neo4j.cypher.internal.planner.v3_4.spi.{GraphStatistics, PlanContext, ProcedurePlannerName} +import org.neo4j.cypher.internal.runtime._ +import org.neo4j.cypher.internal.runtime.interpreted.UpdateCountingQueryContext +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription.Arguments._ +import org.neo4j.cypher.internal.runtime.planDescription.{NoChildren, PlanDescriptionImpl} import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.values.virtual.MapValue diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/procs/PureSideEffectInternalExecutionResult.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/procs/PureSideEffectInternalExecutionResult.scala index 6681195a2fbff..384cb763f28d2 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/procs/PureSideEffectInternalExecutionResult.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/procs/PureSideEffectInternalExecutionResult.scala @@ -21,11 +21,10 @@ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.procs import java.io.PrintWriter -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.{InternalQueryType, StandardInternalExecutionResult} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{ExecutionMode, ProcedureRuntimeName} -import org.neo4j.cypher.internal.spi.v3_4.QueryContext -import org.neo4j.cypher.internal.{InternalExecutionResult, QueryStatistics} +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.StandardInternalExecutionResult +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ProcedureRuntimeName +import org.neo4j.cypher.internal.runtime._ +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription import org.neo4j.cypher.result.QueryResult.QueryResultVisitor import org.neo4j.graphdb.Notification diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/RuntimeTextValueConverter.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/RuntimeTextValueConverter.scala index 24845a05e1b5e..88eb8cfbb714b 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/RuntimeTextValueConverter.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/RuntimeTextValueConverter.scala @@ -19,8 +19,8 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values.KeyToken -import org.neo4j.cypher.internal.spi.v3_4.QueryContext +import org.neo4j.cypher.internal.runtime.{QueryContext, RuntimeScalaValueConverter} +import org.neo4j.cypher.internal.runtime.interpreted.commands.values.KeyToken import org.neo4j.graphdb.{Entity, Node, Path, Relationship} import scala.collection.Map diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/simpleExpressionEvaluator.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/simpleExpressionEvaluator.scala index d212117f4a34f..0fe1ceb3852d6 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/simpleExpressionEvaluator.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/simpleExpressionEvaluator.scala @@ -20,10 +20,10 @@ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers import org.neo4j.cypher.internal.util.v3_4.{CypherException => InternalCypherException} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.convert.{CommunityExpressionConverter, ExpressionConverters} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{NullPipeDecorator, QueryState} import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.ExpressionEvaluator +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.convert.{CommunityExpressionConverter, ExpressionConverters} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{NullPipeDecorator, QueryState} import org.neo4j.cypher.internal.v3_4.expressions.Expression import org.neo4j.values.virtual.VirtualValues diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/profiler/Profiler.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/profiler/Profiler.scala index 323a0a6d2628b..41b24b2fcb0b3 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/profiler/Profiler.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/profiler/Profiler.scala @@ -20,12 +20,12 @@ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.profiler import org.neo4j.collection.primitive.PrimitiveLongIterator -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.PrimitiveLongHelper -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{Pipe, PipeDecorator, QueryState} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription.Arguments -import org.neo4j.cypher.internal.spi.v3_4.{DelegatingOperations, DelegatingQueryContext, Operations, QueryContext} +import org.neo4j.cypher.internal.runtime.{Operations, QueryContext} +import org.neo4j.cypher.internal.runtime.interpreted.{DelegatingOperations, DelegatingQueryContext, ExecutionContext} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{Pipe, PipeDecorator, QueryState} +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription.Arguments import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.graphdb.{Node, PropertyContainer, Relationship} import org.neo4j.helpers.MathUtil diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v2_3/TransactionBoundPlanContext.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v2_3/TransactionBoundPlanContext.scala index 0cc4229af0a45..4584af9f90668 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v2_3/TransactionBoundPlanContext.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v2_3/TransactionBoundPlanContext.scala @@ -23,7 +23,7 @@ import org.neo4j.cypher.MissingIndexException import org.neo4j.cypher.internal.compiler.v2_3.pipes.EntityProducer import org.neo4j.cypher.internal.compiler.v2_3.pipes.matching.ExpanderStep import org.neo4j.cypher.internal.compiler.v2_3.spi._ -import org.neo4j.cypher.internal.spi.v3_4.TransactionalContextWrapper +import org.neo4j.cypher.internal.runtime.interpreted.TransactionalContextWrapper import org.neo4j.graphdb.Node import org.neo4j.internal.kernel.api.exceptions.KernelException import org.neo4j.kernel.api.index.InternalIndexState diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v2_3/TransactionBoundQueryContext.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v2_3/TransactionBoundQueryContext.scala index d59491b302851..c9a894678e419 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v2_3/TransactionBoundQueryContext.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v2_3/TransactionBoundQueryContext.scala @@ -35,9 +35,8 @@ import org.neo4j.cypher.internal.compiler.v2_3.helpers.JavaConversionSupport._ import org.neo4j.cypher.internal.compiler.v2_3.pipes.matching.PatternNode import org.neo4j.cypher.internal.compiler.v2_3.spi._ import org.neo4j.cypher.internal.frontend.v2_3.{Bound, EntityNotFoundException, FailedIndexException, SemanticDirection} -import org.neo4j.cypher.internal.spi.BeansAPIRelationshipIterator -import org.neo4j.cypher.internal.spi.v3_4.TransactionalContextWrapper -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService +import org.neo4j.cypher.internal.javacompat.GraphDatabaseCypherService +import org.neo4j.cypher.internal.runtime.interpreted.{BeansAPIRelationshipIterator, TransactionalContextWrapper} import org.neo4j.graphalgo.impl.path.ShortestPath import org.neo4j.graphalgo.impl.path.ShortestPath.ShortestPathPredicate import org.neo4j.graphdb.RelationshipType._ diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_1/TransactionBoundPlanContext.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_1/TransactionBoundPlanContext.scala index c8e98e4663ac9..1ae9b0b469f0f 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_1/TransactionBoundPlanContext.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_1/TransactionBoundPlanContext.scala @@ -22,7 +22,6 @@ package org.neo4j.cypher.internal.spi.v3_1 import java.util.Optional import org.neo4j.cypher.MissingIndexException -import org.neo4j.cypher.internal.LastCommittedTxIdProvider import org.neo4j.cypher.internal.compiler.v3_1.InternalNotificationLogger import org.neo4j.cypher.internal.compiler.v3_1.pipes.EntityProducer import org.neo4j.cypher.internal.compiler.v3_1.pipes.matching.ExpanderStep @@ -30,6 +29,7 @@ import org.neo4j.cypher.internal.compiler.v3_1.spi.SchemaTypes.{IndexDescriptor, import org.neo4j.cypher.internal.compiler.v3_1.spi._ import org.neo4j.cypher.internal.frontend.v3_1.symbols.CypherType import org.neo4j.cypher.internal.frontend.v3_1.{CypherExecutionException, symbols} +import org.neo4j.cypher.internal.runtime.interpreted.LastCommittedTxIdProvider import org.neo4j.graphdb.Node import org.neo4j.internal.kernel.api.exceptions.KernelException import org.neo4j.kernel.api.index.InternalIndexState diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_1/TransactionBoundQueryContext.scala b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_1/TransactionBoundQueryContext.scala index 84e29f31dff75..400f655436dd8 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_1/TransactionBoundQueryContext.scala +++ b/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_1/TransactionBoundQueryContext.scala @@ -36,9 +36,9 @@ import org.neo4j.cypher.internal.compiler.v3_1.pipes.matching.PatternNode import org.neo4j.cypher.internal.compiler.v3_1.spi.SchemaTypes.{IndexDescriptor, NodePropertyExistenceConstraint, RelationshipPropertyExistenceConstraint, UniquenessConstraint} import org.neo4j.cypher.internal.compiler.v3_1.spi._ import org.neo4j.cypher.internal.frontend.v3_1.{Bound, EntityNotFoundException, FailedIndexException, SemanticDirection} -import org.neo4j.cypher.internal.spi.BeansAPIRelationshipIterator +import org.neo4j.cypher.internal.javacompat.GraphDatabaseCypherService +import org.neo4j.cypher.internal.runtime.interpreted.BeansAPIRelationshipIterator import org.neo4j.cypher.internal.spi.v3_1.TransactionBoundQueryContext.IndexSearchMonitor -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService import org.neo4j.cypher.{InternalException, internal} import org.neo4j.graphalgo.impl.path.ShortestPath import org.neo4j.graphalgo.impl.path.ShortestPath.ShortestPathPredicate @@ -657,7 +657,7 @@ final class TransactionBoundQueryContext(txContext: TransactionalContextWrapper) call(kn, toArray) } - override def isGraphKernelResultValue(v: Any): Boolean = internal.isGraphKernelResultValue(v) + override def isGraphKernelResultValue(v: Any): Boolean = v.isInstanceOf[PropertyContainer] || v.isInstanceOf[Path] private def buildPathFinder(depth: Int, expander: expressions.Expander, pathPredicate: KernelPredicate[Path], filters: Seq[KernelPredicate[PropertyContainer]]): ShortestPath = { diff --git a/community/cypher/cypher/src/test/java/org/neo4j/cypher/ManyMergesStressTest.java b/community/cypher/cypher/src/test/java/org/neo4j/cypher/ManyMergesStressTest.java index 5192f2f324be8..2832359c8cc21 100644 --- a/community/cypher/cypher/src/test/java/org/neo4j/cypher/ManyMergesStressTest.java +++ b/community/cypher/cypher/src/test/java/org/neo4j/cypher/ManyMergesStressTest.java @@ -26,7 +26,7 @@ import java.util.Random; import java.util.concurrent.TimeUnit; -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService; +import org.neo4j.cypher.internal.javacompat.GraphDatabaseCypherService; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.graphdb.Label; import org.neo4j.graphdb.Result; diff --git a/community/cypher/cypher/src/test/java/org/neo4j/cypher/QueryExecutionMonitorTest.scala b/community/cypher/cypher/src/test/java/org/neo4j/cypher/QueryExecutionMonitorTest.scala index 15447d890d24c..b478180bb9728 100644 --- a/community/cypher/cypher/src/test/java/org/neo4j/cypher/QueryExecutionMonitorTest.scala +++ b/community/cypher/cypher/src/test/java/org/neo4j/cypher/QueryExecutionMonitorTest.scala @@ -23,17 +23,16 @@ import org.mockito.ArgumentMatchers._ import org.mockito.Mockito._ import org.neo4j.cypher.ExecutionEngineHelper.createEngine import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.helpers.GraphIcing -import org.neo4j.cypher.internal.{ExecutionEngine} -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService +import org.neo4j.cypher.internal.ExecutionEngine +import org.neo4j.cypher.internal.javacompat.GraphDatabaseCypherService import org.neo4j.graphdb.Result import org.neo4j.graphdb.Result.{ResultRow, ResultVisitor} import org.neo4j.kernel.GraphDatabaseQueryService import org.neo4j.kernel.api.query.ExecutingQuery import org.neo4j.kernel.impl.query.{QueryExecutionMonitor, TransactionalContext} import org.neo4j.test.TestGraphDatabaseFactory -import scala.collection.JavaConverters._ +import scala.collection.JavaConverters._ import scala.collection.immutable.Map import scala.language.implicitConversions diff --git a/community/cypher/cypher/src/test/java/org/neo4j/cypher/internal/javacompat/ExecutionEngineTest.java b/community/cypher/cypher/src/test/java/org/neo4j/cypher/internal/javacompat/ExecutionEngineTest.java index 1174fd0b0dc6b..1dca601e9ff96 100644 --- a/community/cypher/cypher/src/test/java/org/neo4j/cypher/internal/javacompat/ExecutionEngineTest.java +++ b/community/cypher/cypher/src/test/java/org/neo4j/cypher/internal/javacompat/ExecutionEngineTest.java @@ -27,7 +27,6 @@ import java.util.Map; import org.neo4j.cypher.internal.CommunityCompatibilityFactory; -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService; import org.neo4j.graphdb.Result; import org.neo4j.kernel.GraphDatabaseQueryService; import org.neo4j.kernel.api.KernelAPI; diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/TestSuites.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/ExecutionEngineFunSuite.scala similarity index 97% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/TestSuites.scala rename to community/cypher/cypher/src/test/scala/org/neo4j/cypher/ExecutionEngineFunSuite.scala index 114005c2b1da2..6c54de104961e 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/TestSuites.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/ExecutionEngineFunSuite.scala @@ -26,8 +26,6 @@ import org.scalatest.matchers.{MatchResult, Matcher} import scala.collection.JavaConverters._ -abstract class GraphDatabaseFunSuite extends CypherFunSuite with GraphDatabaseTestSupport - abstract class ExecutionEngineFunSuite extends CypherFunSuite with GraphDatabaseTestSupport with ExecutionEngineTestSupport with QueryPlanTestSupport { diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/ExecutionEngineIT.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/ExecutionEngineIT.scala index 941b1a7ed4ef1..f2d8f0e44efec 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/ExecutionEngineIT.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/ExecutionEngineIT.scala @@ -20,10 +20,9 @@ package org.neo4j.cypher import org.neo4j.cypher.internal.ExecutionEngine -import org.neo4j.cypher.internal.compiler.v3_4.CostBasedPlannerName import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.helpers.GraphIcing -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService +import org.neo4j.cypher.internal.javacompat.GraphDatabaseCypherService +import org.neo4j.cypher.internal.planner.v3_4.spi.CostBasedPlannerName import org.neo4j.graphdb.factory.GraphDatabaseSettings import org.neo4j.graphdb.{ExecutionPlanDescription, GraphDatabaseService, Result} import org.neo4j.test.TestGraphDatabaseFactory diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/ExecutionEngineTestSupport.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/ExecutionEngineTestSupport.scala index c1e4ff4407e3c..e46e33195d929 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/ExecutionEngineTestSupport.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/ExecutionEngineTestSupport.scala @@ -19,17 +19,15 @@ */ package org.neo4j.cypher -import java.util import java.util.concurrent.TimeUnit import org.hamcrest.CoreMatchers._ import org.junit.Assert._ import org.neo4j.cypher.ExecutionEngineHelper.createEngine import org.neo4j.cypher.internal.util.v3_4.test_helpers.{CypherFunSuite, CypherTestSupport} -import org.neo4j.cypher.internal.helpers.GraphIcing import org.neo4j.cypher.internal._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.RuntimeScalaValueConverter -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService +import org.neo4j.cypher.internal.javacompat.GraphDatabaseCypherService +import org.neo4j.cypher.internal.runtime.{InternalExecutionResult, RuntimeScalaValueConverter} import org.neo4j.graphdb.{GraphDatabaseService, Result} import org.neo4j.kernel.GraphDatabaseQueryService import org.neo4j.kernel.api.KernelAPI @@ -37,7 +35,6 @@ import org.neo4j.kernel.monitoring.{Monitors => KernelMonitors} import org.neo4j.logging.{LogProvider, NullLogProvider} import scala.collection.JavaConverters._ -import scala.collection.mutable import scala.concurrent.ExecutionContext.Implicits.global import scala.concurrent.duration.Duration import scala.concurrent.{Await, Future} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/HttpServerTestSupport.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/HttpServerTestSupport.scala index 0db2f6612a0c4..48b861147c23f 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/HttpServerTestSupport.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/HttpServerTestSupport.scala @@ -24,7 +24,6 @@ import java.net.{InetAddress, InetSocketAddress} import java.io.IOException import java.util.concurrent.Executors import scala.collection.mutable -import scala.collection.mutable.HashMap trait HttpServerTestSupport { def boundInfo: InetSocketAddress diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/IndexOpAcceptanceTest.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/IndexOpAcceptanceTest.scala index f1cb150895725..f3d6734c37847 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/IndexOpAcceptanceTest.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/IndexOpAcceptanceTest.scala @@ -23,10 +23,9 @@ import java.io.{File, FileOutputStream} import java.util.concurrent.TimeUnit import org.neo4j.cypher.ExecutionEngineHelper.createEngine -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService +import org.neo4j.cypher.internal.javacompat.GraphDatabaseCypherService import org.neo4j.graphdb.GraphDatabaseService import org.neo4j.kernel.api.exceptions.schema.{DropIndexFailureException, NoSuchIndexException} -import org.neo4j.kernel.impl.api.index.SchemaIndexProviderMap import org.neo4j.test.TestGraphDatabaseFactory import org.neo4j.kernel.api.impl.schema.NativeLuceneFusionSchemaIndexProviderFactory import org.neo4j.kernel.api.impl.schema.LuceneSchemaIndexProviderFactory diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/QueryPlanTestSupport.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/QueryPlanTestSupport.scala index e8a55794356fe..4823a0d189db9 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/QueryPlanTestSupport.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/QueryPlanTestSupport.scala @@ -19,10 +19,10 @@ */ package org.neo4j.cypher -import org.neo4j.cypher.internal.InternalExecutionResult -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription.Arguments.KeyNames import org.neo4j.cypher.internal.frontend.v3_4.helpers.StringHelper._ +import org.neo4j.cypher.internal.runtime.InternalExecutionResult +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription.Arguments.KeyNames import org.neo4j.cypher.internal.v3_4.logical.plans.NodeHashJoin import org.scalatest.matchers.{MatchResult, Matcher} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/QueryStatisticsTestSupport.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/QueryStatisticsTestSupport.scala index 29e828a36a88f..b0c8cb9d45679 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/QueryStatisticsTestSupport.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/QueryStatisticsTestSupport.scala @@ -19,7 +19,7 @@ */ package org.neo4j.cypher -import org.neo4j.cypher.internal.{InternalExecutionResult, QueryStatistics} +import org.neo4j.cypher.internal.runtime.{InternalExecutionResult, QueryStatistics} import org.neo4j.kernel.api.query.ExecutingQuery import org.neo4j.kernel.impl.query.QueryExecutionMonitor import org.scalatest.Assertions diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/RootPlanAcceptanceTest.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/RootPlanAcceptanceTest.scala index 2a3b8c01d97c4..c2a8d75862f86 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/RootPlanAcceptanceTest.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/RootPlanAcceptanceTest.scala @@ -20,9 +20,9 @@ package org.neo4j.cypher import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{InterpretedRuntimeName, RuntimeName} -import org.neo4j.cypher.internal.compiler.v3_4.CostBasedPlannerName import org.neo4j.cypher.internal.frontend.v3_4.PlannerName import org.neo4j.cypher.internal.javacompat.PlanDescription +import org.neo4j.cypher.internal.planner.v3_4.spi.CostBasedPlannerName import org.neo4j.graphdb.ExecutionPlanDescription class RootPlanAcceptanceTest extends ExecutionEngineFunSuite { diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/RunWithConfigTestSupport.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/RunWithConfigTestSupport.scala index 083d519ac9d78..f4b1e1d49dae6 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/RunWithConfigTestSupport.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/RunWithConfigTestSupport.scala @@ -22,7 +22,7 @@ package org.neo4j.cypher import java.io.File import java.util -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService +import org.neo4j.cypher.internal.javacompat.GraphDatabaseCypherService import org.neo4j.graphdb.config.Setting import org.neo4j.test.TestGraphDatabaseFactory diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/TxCountsTrackingTestSupport.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/TxCountsTrackingTestSupport.scala index e239260856212..51bc42ddfde40 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/TxCountsTrackingTestSupport.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/TxCountsTrackingTestSupport.scala @@ -19,9 +19,8 @@ */ package org.neo4j.cypher -import org.neo4j.cypher.internal.InternalExecutionResult import org.neo4j.cypher.internal.util.v3_4.test_helpers.{CypherFunSuite, CypherTestSupport} -import org.neo4j.cypher.internal.helpers.TxCounts +import org.neo4j.cypher.internal.runtime.InternalExecutionResult trait TxCountsTrackingTestSupport extends CypherTestSupport { self: CypherFunSuite with GraphDatabaseTestSupport with ExecutionEngineTestSupport => diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/RewindableExecutionResult.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/RewindableExecutionResult.scala index ba6178ef23f9b..c93e723d277fa 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/RewindableExecutionResult.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/RewindableExecutionResult.scala @@ -21,22 +21,22 @@ package org.neo4j.cypher.internal import java.io.PrintWriter -import org.neo4j.cypher.internal.util.v3_4.{InputPosition, symbols} +import org.neo4j.cypher.exceptionHandler import org.neo4j.cypher.internal.compatibility.ClosingExecutionResult import org.neo4j.cypher.internal.compatibility.v2_3.{ExecutionResultWrapper => ExecutionResultWrapperFor2_3, exceptionHandler => exceptionHandlerFor2_3} import org.neo4j.cypher.internal.compatibility.v3_1.{ExecutionResultWrapper => ExecutionResultWrapperFor3_1, exceptionHandler => exceptionHandlerFor3_1} -import org.neo4j.cypher.internal.compatibility.v3_4.exceptionHandler import org.neo4j.cypher.internal.compatibility.v3_4.runtime._ import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription.Arguments -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription._ -import org.neo4j.cypher.internal.compiler.v3_4.CostBasedPlannerName import org.neo4j.cypher.internal.compiler.{v2_3, v3_1} import org.neo4j.cypher.internal.frontend.v2_3.{SemanticDirection => SemanticDirection2_3, notification => notification_2_3} import org.neo4j.cypher.internal.frontend.v3_1.{SemanticDirection => SemanticDirection3_1, notification => notification_3_1, symbols => symbols3_1} import org.neo4j.cypher.internal.javacompat.ExecutionResult -import org.neo4j.cypher.internal.v3_4.logical.plans.{LogicalPlanId, QualifiedName} +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription.Arguments +import org.neo4j.cypher.internal.runtime.planDescription.{PlanDescriptionImpl, SingleChild, TwoChildren, _} +import org.neo4j.cypher.internal.runtime.{DBMS, QueryStatistics, SCHEMA_WRITE, _} +import org.neo4j.cypher.internal.util.v3_4.{InputPosition, symbols} import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection.{BOTH, INCOMING, OUTGOING} +import org.neo4j.cypher.internal.v3_4.logical.plans.{LogicalPlanId, QualifiedName} import org.neo4j.cypher.result.QueryResult.QueryResultVisitor import org.neo4j.graphdb.Result.ResultVisitor import org.neo4j.graphdb.{Notification, QueryExecutionType, ResourceIterator, Result} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/CypherCompilerAstCacheAcceptanceTest.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/CypherCompilerAstCacheAcceptanceTest.scala index 7d4bcd3bcdb3d..92637542ae002 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/CypherCompilerAstCacheAcceptanceTest.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/CypherCompilerAstCacheAcceptanceTest.scala @@ -31,8 +31,8 @@ import org.neo4j.cypher.internal.compiler.v3_4.phases.LogicalPlanState import org.neo4j.cypher.internal.frontend.v3_4.ast.Statement import org.neo4j.cypher.internal.frontend.v3_4.phases.{CompilationPhaseTracer, Transformer} import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.spi.v3_4.TransactionalContextWrapper -import org.neo4j.cypher.internal.{CypherExecutionMode, PreParsedQuery} +import org.neo4j.cypher.internal.PreParsedQuery +import org.neo4j.cypher.internal.runtime.interpreted.TransactionalContextWrapper import org.neo4j.graphdb.config.Setting import org.neo4j.graphdb.factory.GraphDatabaseSettings import org.neo4j.logging.AssertableLogProvider.inLog diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/ClosingIteratorTest.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/ClosingIteratorTest.scala index f884d43ce7306..5572c03245caa 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/ClosingIteratorTest.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/ClosingIteratorTest.scala @@ -21,7 +21,7 @@ package org.neo4j.cypher.internal.compatibility.v3_4.runtime import org.mockito.ArgumentMatchers.anyBoolean import org.mockito.Mockito._ -import org.neo4j.cypher.internal.util.v3_4.CypherException +import org.neo4j.cypher.internal.util.v3_4.{CypherException, TaskCloser} import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values.intValue diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/PipeExecutionPlanBuilderIT.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/PipeExecutionPlanBuilderIT.scala index 570fe9dc58844..05a442af1412f 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/PipeExecutionPlanBuilderIT.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/PipeExecutionPlanBuilderIT.scala @@ -23,21 +23,21 @@ import java.time.Clock import org.mockito.Mockito.{atLeastOnce, verify, when} import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.convert.{CommunityExpressionConverter, ExpressionConverters} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Literal -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.True -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values.KeyToken.Resolved -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values.TokenType -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.{expressions => legacy} +import org.neo4j.cypher.internal.runtime.interpreted.commands.convert.{CommunityExpressionConverter, ExpressionConverters} +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Literal +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.True +import org.neo4j.cypher.internal.runtime.interpreted.commands.values.KeyToken.Resolved +import org.neo4j.cypher.internal.runtime.interpreted.commands.values.TokenType +import org.neo4j.cypher.internal.runtime.interpreted.commands.{expressions => legacy} import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.PipeInfo -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes._ +import org.neo4j.cypher.internal.runtime.interpreted.pipes._ import org.neo4j.cypher.internal.compiler.v3_4.planner._ import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.Metrics import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.Metrics.QueryGraphSolverInput -import org.neo4j.cypher.internal.compiler.v3_4.spi.PlanContext -import org.neo4j.cypher.internal.frontend.v3_4.RelTypeId import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable import org.neo4j.cypher.internal.ir.v3_4._ +import org.neo4j.cypher.internal.planner.v3_4.spi.PlanContext +import org.neo4j.cypher.internal.util.v3_4.{Cardinality, RelTypeId} import org.neo4j.cypher.internal.v3_4.logical.plans._ import org.neo4j.cypher.internal.v3_4.expressions._ diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/PipeExecutionPlanBuilderTest.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/PipeExecutionPlanBuilderTest.scala index e8bd5f5339bef..e82878597fbe8 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/PipeExecutionPlanBuilderTest.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/PipeExecutionPlanBuilderTest.scala @@ -19,12 +19,13 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.convert.{CommunityExpressionConverter, ExpressionConverters} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{FakePipe, Pipe} -import org.neo4j.cypher.internal.compiler.v3_4.spi.PlanContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.convert.{CommunityExpressionConverter, ExpressionConverters} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{FakePipe, Pipe} import org.neo4j.cypher.internal.frontend.v3_4.phases.Monitors import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.ir.v3_4.{Cardinality, CardinalityEstimation, PlannerQuery} +import org.neo4j.cypher.internal.ir.v3_4.{CardinalityEstimation, PlannerQuery} +import org.neo4j.cypher.internal.planner.v3_4.spi.PlanContext +import org.neo4j.cypher.internal.util.v3_4.Cardinality import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlan import org.neo4j.time.Clocks diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/MatchPatternTest.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/MatchPatternTest.scala deleted file mode 100644 index ee80fdf0ace93..0000000000000 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/MatchPatternTest.scala +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands - -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.{MatchPattern, MatchRelationship} -import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite - -class MatchPatternTest extends CypherFunSuite { - - test("should find disjoint graph with single nodes") { - // Given - val pattern = new MatchPattern(Seq("A", "B"), Seq()) - - // When and then - pattern.disconnectedPatterns should equal(Seq( - new MatchPattern(Seq("A"), Seq()), - new MatchPattern(Seq("B"), Seq())) - ) - } - - test("should be non empty if it contains a node") { - // When and then - new MatchPattern(Seq("A"), Seq()).nonEmpty should equal(true) - } - - test("should find single graph for simple rel") { - // Given - val pattern = new MatchPattern(Seq("A", "B"), Seq(MatchRelationship(None, "A", "B"))) - - // When and then - pattern.disconnectedPatterns should equal(Seq(pattern)) - } - - test("should find deeply nested disjoint graphs") { - // Given - val pattern = new MatchPattern(Seq("A", "B", "C", "D"), - Seq(MatchRelationship(None, "A", "B"), MatchRelationship(None, "B", "D"))) - - // When and then - pattern.disconnectedPatterns should equal(Seq( - new MatchPattern(Seq("A", "B", "D"), Seq(MatchRelationship(None, "A", "B"), MatchRelationship(None, "B", "D"))), - new MatchPattern(Seq("C"), Seq())) - ) - } - - test("should list subgraphs without specified points") { - // Given - val pattern = new MatchPattern(Seq("A", "B", "C"), Seq(MatchRelationship(None, "A", "B"))) - - // When and then - pattern.disconnectedPatternsWithout(Seq("B")) should equal(Seq( - new MatchPattern(Seq("C"), Seq())) - ) - } - - test("should not consider patterns bound by relationships as unbounded") { - // Given - val pattern = new MatchPattern(Seq("A", "B"), Seq(MatchRelationship(Some("r"), "A", "B"))) - - // When and then - pattern.disconnectedPatternsWithout(Seq("r")) should equal(Seq.empty) - } -} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/CheckForEagerLoadCsvTest.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/CheckForEagerLoadCsvTest.scala index 45eb21a6b2a9c..9badc3a4947ac 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/CheckForEagerLoadCsvTest.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/CheckForEagerLoadCsvTest.scala @@ -19,8 +19,8 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Literal -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{AllNodesScanPipe, EagerPipe, LoadCSVPipe} +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Literal +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{AllNodesScanPipe, EagerPipe, LoadCSVPipe} import org.neo4j.cypher.internal.frontend.v3_4.notification.EagerLoadCsvNotification import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.cypher.internal.ir.v3_4.HasHeaders diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/CheckForLoadCsvAndMatchOnLargeLabelTest.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/CheckForLoadCsvAndMatchOnLargeLabelTest.scala index aedc07954534b..4c4a2987bd936 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/CheckForLoadCsvAndMatchOnLargeLabelTest.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/CheckForLoadCsvAndMatchOnLargeLabelTest.scala @@ -23,13 +23,13 @@ import org.mockito.ArgumentMatchers._ import org.mockito.Mockito._ import org.mockito.invocation.InvocationOnMock import org.mockito.stubbing.Answer -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Literal -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes._ -import org.neo4j.cypher.internal.compiler.v3_4.spi.{GraphStatistics, PlanContext} -import org.neo4j.cypher.internal.frontend.v3_4.LabelId +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Literal +import org.neo4j.cypher.internal.runtime.interpreted.pipes._ import org.neo4j.cypher.internal.frontend.v3_4.notification.LargeLabelWithLoadCsvNotification -import org.neo4j.cypher.internal.ir.v3_4.{Cardinality, HasHeaders} import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite +import org.neo4j.cypher.internal.ir.v3_4.HasHeaders +import org.neo4j.cypher.internal.planner.v3_4.spi.{GraphStatistics, PlanContext} +import org.neo4j.cypher.internal.util.v3_4.{Cardinality, LabelId} class CheckForLoadCsvAndMatchOnLargeLabelTest extends CypherFunSuite { diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/ExecutionWorkflowBuilderTest.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/ExecutionWorkflowBuilderTest.scala index c280a7ce03a91..c1fa156bfa5e2 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/ExecutionWorkflowBuilderTest.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/ExecutionWorkflowBuilderTest.scala @@ -21,13 +21,15 @@ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan import org.mockito.ArgumentMatchers._ import org.mockito.Mockito._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.Pipe +import org.neo4j.cypher.internal.runtime.interpreted.pipes.Pipe import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{EagerResultIterator, _} import org.neo4j.cypher.internal.compiler.v3_4._ import org.neo4j.cypher.internal.frontend.v3_4.phases.devNullLogger import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.ir.v3_4.{Cardinality, CardinalityEstimation, PlannerQuery} -import org.neo4j.cypher.internal.spi.v3_4.{QueryContext, QueryTransactionalContext} +import org.neo4j.cypher.internal.ir.v3_4.{CardinalityEstimation, PlannerQuery} +import org.neo4j.cypher.internal.planner.v3_4.spi.IDPPlannerName +import org.neo4j.cypher.internal.runtime.{ExplainMode, NormalMode, QueryContext, QueryTransactionalContext} +import org.neo4j.cypher.internal.util.v3_4.Cardinality import org.neo4j.cypher.internal.v3_4.logical.plans.SingleRow import org.neo4j.values.virtual.VirtualValues.EMPTY_MAP diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/LoadCsvPeriodicCommitObserverTest.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/LoadCsvPeriodicCommitObserverTest.scala index 8aa127dc375d5..9066f34b9d4cf 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/LoadCsvPeriodicCommitObserverTest.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/LoadCsvPeriodicCommitObserverTest.scala @@ -24,9 +24,9 @@ import java.net.URL import org.mockito.ArgumentMatchers import org.mockito.ArgumentMatchers._ import org.mockito.Mockito._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.ExternalCSVResource +import org.neo4j.cypher.internal.runtime.{QueryContext, QueryTransactionalContext} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.ExternalCSVResource import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.spi.v3_4.{QueryContext, QueryTransactionalContext} class LoadCsvPeriodicCommitObserverTest extends CypherFunSuite { diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/PlanFingerprintReferenceTest.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/PlanFingerprintReferenceTest.scala index 9f0a0feba6336..90bf420aeecb4 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/PlanFingerprintReferenceTest.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/PlanFingerprintReferenceTest.scala @@ -22,8 +22,8 @@ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan import java.util.concurrent.TimeUnit.{MILLISECONDS, SECONDS} import org.mockito.Mockito.when -import org.neo4j.cypher.internal.compiler.v3_4.spi.{GraphStatistics, GraphStatisticsSnapshot, NodesWithLabelCardinality} -import org.neo4j.cypher.internal.frontend.v3_4.LabelId +import org.neo4j.cypher.internal.planner.v3_4.spi.{GraphStatistics, GraphStatisticsSnapshot, NodesWithLabelCardinality} +import org.neo4j.cypher.internal.util.v3_4.LabelId import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.time.Clocks diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/builders/PatternGraphBuilderTest.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/builders/PatternGraphBuilderTest.scala index 124cc2b39f119..c9c707b013ed8 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/builders/PatternGraphBuilderTest.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/builders/PatternGraphBuilderTest.scala @@ -19,8 +19,9 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.builders -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.RelatedTo -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.symbols.SymbolTable +import org.neo4j.cypher.internal.runtime.interpreted.commands.RelatedTo +import org.neo4j.cypher.internal.runtime.interpreted.PatternGraphBuilder +import org.neo4j.cypher.internal.runtime.interpreted.symbols.SymbolTable import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/procs/ProcedureCallExecutionPlanTest.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/procs/ProcedureCallExecutionPlanTest.scala index 0b76cd6e59751..87f8fa279f875 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/procs/ProcedureCallExecutionPlanTest.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/procs/ProcedureCallExecutionPlanTest.scala @@ -24,11 +24,10 @@ import org.mockito.Mockito.when import org.mockito.invocation.InvocationOnMock import org.mockito.stubbing.Answer import org.neo4j.cypher.internal.util.v3_4.DummyPosition -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.NormalMode -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.convert.{CommunityExpressionConverter, ExpressionConverters} +import org.neo4j.cypher.internal.runtime.interpreted.commands.convert.{CommunityExpressionConverter, ExpressionConverters} +import org.neo4j.cypher.internal.runtime.{NormalMode, QueryContext, QueryTransactionalContext} import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.spi.v3_4.{QueryContext, QueryTransactionalContext} import org.neo4j.cypher.internal.v3_4.logical.plans._ import org.neo4j.cypher.internal.v3_4.expressions._ import org.neo4j.values.storable.LongValue diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/RowIteratorVisitationTest.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/RowIteratorVisitationTest.scala index 4ee4b06830ea5..62ccb3e8ee05f 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/RowIteratorVisitationTest.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/RowIteratorVisitationTest.scala @@ -20,6 +20,7 @@ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers import org.mockito.Mockito.verifyZeroInteractions +import org.neo4j.cypher.internal.runtime.RuntimeJavaValueConverter import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.cypher.result.QueryResult.{QueryResultVisitor, Record} import org.neo4j.values.AnyValue diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/profiler/ProfilerTest.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/profiler/ProfilerTest.scala index 59a693434a6e3..89b6bf711c2bc 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/profiler/ProfilerTest.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/profiler/ProfilerTest.scala @@ -21,15 +21,15 @@ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.profiler import org.mockito.ArgumentMatchers.any import org.mockito.Mockito.when -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{NestedPipeExpression, ProjectedPath} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription.Arguments._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription._ +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{NestedPipeExpression, ProjectedPath} +import org.neo4j.cypher.internal.runtime.interpreted.pipes._ +import org.neo4j.cypher.internal.planner.v3_4.spi.{EmptyKernelStatisticProvider, KernelStatisticProvider} +import org.neo4j.cypher.internal.runtime.{QueryContext, QueryTransactionalContext} import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId -import org.neo4j.cypher.internal.compiler.v3_4.spi.{EmptyKernelStatisticProvider, KernelStatisticProvider} +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription.Arguments._ +import org.neo4j.cypher.internal.runtime.planDescription.{PlanDescriptionImpl, _} import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.spi.v3_4.{QueryContext, QueryTransactionalContext} import org.neo4j.kernel.impl.factory.DatabaseInfo import org.neo4j.values.storable.Values.NO_VALUE diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/pipes/ActualCostCalculationTest.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/ActualCostCalculationTest.scala similarity index 92% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/pipes/ActualCostCalculationTest.scala rename to community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/ActualCostCalculationTest.scala index 109c418aa1a85..3eebdee2e5027 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/pipes/ActualCostCalculationTest.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/ActualCostCalculationTest.scala @@ -17,25 +17,25 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compiler.v3_4.pipes +package org.neo4j.cypher.internal.compiler.v3_4 import java.io.File import java.nio.file.Files import java.util.concurrent.TimeUnit import org.apache.commons.math3.stat.regression.{OLSMultipleLinearRegression, SimpleRegression} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Literal, Property, Variable} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.Equals -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values.TokenType.PropertyKey -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes._ import org.neo4j.cypher.internal.frontend.v3_4.phases.devNullLogger +import org.neo4j.cypher.internal.javacompat.GraphDatabaseCypherService +import org.neo4j.cypher.internal.runtime.interpreted.TransactionBoundQueryContext.IndexSearchMonitor +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{Literal, Property, Variable} +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.Equals +import org.neo4j.cypher.internal.runtime.interpreted.commands.values.TokenType.PropertyKey +import org.neo4j.cypher.internal.runtime.interpreted.pipes._ +import org.neo4j.cypher.internal.runtime.interpreted.{TransactionBoundPlanContext, TransactionBoundQueryContext, TransactionalContextWrapper} import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.frontend.v3_4.{LabelId, PropertyKeyId, ast} -import org.neo4j.cypher.internal.spi.v3_4.TransactionBoundQueryContext.IndexSearchMonitor -import org.neo4j.cypher.internal.spi.v3_4.{TransactionBoundPlanContext, TransactionBoundQueryContext, TransactionalContextWrapper} +import org.neo4j.cypher.internal.util.v3_4.{LabelId, PropertyKeyId} +import org.neo4j.cypher.internal.v3_4.expressions.{LabelToken, PropertyKeyToken, SemanticDirection} import org.neo4j.cypher.internal.v3_4.logical.plans.SingleQueryExpression -import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService import org.neo4j.graphdb._ import org.neo4j.kernel.GraphDatabaseQueryService import org.neo4j.kernel.api.KernelTransaction @@ -310,8 +310,8 @@ class ActualCostCalculationTest extends CypherFunSuite { val labelId = ctx.getOptLabelId(LABEL.name()).get val propKeyId = ctx.getOptPropertyKeyId(PROPERTY).get - val labelToken = ast.LabelToken(LABEL.name(), LabelId(labelId)) - val propertyKeyToken = Seq(ast.PropertyKeyToken(PROPERTY, PropertyKeyId(propKeyId))) + val labelToken = LabelToken(LABEL.name(), LabelId(labelId)) + val propertyKeyToken = Seq(PropertyKeyToken(PROPERTY, PropertyKeyId(propKeyId))) NodeIndexSeekPipe(LABEL.name(), labelToken, propertyKeyToken, SingleQueryExpression(literal), IndexSeek)() } @@ -324,8 +324,8 @@ class ActualCostCalculationTest extends CypherFunSuite { val labelId = ctx.getOptLabelId(LABEL.name()).get val propKeyId = ctx.getOptPropertyKeyId(PROPERTY).get - val labelToken = ast.LabelToken(LABEL.name(), LabelId(labelId)) - val propertyKeyToken = ast.PropertyKeyToken(PROPERTY, PropertyKeyId(propKeyId)) + val labelToken = LabelToken(LABEL.name(), LabelId(labelId)) + val propertyKeyToken = PropertyKeyToken(PROPERTY, PropertyKeyId(propKeyId)) NodeIndexScanPipe(LABEL.name(), labelToken, propertyKeyToken)() } diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/PathExpressionTest.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/PathExpressionTest.scala index 308d1f817032d..77b930dda6a56 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/PathExpressionTest.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/PathExpressionTest.scala @@ -20,12 +20,12 @@ package org.neo4j.cypher.internal.compiler.v3_4 import org.neo4j.cypher.GraphDatabaseFunSuite -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ImplicitValueConversion._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.ShortestPathExpression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.{NonEmpty, True} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values.UnresolvedLabel +import org.neo4j.cypher.internal.runtime.ImplicitValueConversion._ +import org.neo4j.cypher.internal.runtime.interpreted.commands._ +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.ShortestPathExpression +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.{NonEmpty, True} +import org.neo4j.cypher.internal.runtime.interpreted.commands.values.UnresolvedLabel +import org.neo4j.cypher.internal.runtime.interpreted.{ExecutionContext, QueryStateTestSupport} import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.kernel.impl.util.ValueUtils.fromNodeProxy import org.neo4j.values.storable.Values.{FALSE, TRUE} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/PatternMatchingTest.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/PatternMatchingTest.scala index 139de382db848..ce9ef5da611ea 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/PatternMatchingTest.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/PatternMatchingTest.scala @@ -20,16 +20,15 @@ package org.neo4j.cypher.internal.compiler.v3_4 import org.neo4j.cypher.ExecutionEngineFunSuite -import org.neo4j.cypher.ValueComparisonHelper.beEquivalentTo -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ImplicitValueConversion._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.RelatedTo -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Variable -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.HasLabel -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values.UnresolvedLabel -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.builders.PatternGraphBuilder -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.matching.PatternMatchingBuilder -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.symbols.SymbolTable +import org.neo4j.cypher.internal.runtime.interpreted.ValueComparisonHelper.beEquivalentTo +import org.neo4j.cypher.internal.runtime.ImplicitValueConversion._ +import org.neo4j.cypher.internal.runtime.interpreted.commands.RelatedTo +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Variable +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.HasLabel +import org.neo4j.cypher.internal.runtime.interpreted.commands.values.UnresolvedLabel +import org.neo4j.cypher.internal.runtime.interpreted.pipes.matching.PatternMatchingBuilder +import org.neo4j.cypher.internal.runtime.interpreted.symbols.SymbolTable +import org.neo4j.cypher.internal.runtime.interpreted.{ExecutionContext, PatternGraphBuilder, QueryStateTestSupport} import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/PatternNodeTest.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/PatternNodeTest.scala index 96591fbb3cbf3..5c9d6caef2469 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/PatternNodeTest.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/PatternNodeTest.scala @@ -20,7 +20,7 @@ package org.neo4j.cypher.internal.compiler.v3_4 import org.neo4j.cypher.GraphDatabaseFunSuite -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.matching.{MatchingPair, PatternNode} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.matching.{MatchingPair, PatternNode} import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection class PatternNodeTest extends GraphDatabaseFunSuite { diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/PipeLazynessTest.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/PipeLazynessTest.scala index aaf0784b79e01..f2a87558655d6 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/PipeLazynessTest.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/PipeLazynessTest.scala @@ -21,10 +21,11 @@ package org.neo4j.cypher.internal.compiler.v3_4 import org.mockito.Mockito._ import org.neo4j.cypher.GraphDatabaseFunSuite -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Variable -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.True -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.{ShortestPath, SingleNode, SortItem} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes._ +import org.neo4j.cypher.internal.runtime.interpreted.commands.{ShortestPath, SingleNode, SortItem} +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Variable +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.True +import org.neo4j.cypher.internal.runtime.interpreted.pipes._ +import org.neo4j.cypher.internal.runtime.interpreted.QueryStateTestSupport import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.graphdb._ diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/ScalaPatternMatchingTest.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/ScalaPatternMatchingTest.scala index 2b17628bb1b24..e030497b9cb08 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/ScalaPatternMatchingTest.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/ScalaPatternMatchingTest.scala @@ -20,17 +20,15 @@ package org.neo4j.cypher.internal.compiler.v3_4 import org.neo4j.cypher.ExecutionEngineFunSuite -import org.neo4j.cypher.ValueComparisonHelper.beEquivalentTo -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ImplicitValueConversion._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.RelatedTo -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Literal -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.builders.PatternGraphBuilder -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.matching.PatternMatchingBuilder -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.symbols.SymbolTable +import org.neo4j.cypher.internal.runtime.interpreted.ValueComparisonHelper.beEquivalentTo +import org.neo4j.cypher.internal.runtime.ImplicitValueConversion._ +import org.neo4j.cypher.internal.runtime.interpreted.commands.RelatedTo +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Literal +import org.neo4j.cypher.internal.runtime.interpreted.pipes.matching.PatternMatchingBuilder +import org.neo4j.cypher.internal.runtime.interpreted.symbols.SymbolTable +import org.neo4j.cypher.internal.runtime.interpreted.{ExecutionContext, PatternGraphBuilder, QueryStateTestSupport} import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection -import org.neo4j.values.AnyValue class ScalaPatternMatchingTest extends ExecutionEngineFunSuite with PatternGraphBuilder with QueryStateTestSupport { val symbols = SymbolTable(Map("a" -> CTNode)) diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/TriadicIntegrationTest.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/TriadicIntegrationTest.scala index 2b7d81b157140..d0e352aa7baef 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/TriadicIntegrationTest.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/TriadicIntegrationTest.scala @@ -20,7 +20,7 @@ package org.neo4j.cypher.internal.compiler.v3_4 import org.neo4j.cypher.ExecutionEngineFunSuite -import org.neo4j.cypher.internal.InternalExecutionResult +import org.neo4j.cypher.internal.runtime.InternalExecutionResult class TriadicIntegrationTest extends ExecutionEngineFunSuite { private val QUERY: String = """MATCH (p1:Person)-[:FRIEND]-()-[:FRIEND]-(p2:Person) diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/helpers/ConstraintCreator.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/helpers/ConstraintCreator.scala index b6f26a5cfb3d3..d08d27adc8aa4 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/helpers/ConstraintCreator.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/helpers/ConstraintCreator.scala @@ -19,7 +19,8 @@ */ package org.neo4j.cypher.internal.helpers -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService +import org.neo4j.cypher.GraphIcing +import org.neo4j.cypher.internal.javacompat.GraphDatabaseCypherService trait ConstraintCreator extends GraphIcing { def createConstraint(graph: GraphDatabaseCypherService, label: String, property: String) @@ -49,4 +50,4 @@ object NodeKeyConstraintCreator extends ConstraintCreator { override def other = UniquenessConstraintCreator def typeName = "NODE_KEY" -} \ No newline at end of file +} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/parser/CaseExpressionTest.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/parser/CaseExpressionTest.scala index e489ff1cd0ad6..527e1d1b9e828 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/parser/CaseExpressionTest.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/parser/CaseExpressionTest.scala @@ -19,9 +19,9 @@ */ package org.neo4j.cypher.internal.parser -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.convert.{CommunityExpressionConverter, ExpressionConverters} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.{Equals, True} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.{predicates, expressions => legacy} +import org.neo4j.cypher.internal.runtime.interpreted.commands.convert.{CommunityExpressionConverter, ExpressionConverters} +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.{Equals, True} +import org.neo4j.cypher.internal.runtime.interpreted.commands.{predicates, expressions => legacy} import org.neo4j.cypher.internal.v3_4.{expressions => ast} import org.neo4j.cypher.internal.frontend.v3_4.parser.{Expressions, ParserTest} import org.parboiled.scala._ diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/parser/ExpressionsTest.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/parser/ExpressionsTest.scala index 1d7c6737fcda6..7a1784694361b 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/parser/ExpressionsTest.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/parser/ExpressionsTest.scala @@ -19,10 +19,10 @@ */ package org.neo4j.cypher.internal.parser -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.convert.{CommunityExpressionConverter, ExpressionConverters} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.{Equals, True} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values.TokenType.PropertyKey -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.{predicates, expressions => legacy} +import org.neo4j.cypher.internal.runtime.interpreted.commands.convert.{CommunityExpressionConverter, ExpressionConverters} +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.{Equals, True} +import org.neo4j.cypher.internal.runtime.interpreted.commands.values.TokenType.PropertyKey +import org.neo4j.cypher.internal.runtime.interpreted.commands.{predicates, expressions => legacy} import org.neo4j.cypher.internal.v3_4.{expressions => ast} import org.neo4j.cypher.internal.frontend.v3_4.parser.{Expressions, ParserTest} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/parser/ListComprehensionTest.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/parser/ListComprehensionTest.scala index a98f20a7bdbd1..b87d82825ecf0 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/parser/ListComprehensionTest.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/parser/ListComprehensionTest.scala @@ -19,10 +19,10 @@ */ package org.neo4j.cypher.internal.parser -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.convert.{CommunityExpressionConverter, ExpressionConverters} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.GreaterThan -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values.TokenType.PropertyKey -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.{expressions => legacy} +import org.neo4j.cypher.internal.runtime.interpreted.commands.convert.{CommunityExpressionConverter, ExpressionConverters} +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.GreaterThan +import org.neo4j.cypher.internal.runtime.interpreted.commands.values.TokenType.PropertyKey +import org.neo4j.cypher.internal.runtime.interpreted.commands.{expressions => legacy} import org.neo4j.cypher.internal.v3_4.{expressions => ast} import org.neo4j.cypher.internal.frontend.v3_4.parser.{Expressions, ParserTest} import org.parboiled.scala._ diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/parser/MapLiteralTest.scala b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/parser/MapLiteralTest.scala index 189a6300acf89..bb4bc5ebaf862 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/parser/MapLiteralTest.scala +++ b/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/parser/MapLiteralTest.scala @@ -19,8 +19,8 @@ */ package org.neo4j.cypher.internal.parser -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.convert.{CommunityExpressionConverter, ExpressionConverters} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.{expressions => legacy} +import org.neo4j.cypher.internal.runtime.interpreted.commands.convert.{CommunityExpressionConverter, ExpressionConverters} +import org.neo4j.cypher.internal.runtime.interpreted.commands.{expressions => legacy} import org.neo4j.cypher.internal.v3_4.{expressions => ast} import org.neo4j.cypher.internal.frontend.v3_4.parser.{Expressions, ParserTest} import org.parboiled.scala._ diff --git a/community/cypher/expressions-3.4/pom.xml b/community/cypher/expressions-3.4/pom.xml index df52cde5a6d99..fcbb2078186d5 100644 --- a/community/cypher/expressions-3.4/pom.xml +++ b/community/cypher/expressions-3.4/pom.xml @@ -55,6 +55,14 @@ ${project.version} + + org.neo4j + neo4j-cypher-util-3.4 + ${project.version} + test-jar + test + + diff --git a/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/NameToken.scala b/community/cypher/expressions-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/expressions/NameToken.scala similarity index 85% rename from community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/NameToken.scala rename to community/cypher/expressions-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/expressions/NameToken.scala index 932a0defd90fe..d165ec0d37da5 100644 --- a/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/NameToken.scala +++ b/community/cypher/expressions-3.4/src/main/scala/org/neo4j/cypher/internal/v3_4/expressions/NameToken.scala @@ -14,10 +14,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.neo4j.cypher.internal.frontend.v3_4.ast +package org.neo4j.cypher.internal.v3_4.expressions -import org.neo4j.cypher.internal.frontend.v3_4.{LabelId, NameId, PropertyKeyId} -import org.neo4j.cypher.internal.v3_4.expressions.{LabelName, PropertyKeyName} +import org.neo4j.cypher.internal.util.v3_4.{LabelId, NameId, PropertyKeyId} sealed abstract class NameToken[I <: NameId] { def name: String diff --git a/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/Bound.scala b/community/cypher/expressions-3.4/src/test/scala/org/neo4j/cypher/internal/v3_4/expressions/DummyExpression.scala similarity index 51% rename from community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/Bound.scala rename to community/cypher/expressions-3.4/src/test/scala/org/neo4j/cypher/internal/v3_4/expressions/DummyExpression.scala index 3e2fa4cc43d67..5eff22a2e7cf7 100644 --- a/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/Bound.scala +++ b/community/cypher/expressions-3.4/src/test/scala/org/neo4j/cypher/internal/v3_4/expressions/DummyExpression.scala @@ -14,29 +14,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.neo4j.cypher.internal.frontend.v3_4 +package org.neo4j.cypher.internal.v3_4.expressions -sealed trait Bound[+V] { - def endPoint: V - def inequalitySignSuffix: String +import org.neo4j.cypher.internal.util.v3_4.symbols.TypeSpec +import org.neo4j.cypher.internal.util.v3_4.{DummyPosition, InputPosition} - def map[P](f: V => P): Bound[P] - - def isInclusive: Boolean -} - -final case class InclusiveBound[+V](endPoint: V) extends Bound[V] { - val inequalitySignSuffix = "=" - - override def map[P](f: V => P): InclusiveBound[P] = copy(endPoint = f(endPoint)) - - def isInclusive: Boolean = true -} - -final case class ExclusiveBound[+V](endPoint: V) extends Bound[V] { - val inequalitySignSuffix = "" - - override def map[P](f: V => P): ExclusiveBound[P] = copy(endPoint = f(endPoint)) - - def isInclusive: Boolean = false -} +case class DummyExpression( + possibleTypes: TypeSpec, + position: InputPosition = DummyPosition(0) + ) extends Expression diff --git a/community/cypher/frontend-3.4/pom.xml b/community/cypher/frontend-3.4/pom.xml index 0280e376fe388..c00809bda70e2 100644 --- a/community/cypher/frontend-3.4/pom.xml +++ b/community/cypher/frontend-3.4/pom.xml @@ -69,6 +69,14 @@ test + + org.neo4j + neo4j-cypher-expression-3.4 + ${project.version} + test-jar + test + + diff --git a/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/ASTAnnotationMap.scala b/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/ASTAnnotationMap.scala index a136345103000..3fcab13af628d 100644 --- a/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/ASTAnnotationMap.scala +++ b/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/ASTAnnotationMap.scala @@ -16,8 +16,7 @@ */ package org.neo4j.cypher.internal.frontend.v3_4.ast -import org.neo4j.cypher.internal.util.v3_4.{ASTNode, InputPosition} -import org.neo4j.cypher.internal.frontend.v3_4.helpers.Eagerly +import org.neo4j.cypher.internal.util.v3_4.{ASTNode, Eagerly, InputPosition} object ASTAnnotationMap { def empty[K <: ASTNode, V]: ASTAnnotationMap[K, V] = new ASTAnnotationMap(Map.empty[(K, InputPosition), V]) diff --git a/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/rewriters/PatternExpressionPatternElementNamer.scala b/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/rewriters/PatternExpressionPatternElementNamer.scala index aa3ccd819cac1..2fc719c7f45a5 100644 --- a/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/rewriters/PatternExpressionPatternElementNamer.scala +++ b/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/rewriters/PatternExpressionPatternElementNamer.scala @@ -16,9 +16,8 @@ */ package org.neo4j.cypher.internal.frontend.v3_4.ast.rewriters -import org.neo4j.cypher.internal.util.v3_4.{ASTNode, Rewriter, topDown} +import org.neo4j.cypher.internal.util.v3_4.{ASTNode, Rewriter, UnNamedNameGenerator, topDown} import org.neo4j.cypher.internal.frontend.v3_4.IdentityMap -import org.neo4j.cypher.internal.frontend.v3_4.helpers.UnNamedNameGenerator import org.neo4j.cypher.internal.v3_4.expressions._ object PatternExpressionPatternElementNamer { diff --git a/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/rewriters/PropertyPredicateNormalizer.scala b/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/rewriters/PropertyPredicateNormalizer.scala index b6f751dd5bc1f..11986fbceda86 100644 --- a/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/rewriters/PropertyPredicateNormalizer.scala +++ b/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/rewriters/PropertyPredicateNormalizer.scala @@ -16,8 +16,7 @@ */ package org.neo4j.cypher.internal.frontend.v3_4.ast.rewriters -import org.neo4j.cypher.internal.util.v3_4.InputPosition -import org.neo4j.cypher.internal.frontend.v3_4.helpers.FreshIdNameGenerator +import org.neo4j.cypher.internal.util.v3_4.{FreshIdNameGenerator, InputPosition} import org.neo4j.cypher.internal.v3_4.expressions._ object PropertyPredicateNormalizer extends MatchPredicateNormalizer { diff --git a/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/rewriters/isolateAggregation.scala b/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/rewriters/isolateAggregation.scala index 489818b577565..9304976c6d7d9 100644 --- a/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/rewriters/isolateAggregation.scala +++ b/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/rewriters/isolateAggregation.scala @@ -16,10 +16,10 @@ */ package org.neo4j.cypher.internal.frontend.v3_4.ast.rewriters -import org.neo4j.cypher.internal.util.v3_4.{InternalException, Rewriter, bottomUp} +import org.neo4j.cypher.internal.util.v3_4.{AggregationNameGenerator, InternalException, Rewriter, bottomUp} import org.neo4j.cypher.internal.v3_4.expressions._ import org.neo4j.cypher.internal.frontend.v3_4.ast._ -import org.neo4j.cypher.internal.frontend.v3_4.helpers.{AggregationNameGenerator, fixedPoint} +import org.neo4j.cypher.internal.frontend.v3_4.helpers.fixedPoint /** * This rewriter makes sure that aggregations are on their own in RETURN/WITH clauses, so diff --git a/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/rewriters/nameAllPatternElements.scala b/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/rewriters/nameAllPatternElements.scala index 47ebb3dbe347f..034e7a411efd0 100644 --- a/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/rewriters/nameAllPatternElements.scala +++ b/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/rewriters/nameAllPatternElements.scala @@ -16,8 +16,7 @@ */ package org.neo4j.cypher.internal.frontend.v3_4.ast.rewriters -import org.neo4j.cypher.internal.util.v3_4.{Rewriter, bottomUp} -import org.neo4j.cypher.internal.frontend.v3_4.helpers.UnNamedNameGenerator +import org.neo4j.cypher.internal.util.v3_4.{Rewriter, UnNamedNameGenerator, bottomUp} import org.neo4j.cypher.internal.v3_4.expressions.{NodePattern, RelationshipPattern, Variable} case object nameAllPatternElements extends Rewriter { diff --git a/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/rewriters/normalizeGraphReturnItems.scala b/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/rewriters/normalizeGraphReturnItems.scala index abf4669a5cea0..f26354050588e 100644 --- a/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/rewriters/normalizeGraphReturnItems.scala +++ b/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/rewriters/normalizeGraphReturnItems.scala @@ -16,9 +16,8 @@ */ package org.neo4j.cypher.internal.frontend.v3_4.ast.rewriters -import org.neo4j.cypher.internal.util.v3_4.{Rewriter, bottomUp} +import org.neo4j.cypher.internal.util.v3_4.{FreshIdNameGenerator, Rewriter, bottomUp} import org.neo4j.cypher.internal.frontend.v3_4.ast._ -import org.neo4j.cypher.internal.frontend.v3_4.helpers.FreshIdNameGenerator import org.neo4j.cypher.internal.v3_4.expressions.{Expression, Variable} case object normalizeGraphReturnItems extends Rewriter { diff --git a/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/rewriters/normalizeReturnClauses.scala b/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/rewriters/normalizeReturnClauses.scala index c10edc3b7e272..43cc23636b899 100644 --- a/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/rewriters/normalizeReturnClauses.scala +++ b/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/rewriters/normalizeReturnClauses.scala @@ -18,7 +18,6 @@ package org.neo4j.cypher.internal.frontend.v3_4.ast.rewriters import org.neo4j.cypher.internal.util.v3_4._ import org.neo4j.cypher.internal.frontend.v3_4.ast._ -import org.neo4j.cypher.internal.frontend.v3_4.helpers.FreshIdNameGenerator import org.neo4j.cypher.internal.v3_4.expressions.{Expression, Variable} /** diff --git a/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/rewriters/normalizeWithClauses.scala b/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/rewriters/normalizeWithClauses.scala index 7e1421d89192e..328002e204984 100644 --- a/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/rewriters/normalizeWithClauses.scala +++ b/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/rewriters/normalizeWithClauses.scala @@ -18,8 +18,6 @@ package org.neo4j.cypher.internal.frontend.v3_4.ast.rewriters import org.neo4j.cypher.internal.util.v3_4._ import org.neo4j.cypher.internal.frontend.v3_4.ast._ -import org.neo4j.cypher.internal.frontend.v3_4.helpers.FreshIdNameGenerator -import org.neo4j.cypher.internal.frontend.v3_4._ import org.neo4j.cypher.internal.v3_4.expressions.{Expression, Variable} /** diff --git a/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/package.scala b/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/package.scala index 7d33ccc8e0931..3f29ce6f9ece4 100644 --- a/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/package.scala +++ b/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/package.scala @@ -16,14 +16,12 @@ */ package org.neo4j.cypher.internal.frontend -import org.neo4j.cypher.internal.util.v3_4.NonEmptyList import org.neo4j.cypher.internal.frontend.v3_4.semantics._ import org.neo4j.cypher.internal.util.v3_4.symbols.TypeSpec import scala.language.implicitConversions package object v3_4 { - type Bounds[+V] = NonEmptyList[Bound[V]] type SemanticCheck = SemanticState => SemanticCheckResult type TypeGenerator = SemanticState => TypeSpec diff --git a/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/SemanticTable.scala b/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/SemanticTable.scala index 06a0657630f55..5b9db3db2306a 100644 --- a/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/SemanticTable.scala +++ b/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/SemanticTable.scala @@ -17,9 +17,8 @@ package org.neo4j.cypher.internal.frontend.v3_4.semantics import org.neo4j.cypher.internal.util.v3_4.symbols._ -import org.neo4j.cypher.internal.util.v3_4.{ASTNode, InternalException} +import org.neo4j.cypher.internal.util.v3_4._ import org.neo4j.cypher.internal.frontend.v3_4.ast.ASTAnnotationMap -import org.neo4j.cypher.internal.frontend.v3_4.{LabelId, PropertyKeyId, RelTypeId} import org.neo4j.cypher.internal.v3_4.expressions._ import scala.collection.mutable diff --git a/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/ExpressionCallTypeCheckerTest.scala b/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/ExpressionCallTypeCheckerTest.scala index 23dd545811864..571098112699b 100644 --- a/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/ExpressionCallTypeCheckerTest.scala +++ b/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/ExpressionCallTypeCheckerTest.scala @@ -20,7 +20,7 @@ import org.neo4j.cypher.internal.util.v3_4.InputPosition import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.cypher.internal.frontend.v3_4.semantics.{SemanticCheckResult, SemanticExpressionCheck, SemanticState} import org.neo4j.cypher.internal.util.v3_4.symbols._ -import org.neo4j.cypher.internal.v3_4.expressions.{Expression, TypeSignature} +import org.neo4j.cypher.internal.v3_4.expressions.{DummyExpression, Expression, TypeSignature} class ExpressionCallTypeCheckerTest extends CypherFunSuite with AstConstructionTestSupport { diff --git a/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/SetClauseTest.scala b/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/SetClauseTest.scala index e2ed6589c0c4e..714efdd5952dc 100644 --- a/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/SetClauseTest.scala +++ b/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/SetClauseTest.scala @@ -19,7 +19,7 @@ package org.neo4j.cypher.internal.frontend.v3_4.ast import org.neo4j.cypher.internal.util.v3_4.DummyPosition import org.neo4j.cypher.internal.frontend.v3_4.semantics.{SemanticFunSuite, SemanticState} import org.neo4j.cypher.internal.util.v3_4.symbols._ -import org.neo4j.cypher.internal.v3_4.expressions.{Property, PropertyKeyName} +import org.neo4j.cypher.internal.v3_4.expressions.{DummyExpression, Property, PropertyKeyName} class SetClauseTest extends SemanticFunSuite { diff --git a/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/DummyExpression.scala b/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/TestExpression.scala similarity index 89% rename from community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/DummyExpression.scala rename to community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/TestExpression.scala index 7796556c28a3c..7375fbf9767e7 100644 --- a/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/DummyExpression.scala +++ b/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/ast/TestExpression.scala @@ -16,17 +16,12 @@ */ package org.neo4j.cypher.internal.frontend.v3_4.ast -import org.neo4j.cypher.internal.util.v3_4.{DummyPosition, InputPosition} import org.neo4j.cypher.internal.frontend.v3_4.SemanticCheck -import org.neo4j.cypher.internal.v3_4.expressions.Expression.SemanticContext import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticError import org.neo4j.cypher.internal.util.v3_4.symbols.TypeSpec +import org.neo4j.cypher.internal.util.v3_4.{DummyPosition, InputPosition} import org.neo4j.cypher.internal.v3_4.expressions.Expression - -case class DummyExpression( - possibleTypes: TypeSpec, - position: InputPosition = DummyPosition(0) - ) extends Expression +import org.neo4j.cypher.internal.v3_4.expressions.Expression.SemanticContext case class ErrorExpression( error: SemanticError, diff --git a/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/ContainerIndexTest.scala b/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/ContainerIndexTest.scala index 9b31d7ba75a7d..0af7a0a4858b8 100644 --- a/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/ContainerIndexTest.scala +++ b/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/ContainerIndexTest.scala @@ -19,7 +19,7 @@ package org.neo4j.cypher.internal.frontend.v3_4.semantics import org.neo4j.cypher.internal.util.v3_4.DummyPosition import org.neo4j.cypher.internal.frontend.v3_4.ast._ import org.neo4j.cypher.internal.util.v3_4.symbols._ -import org.neo4j.cypher.internal.v3_4.expressions.{ContainerIndex, DecimalDoubleLiteral, SignedDecimalIntegerLiteral} +import org.neo4j.cypher.internal.v3_4.expressions.{ContainerIndex, DecimalDoubleLiteral, DummyExpression, SignedDecimalIntegerLiteral} class ContainerIndexTest extends SemanticFunSuite { diff --git a/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/FilterExpressionTest.scala b/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/FilterExpressionTest.scala index 5687841085237..c91f173d870cf 100644 --- a/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/FilterExpressionTest.scala +++ b/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/FilterExpressionTest.scala @@ -19,7 +19,7 @@ package org.neo4j.cypher.internal.frontend.v3_4.semantics import org.neo4j.cypher.internal.util.v3_4.DummyPosition import org.neo4j.cypher.internal.frontend.v3_4.ast._ import org.neo4j.cypher.internal.util.v3_4.symbols._ -import org.neo4j.cypher.internal.v3_4.expressions.{FilterExpression, True} +import org.neo4j.cypher.internal.v3_4.expressions.{DummyExpression, FilterExpression, True} class FilterExpressionTest extends SemanticFunSuite { diff --git a/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/FilteringExpressionTest.scala b/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/FilteringExpressionTest.scala index 27bc0ac1e7ce6..50596ebe4c934 100644 --- a/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/FilteringExpressionTest.scala +++ b/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/FilteringExpressionTest.scala @@ -18,7 +18,7 @@ package org.neo4j.cypher.internal.frontend.v3_4.semantics import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.frontend.v3_4.ast._ -import org.neo4j.cypher.internal.v3_4.expressions.ListComprehension +import org.neo4j.cypher.internal.v3_4.expressions.{DummyExpression, ListComprehension} class FilteringExpressionTest extends SemanticFunSuite { diff --git a/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/InfixExpressionTestBase.scala b/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/InfixExpressionTestBase.scala index 657d0e83140b7..a44362ca8be65 100644 --- a/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/InfixExpressionTestBase.scala +++ b/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/InfixExpressionTestBase.scala @@ -16,9 +16,8 @@ */ package org.neo4j.cypher.internal.frontend.v3_4.semantics -import org.neo4j.cypher.internal.frontend.v3_4.ast.DummyExpression import org.neo4j.cypher.internal.util.v3_4.symbols._ -import org.neo4j.cypher.internal.v3_4.expressions.Expression +import org.neo4j.cypher.internal.v3_4.expressions.{DummyExpression, Expression} abstract class InfixExpressionTestBase(ctr: (Expression, Expression) => Expression) extends SemanticFunSuite { diff --git a/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/ListComprehensionTest.scala b/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/ListComprehensionTest.scala index e2ccf4095e4d1..7f1e0d2648d5a 100644 --- a/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/ListComprehensionTest.scala +++ b/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/ListComprehensionTest.scala @@ -19,7 +19,7 @@ package org.neo4j.cypher.internal.frontend.v3_4.semantics import org.neo4j.cypher.internal.util.v3_4.DummyPosition import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.frontend.v3_4.ast._ -import org.neo4j.cypher.internal.v3_4.expressions.{ListComprehension, Variable} +import org.neo4j.cypher.internal.v3_4.expressions.{DummyExpression, ListComprehension, Variable} class ListComprehensionTest extends SemanticFunSuite { diff --git a/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/ListSliceTest.scala b/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/ListSliceTest.scala index 4ee542658cd2a..abce736d45e50 100644 --- a/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/ListSliceTest.scala +++ b/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/ListSliceTest.scala @@ -19,7 +19,7 @@ package org.neo4j.cypher.internal.frontend.v3_4.semantics import org.neo4j.cypher.internal.util.v3_4.DummyPosition import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.frontend.v3_4.ast._ -import org.neo4j.cypher.internal.v3_4.expressions.{DecimalDoubleLiteral, ListSlice, SignedDecimalIntegerLiteral} +import org.neo4j.cypher.internal.v3_4.expressions.{DecimalDoubleLiteral, DummyExpression, ListSlice, SignedDecimalIntegerLiteral} class ListSliceTest extends SemanticFunSuite { val dummyList = DummyExpression( diff --git a/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/ReduceExpressionTest.scala b/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/ReduceExpressionTest.scala index af07cc1c59d62..e38d2f08a6a19 100644 --- a/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/ReduceExpressionTest.scala +++ b/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/ReduceExpressionTest.scala @@ -19,7 +19,7 @@ package org.neo4j.cypher.internal.frontend.v3_4.semantics import org.neo4j.cypher.internal.util.v3_4.DummyPosition import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.frontend.v3_4.ast._ -import org.neo4j.cypher.internal.v3_4.expressions.{ReduceExpression, Variable} +import org.neo4j.cypher.internal.v3_4.expressions.{DummyExpression, ReduceExpression, Variable} class ReduceExpressionTest extends SemanticFunSuite { diff --git a/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/SemanticAnalysisToolingTest.scala b/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/SemanticAnalysisToolingTest.scala index 7cc41f0d3031f..86b833004f068 100644 --- a/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/SemanticAnalysisToolingTest.scala +++ b/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/SemanticAnalysisToolingTest.scala @@ -19,6 +19,7 @@ package org.neo4j.cypher.internal.frontend.v3_4.semantics import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.cypher.internal.frontend.v3_4.ast._ import org.neo4j.cypher.internal.util.v3_4.symbols._ +import org.neo4j.cypher.internal.v3_4.expressions.DummyExpression class SemanticAnalysisToolingTest extends CypherFunSuite { diff --git a/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/SemanticCaseExpressionTest.scala b/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/SemanticCaseExpressionTest.scala index e6043142b8942..2e7222a7f7d1b 100644 --- a/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/SemanticCaseExpressionTest.scala +++ b/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/SemanticCaseExpressionTest.scala @@ -19,7 +19,7 @@ package org.neo4j.cypher.internal.frontend.v3_4.semantics import org.neo4j.cypher.internal.util.v3_4.DummyPosition import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.frontend.v3_4.ast._ -import org.neo4j.cypher.internal.v3_4.expressions.CaseExpression +import org.neo4j.cypher.internal.v3_4.expressions.{CaseExpression, DummyExpression} class SemanticCaseExpressionTest extends SemanticFunSuite { diff --git a/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/SemanticExtractExpressionTest.scala b/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/SemanticExtractExpressionTest.scala index 2301dc132b97b..f23cdd5bb1bc9 100644 --- a/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/SemanticExtractExpressionTest.scala +++ b/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/SemanticExtractExpressionTest.scala @@ -18,8 +18,7 @@ package org.neo4j.cypher.internal.frontend.v3_4.semantics import org.neo4j.cypher.internal.util.v3_4.DummyPosition import org.neo4j.cypher.internal.util.v3_4.symbols._ -import org.neo4j.cypher.internal.frontend.v3_4.ast.DummyExpression -import org.neo4j.cypher.internal.v3_4.expressions.{ExtractExpression, True, Variable} +import org.neo4j.cypher.internal.v3_4.expressions.{DummyExpression, ExtractExpression, True, Variable} class SemanticExtractExpressionTest extends SemanticFunSuite { diff --git a/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/SemanticFunSuite.scala b/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/SemanticFunSuite.scala index bdea011d8d146..db5876cb2e68c 100644 --- a/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/SemanticFunSuite.scala +++ b/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/SemanticFunSuite.scala @@ -18,7 +18,7 @@ package org.neo4j.cypher.internal.frontend.v3_4.semantics import org.neo4j.cypher.internal.util.v3_4.DummyPosition import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.frontend.v3_4.ast.{CustomExpression, DummyExpression, ErrorExpression} +import org.neo4j.cypher.internal.frontend.v3_4.ast.{CustomExpression, ErrorExpression} import org.neo4j.cypher.internal.v3_4.expressions._ class SemanticFunSuite extends CypherFunSuite with SemanticAnalysisTooling { diff --git a/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/functions/FunctionTestBase.scala b/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/functions/FunctionTestBase.scala index cacf9d9f545bf..a0b765ccddee4 100644 --- a/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/functions/FunctionTestBase.scala +++ b/community/cypher/frontend-3.4/src/test/scala/org/neo4j/cypher/internal/frontend/v3_4/semantics/functions/FunctionTestBase.scala @@ -18,10 +18,9 @@ package org.neo4j.cypher.internal.frontend.v3_4.semantics.functions import org.neo4j.cypher.internal.util.v3_4.DummyPosition import org.neo4j.cypher.internal.util.v3_4.symbols._ -import org.neo4j.cypher.internal.frontend.v3_4.ast.DummyExpression import org.neo4j.cypher.internal.frontend.v3_4.semantics.{SemanticCheckResult, SemanticExpressionCheck, SemanticFunSuite, SemanticState} import org.neo4j.cypher.internal.v3_4.expressions.Expression.SemanticContext -import org.neo4j.cypher.internal.v3_4.expressions.{FunctionInvocation, FunctionName} +import org.neo4j.cypher.internal.v3_4.expressions.{DummyExpression, FunctionInvocation, FunctionName} abstract class FunctionTestBase(funcName: String) extends SemanticFunSuite { diff --git a/community/cypher/interpreted-runtime/LICENSES.txt b/community/cypher/interpreted-runtime/LICENSES.txt new file mode 100644 index 0000000000000..0ee24e11c3cc1 --- /dev/null +++ b/community/cypher/interpreted-runtime/LICENSES.txt @@ -0,0 +1,322 @@ +This file contains the full license text of the included third party +libraries. For an overview of the licenses see the NOTICE.txt file. + +------------------------------------------------------------------------------ +Apache Software License, Version 2.0 + Apache Commons Lang + Lucene Core + Lucene Memory + Netty/All-in-One + parboiled-core + parboiled-scala +------------------------------------------------------------------------------ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. + + +------------------------------------------------------------------------------ +BSD - Scala License + Scala Library +------------------------------------------------------------------------------ + +SCALA LICENSE + +Copyright (c) 2002-2012 EPFL, Lausanne, unless otherwise specified. +All rights reserved. + +This software was developed by the Programming Methods Laboratory of the +Swiss Federal Institute of Technology (EPFL), Lausanne, Switzerland. + +Permission to use, copy, modify, and distribute this software in source +or binary form for any purpose with or without fee is hereby granted, +provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the EPFL nor the names of its contributors + may be used to endorse or promote products derived from this + software without specific prior written permission. + + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + + +------------------------------------------------------------------------------ +BSD License + Scala Compiler +------------------------------------------------------------------------------ + +Copyright (c) , +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------------------ +Bouncy Castle License + Bouncy Castle PKIX, CMS, EAC, TSP, PKCS, OCSP, CMP, and CRMF APIs + Bouncy Castle Provider +------------------------------------------------------------------------------ + +Please note: our license is an adaptation of the MIT X11 License and should be +read as such. + +LICENSE + +Copyright (c) 2000 - 2011 The Legion Of The Bouncy Castle +(http://www.bouncycastle.org) + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + diff --git a/community/cypher/interpreted-runtime/NOTICE.txt b/community/cypher/interpreted-runtime/NOTICE.txt new file mode 100644 index 0000000000000..49d2002309ff1 --- /dev/null +++ b/community/cypher/interpreted-runtime/NOTICE.txt @@ -0,0 +1,45 @@ +Neo4j +Copyright © 2002-2017 Network Engine for Objects in Lund AB (referred to +in this notice as "Neo Technology") + [http://neotechnology.com] + +This product includes software ("Software") developed by Neo Technology. + +The copyright in the bundled Neo4j graph database (including the +Software) is owned by Neo Technology. The Software developed and owned +by Neo Technology is licensed under the GNU GENERAL PUBLIC LICENSE +Version 3 (http://www.fsf.org/licensing/licenses/gpl-3.0.html) ("GPL") +to all third parties and that license, as required by the GPL, is +included in the LICENSE.txt file. + +However, if you have executed an End User Software License and Services +Agreement or an OEM Software License and Support Services Agreement, or +another commercial license agreement with Neo Technology or one of its +affiliates (each, a "Commercial Agreement"), the terms of the license in +such Commercial Agreement will supersede the GPL and you may use the +software solely pursuant to the terms of the relevant Commercial +Agreement. + +Full license texts are found in LICENSES.txt. + +Third-party licenses +-------------------- + +Apache Software License, Version 2.0 + Apache Commons Lang + Lucene Core + Lucene Memory + Netty/All-in-One + parboiled-core + parboiled-scala + +BSD - Scala License + Scala Library + +BSD License + Scala Compiler + +Bouncy Castle License + Bouncy Castle PKIX, CMS, EAC, TSP, PKCS, OCSP, CMP, and CRMF APIs + Bouncy Castle Provider + diff --git a/community/cypher/interpreted-runtime/pom.xml b/community/cypher/interpreted-runtime/pom.xml new file mode 100644 index 0000000000000..d472a942f38e8 --- /dev/null +++ b/community/cypher/interpreted-runtime/pom.xml @@ -0,0 +1,173 @@ + + + + org.neo4j + cypher-parent + 3.4.0-SNAPSHOT + ../ + + + 4.0.0 + neo4j-cypher-interpreted-runtime + jar + 3.4.0-SNAPSHOT + Neo4j - Cypher Interpreted Runtime + + The traditional cypher interpreted runtime + http://components.neo4j.org/${project.artifactId}/${project.version} + + + scm:git:git://github.com/neo4j/neo4j.git + scm:git:git@github.com:neo4j/neo4j.git + https://github.com/neo4j/neo4j + + + + + GNU General Public License, Version 3 + http://www.gnu.org/licenses/gpl-3.0-standalone.html + The software ("Software") developed and owned by Network Engine for + Objects in Lund AB (referred to in this notice as "Neo Technology") is + licensed under the GNU GENERAL PUBLIC LICENSE Version 3 to all third + parties and that license is included below. + + However, if you have executed an End User Software License and Services + Agreement or an OEM Software License and Support Services Agreement, or + another commercial license agreement with Neo Technology or one of its + affiliates (each, a "Commercial Agreement"), the terms of the license in + such Commercial Agreement will supersede the GNU GENERAL PUBLIC LICENSE + Version 3 and you may use the Software solely pursuant to the terms of + the relevant Commercial Agreement. + + + + + + + + org.scalastyle + scalastyle-maven-plugin + + + + + + + + + + + + org.neo4j + neo4j-cypher-logical-plans-3.4 + ${project.version} + + + + org.neo4j + neo4j-cypher-planner-spi-3.4 + ${project.version} + + + + org.neo4j + neo4j-cypher-runtime-util + ${project.version} + + + + org.neo4j + neo4j-values + ${project.version} + + + + org.neo4j + neo4j-graphdb-api + ${project.version} + + + + org.neo4j + neo4j-graph-algo + ${project.version} + + + + org.neo4j + neo4j-kernel + ${project.version} + + + + + + org.scala-lang + scala-library + + + + org.scala-lang + scala-reflect + + + + + + org.scalatest + scalatest_2.11 + test + + + scala-library + org.scala-lang + + + + + org.scalacheck + scalacheck_2.11 + test + + + + + + org.parboiled + parboiled-scala_2.11 + + + + org.apache.commons + commons-lang3 + + + + + + org.neo4j + neo4j-cypher-util-3.4 + ${project.version} + test-jar + test + + + + org.neo4j + neo4j-cypher-runtime-util + ${project.version} + test-jar + test + + + + org.neo4j + neo4j-kernel + ${project.version} + test-jar + test + + + + + diff --git a/community/cypher/cypher/src/main/java/org/neo4j/cypher/javacompat/internal/GraphDatabaseCypherService.java b/community/cypher/interpreted-runtime/src/main/java/org/neo4j/cypher/internal/javacompat/GraphDatabaseCypherService.java similarity index 98% rename from community/cypher/cypher/src/main/java/org/neo4j/cypher/javacompat/internal/GraphDatabaseCypherService.java rename to community/cypher/interpreted-runtime/src/main/java/org/neo4j/cypher/internal/javacompat/GraphDatabaseCypherService.java index 762d03a05a223..257e320187078 100644 --- a/community/cypher/cypher/src/main/java/org/neo4j/cypher/javacompat/internal/GraphDatabaseCypherService.java +++ b/community/cypher/interpreted-runtime/src/main/java/org/neo4j/cypher/internal/javacompat/GraphDatabaseCypherService.java @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.javacompat.internal; +package org.neo4j.cypher.internal.javacompat; import java.net.URL; import java.util.concurrent.TimeUnit; diff --git a/community/cypher/cypher/src/main/java/org/neo4j/cypher/internal/javacompat/ValueToObjectSerializer.java b/community/cypher/interpreted-runtime/src/main/java/org/neo4j/cypher/internal/javacompat/ValueToObjectSerializer.java similarity index 84% rename from community/cypher/cypher/src/main/java/org/neo4j/cypher/internal/javacompat/ValueToObjectSerializer.java rename to community/cypher/interpreted-runtime/src/main/java/org/neo4j/cypher/internal/javacompat/ValueToObjectSerializer.java index f59a6b9ad40d0..09e273a1f6bc1 100644 --- a/community/cypher/cypher/src/main/java/org/neo4j/cypher/internal/javacompat/ValueToObjectSerializer.java +++ b/community/cypher/interpreted-runtime/src/main/java/org/neo4j/cypher/internal/javacompat/ValueToObjectSerializer.java @@ -19,8 +19,8 @@ */ package org.neo4j.cypher.internal.javacompat; -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.CartesianPoint; -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.GeographicPoint; +import org.neo4j.cypher.internal.runtime.CartesianPoint; +import org.neo4j.cypher.internal.runtime.GeographicPoint; import org.neo4j.graphdb.Node; import org.neo4j.graphdb.Relationship; import org.neo4j.graphdb.spatial.Point; @@ -52,13 +52,13 @@ protected Relationship newRelationshipProxyById( long id ) protected Point newGeographicPoint( double longitude, double latitude, String name, int code, String href ) { return new GeographicPoint( longitude, latitude, - new org.neo4j.cypher.internal.compatibility.v3_4.runtime.CRS( name, code, href ) ); + new org.neo4j.cypher.internal.runtime.CRS( name, code, href ) ); } @Override protected Point newCartesianPoint( double x, double y, String name, int code, String href ) { return new CartesianPoint( x, y, - new org.neo4j.cypher.internal.compatibility.v3_4.runtime.CRS( name, code, href ) ); + new org.neo4j.cypher.internal.runtime.CRS( name, code, href ) ); } } diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/BeansAPIRelationshipIterator.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/BeansAPIRelationshipIterator.scala similarity index 97% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/BeansAPIRelationshipIterator.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/BeansAPIRelationshipIterator.scala index ea5a9b7bd721c..c117e5533d3e9 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/BeansAPIRelationshipIterator.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/BeansAPIRelationshipIterator.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.spi +package org.neo4j.cypher.internal.runtime.interpreted import org.neo4j.graphdb.Relationship import org.neo4j.kernel.impl.api.RelationshipVisitor diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/CSVResources.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/CSVResources.scala similarity index 94% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/CSVResources.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/CSVResources.scala index 574be7e8fdc96..33cf1f882b593 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/CSVResources.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/CSVResources.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.spi.v3_4 +package org.neo4j.cypher.internal.runtime.interpreted import java.io._ import java.net.{CookieHandler, CookieManager, CookiePolicy, URL} @@ -26,9 +26,8 @@ import java.nio.file.Paths import java.util.zip.{GZIPInputStream, InflaterInputStream} import org.neo4j.csv.reader._ -import org.neo4j.cypher.internal.util.v3_4.LoadExternalResourceException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.TaskCloser -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.ExternalCSVResource +import org.neo4j.cypher.internal.runtime.interpreted.pipes.ExternalCSVResource +import org.neo4j.cypher.internal.util.v3_4.{LoadExternalResourceException, TaskCloser} import sun.net.www.protocol.http.HttpURLConnection import scala.collection.mutable.ArrayBuffer diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/CastSupport.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/CastSupport.scala similarity index 99% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/CastSupport.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/CastSupport.scala index 1cebfd6cae883..220c79efe1a8a 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/CastSupport.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/CastSupport.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers +package org.neo4j.cypher.internal.runtime.interpreted import org.neo4j.cypher.internal.util.v3_4.CypherTypeException import org.neo4j.values.storable.{ArrayValue, _} diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/CypherOrdering.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/CypherOrdering.scala similarity index 61% rename from community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/CypherOrdering.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/CypherOrdering.scala index 05ceabb976724..f827185d02f9c 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/CypherOrdering.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/CypherOrdering.scala @@ -17,51 +17,21 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compiler.v3_4 +package org.neo4j.cypher.internal.runtime.interpreted import java.util.Comparator -import org.neo4j.cypher.internal.compiler.v3_4.MinMaxOrdering._ +import org.neo4j.cypher.internal.v3_4.logical.plans.MinMaxOrdering import org.neo4j.kernel.impl.api.PropertyValueComparison object CypherOrdering { - val DEFAULT = Ordering.comparatorToOrdering(PropertyValueComparison.COMPARE_VALUES.asInstanceOf[Comparator[Any]]).withNullsLast -} -case class MinMaxOrdering[T](ordering: Ordering[T]) { - val forMin = ordering.withNullsFirst - val forMax = ordering.withNullsLast -} + import MinMaxOrdering._ + + val DEFAULT = Ordering.comparatorToOrdering(PropertyValueComparison.COMPARE_VALUES.asInstanceOf[Comparator[Any]]).withNullsLast -object MinMaxOrdering { val BY_VALUE = MinMaxOrdering(Ordering.comparatorToOrdering(PropertyValueComparison.COMPARE_VALUES.asInstanceOf[Comparator[Any]])) val BY_NUMBER = MinMaxOrdering(Ordering.comparatorToOrdering(PropertyValueComparison.COMPARE_NUMBERS)) val BY_STRING = MinMaxOrdering(Ordering.comparatorToOrdering(PropertyValueComparison.COMPARE_STRINGS)) - - implicit class NullOrdering[T](ordering: Ordering[T]) { - def withNullsFirst = new Ordering[T] { - override def compare(x: T, y: T): Int = { - if (x == null) { - if (y == null) 0 else -1 - } else if (y == null) { - +1 - } else { - ordering.compare(x, y) - } - } - } - - def withNullsLast = new Ordering[T] { - override def compare(x: T, y: T): Int = { - if (x == null) { - if (y == null) 0 else +1 - } else if (y == null) { - -1 - } else { - ordering.compare(x, y) - } - } - } - } } diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/DelegatingQueryContext.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/DelegatingQueryContext.scala similarity index 95% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/DelegatingQueryContext.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/DelegatingQueryContext.scala index 840497e50287c..942f7443f5c48 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/DelegatingQueryContext.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/DelegatingQueryContext.scala @@ -17,15 +17,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.spi.v3_4 +package org.neo4j.cypher.internal.runtime.interpreted import java.net.URL import org.neo4j.collection.primitive.PrimitiveLongIterator -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Expander, KernelPredicate, UserDefinedAggregator} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.matching.PatternNode -import org.neo4j.cypher.internal.compiler.v3_4.IndexDescriptor -import org.neo4j.cypher.internal.compiler.v3_4.spi.KernelStatisticProvider +import org.neo4j.cypher.internal.planner.v3_4.spi.{IndexDescriptor, KernelStatisticProvider} +import org.neo4j.cypher.internal.runtime._ import org.neo4j.cypher.internal.v3_4.logical.plans.QualifiedName import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.graphdb.{Node, Path, PropertyContainer, Relationship} @@ -181,13 +179,12 @@ class DelegatingQueryContext(val inner: QueryContext) extends QueryContext { override def nodeIsDense(node: Long): Boolean = singleDbHit(inner.nodeIsDense(node)) - override def variableLengthPathExpand(node: PatternNode, - realNode: Long, + override def variableLengthPathExpand(realNode: Long, minHops: Option[Int], maxHops: Option[Int], direction: SemanticDirection, relTypes: Seq[String]): Iterator[Path] = - manyDbHits(inner.variableLengthPathExpand(node, realNode, minHops, maxHops, direction, relTypes)) + manyDbHits(inner.variableLengthPathExpand(realNode, minHops, maxHops, direction, relTypes)) override def isLabelSetOnNode(label: Int, node: Long): Boolean = singleDbHit(inner.isLabelSetOnNode(label, node)) diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/ExecutionContext.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/ExecutionContext.scala similarity index 97% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/ExecutionContext.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/ExecutionContext.scala index 3b71697c9d9fc..8509ab464755d 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/ExecutionContext.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/ExecutionContext.scala @@ -17,10 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime +package org.neo4j.cypher.internal.runtime.interpreted import org.neo4j.cypher.internal.util.v3_4.InternalException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.MutableMaps import org.neo4j.values.AnyValue import scala.collection.mutable.{Map => MutableMap} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/mutation/GraphElementPropertyFunctions.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/GraphElementPropertyFunctions.scala similarity index 84% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/mutation/GraphElementPropertyFunctions.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/GraphElementPropertyFunctions.scala index 7c988aa896bbd..c0f58213bcfa2 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/mutation/GraphElementPropertyFunctions.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/GraphElementPropertyFunctions.scala @@ -17,10 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.mutation +package org.neo4j.cypher.internal.runtime.interpreted -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.ListSupport +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression import scala.collection.Map diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/IndexDescriptorCompatibility.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/IndexDescriptorCompatibility.scala similarity index 93% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/IndexDescriptorCompatibility.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/IndexDescriptorCompatibility.scala index e4066c1f69207..654d6ce255eaa 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/IndexDescriptorCompatibility.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/IndexDescriptorCompatibility.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.spi.v3_4 +package org.neo4j.cypher.internal.runtime.interpreted -import org.neo4j.cypher.internal.compiler.v3_4.{IndexDescriptor => CypherIndexDescriptor} +import org.neo4j.cypher.internal.planner.v3_4.spi.{IndexDescriptor => CypherIndexDescriptor} import org.neo4j.kernel.api.schema.index.{IndexDescriptorFactory, IndexDescriptor => KernelIndexDescriptor} import org.neo4j.kernel.api.schema.{LabelSchemaDescriptor, SchemaDescriptorFactory} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/JavaConversionSupport.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/JavaConversionSupport.scala similarity index 96% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/JavaConversionSupport.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/JavaConversionSupport.scala index 83db09e670092..4bcb0baf48f0d 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/JavaConversionSupport.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/JavaConversionSupport.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers +package org.neo4j.cypher.internal.runtime.interpreted import org.neo4j.collection.primitive.{PrimitiveIntIterator, PrimitiveLongIterator} import org.neo4j.cypher.internal.util.v3_4.EntityNotFoundException diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/LastCommittedTxIdProvider.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/LastCommittedTxIdProvider.scala similarity index 95% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/LastCommittedTxIdProvider.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/LastCommittedTxIdProvider.scala index a4eccb00ba5d2..e9ae0abba47d8 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/LastCommittedTxIdProvider.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/LastCommittedTxIdProvider.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal +package org.neo4j.cypher.internal.runtime.interpreted import org.neo4j.kernel.GraphDatabaseQueryService import org.neo4j.kernel.impl.transaction.log.TransactionIdStore diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/ListSupport.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/ListSupport.scala similarity index 97% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/ListSupport.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/ListSupport.scala index 57982a41b48e9..1d180086e803d 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/ListSupport.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/ListSupport.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers +package org.neo4j.cypher.internal.runtime.interpreted import org.neo4j.values.AnyValue import org.neo4j.values.storable.{ArrayValue, Values} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/MapSupport.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/MapSupport.scala similarity index 96% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/MapSupport.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/MapSupport.scala index 82856e81ebca2..bacacd220498c 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/MapSupport.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/MapSupport.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers +package org.neo4j.cypher.internal.runtime.interpreted import java.util import java.util.Map -import org.neo4j.cypher.internal.spi.v3_4.{Operations, QueryContext} +import org.neo4j.cypher.internal.runtime.{Operations, QueryContext} import org.neo4j.graphdb.PropertyContainer import org.neo4j.values.AnyValue import org.neo4j.values.virtual.{EdgeValue, MapValue, NodeValue, VirtualValues} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/MutableMaps.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/MutableMaps.scala similarity index 95% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/MutableMaps.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/MutableMaps.scala index 9b10b93418584..bc235b78229d6 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/MutableMaps.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/MutableMaps.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted import org.neo4j.values.AnyValue diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/builders/PatternGraphBuilder.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/PatternGraphBuilder.scala similarity index 91% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/builders/PatternGraphBuilder.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/PatternGraphBuilder.scala index abaaee9fc60fe..72e3b24b11208 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/builders/PatternGraphBuilder.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/PatternGraphBuilder.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.builders +package org.neo4j.cypher.internal.runtime.interpreted +import org.neo4j.cypher.internal.runtime.interpreted.commands.{Pattern, RelatedTo, VarLengthRelatedTo} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.matching.{PatternGraph, PatternNode, PatternRelationship} +import org.neo4j.cypher.internal.runtime.interpreted.symbols.SymbolTable import org.neo4j.cypher.internal.util.v3_4.SyntaxException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.{Pattern, RelatedTo, VarLengthRelatedTo} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.matching.{PatternGraph, PatternNode, PatternRelationship} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.symbols.SymbolTable import scala.collection.mutable diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/ProfileKernelStatisticProvider.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/ProfileKernelStatisticProvider.scala similarity index 89% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/ProfileKernelStatisticProvider.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/ProfileKernelStatisticProvider.scala index 8263229e4ef77..adc24ee12d64b 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/ProfileKernelStatisticProvider.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/ProfileKernelStatisticProvider.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4 +package org.neo4j.cypher.internal.runtime.interpreted -import org.neo4j.cypher.internal.compiler.v3_4.spi.KernelStatisticProvider +import org.neo4j.cypher.internal.planner.v3_4.spi.KernelStatisticProvider import org.neo4j.kernel.impl.query.statistic.StatisticProvider class ProfileKernelStatisticProvider(statisticProvider: StatisticProvider) extends KernelStatisticProvider { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/TransactionBoundGraphStatistics.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/TransactionBoundGraphStatistics.scala similarity index 89% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/TransactionBoundGraphStatistics.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/TransactionBoundGraphStatistics.scala index a69e0893cf9eb..8287b3632d1c1 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/TransactionBoundGraphStatistics.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/TransactionBoundGraphStatistics.scala @@ -17,12 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.spi.v3_4 +package org.neo4j.cypher.internal.runtime.interpreted -import org.neo4j.cypher.internal.compiler.v3_4.IndexDescriptor -import org.neo4j.cypher.internal.compiler.v3_4.spi.{GraphStatistics, StatisticsCompletingGraphStatistics} -import org.neo4j.cypher.internal.frontend.v3_4.{LabelId, NameId, RelTypeId} -import org.neo4j.cypher.internal.ir.v3_4.{Cardinality, Selectivity} +import org.neo4j.cypher.internal.planner.v3_4.spi.{GraphStatistics, IndexDescriptor, StatisticsCompletingGraphStatistics} +import org.neo4j.cypher.internal.util.v3_4.{Cardinality, LabelId, RelTypeId, Selectivity} import org.neo4j.kernel.api.ReadOperations import org.neo4j.kernel.api.exceptions.index.IndexNotFoundKernelException @@ -31,8 +29,6 @@ object TransactionBoundGraphStatistics { private class BaseTransactionBoundGraphStatistics(operations: ReadOperations) extends GraphStatistics with IndexDescriptorCompatibility { - import NameId._ - def indexSelectivity(index: IndexDescriptor): Option[Selectivity] = try { val labeledNodes = operations.countsForNodeWithoutTxState( index.label ).toDouble diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/TransactionBoundPlanContext.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/TransactionBoundPlanContext.scala similarity index 88% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/TransactionBoundPlanContext.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/TransactionBoundPlanContext.scala index ecd207ed261d9..cc9903c082e30 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/TransactionBoundPlanContext.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/TransactionBoundPlanContext.scala @@ -17,18 +17,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.spi.v3_4 +package org.neo4j.cypher.internal.runtime.interpreted import java.util.Optional import org.neo4j.cypher.MissingIndexException -import org.neo4j.cypher.internal.LastCommittedTxIdProvider -import org.neo4j.cypher.internal.util.v3_4.{CypherExecutionException, symbols} -import org.neo4j.cypher.internal.compiler.v3_4.IndexDescriptor -import org.neo4j.cypher.internal.compiler.v3_4.spi._ import org.neo4j.cypher.internal.frontend.v3_4.phases.InternalNotificationLogger +import org.neo4j.cypher.internal.planner.v3_4.spi._ +import org.neo4j.cypher.internal.util.v3_4.CypherExecutionException +import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.v3_4.logical.plans._ -import org.neo4j.cypher.internal.util.v3_4.symbols.CypherType import org.neo4j.internal.kernel.api.exceptions.KernelException import org.neo4j.kernel.api.index.InternalIndexState import org.neo4j.kernel.api.proc.Neo4jTypes.AnyType @@ -177,19 +175,19 @@ class TransactionBoundPlanContext(tc: TransactionalContextWrapper, logger: Inter asCypherType(neo4jValue.neo4jType())) private def asCypherType(neoType: AnyType): CypherType = neoType match { - case Neo4jTypes.NTString => symbols.CTString - case Neo4jTypes.NTInteger => symbols.CTInteger - case Neo4jTypes.NTFloat => symbols.CTFloat - case Neo4jTypes.NTNumber => symbols.CTNumber - case Neo4jTypes.NTBoolean => symbols.CTBoolean - case l: Neo4jTypes.ListType => symbols.CTList(asCypherType(l.innerType())) - case Neo4jTypes.NTPoint => symbols.CTPoint - case Neo4jTypes.NTNode => symbols.CTNode - case Neo4jTypes.NTRelationship => symbols.CTRelationship - case Neo4jTypes.NTPath => symbols.CTPath - case Neo4jTypes.NTGeometry => symbols.CTGeometry - case Neo4jTypes.NTMap => symbols.CTMap - case Neo4jTypes.NTAny => symbols.CTAny + case Neo4jTypes.NTString => CTString + case Neo4jTypes.NTInteger => CTInteger + case Neo4jTypes.NTFloat => CTFloat + case Neo4jTypes.NTNumber => CTNumber + case Neo4jTypes.NTBoolean => CTBoolean + case l: Neo4jTypes.ListType => CTList(asCypherType(l.innerType())) + case Neo4jTypes.NTPoint => CTPoint + case Neo4jTypes.NTNode => CTNode + case Neo4jTypes.NTRelationship => CTRelationship + case Neo4jTypes.NTPath => CTPath + case Neo4jTypes.NTGeometry => CTGeometry + case Neo4jTypes.NTMap => CTMap + case Neo4jTypes.NTAny => CTAny } override def notificationLogger(): InternalNotificationLogger = logger diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/TransactionBoundQueryContext.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/TransactionBoundQueryContext.scala similarity index 94% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/TransactionBoundQueryContext.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/TransactionBoundQueryContext.scala index a5905ade3e9cc..24427d7d6a7d7 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/TransactionBoundQueryContext.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/TransactionBoundQueryContext.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.spi.v3_4 +package org.neo4j.cypher.internal.runtime.interpreted import java.net.URL import java.util.function.Predicate @@ -26,23 +26,18 @@ import org.neo4j.collection.RawIterator import org.neo4j.collection.primitive.PrimitiveLongIterator import org.neo4j.collection.primitive.base.Empty.EMPTY_PRIMITIVE_LONG_COLLECTION import org.neo4j.cypher.internal.util.v3_4.{EntityNotFoundException, FailedIndexException} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.convert.DirectionConverter.toGraphDb -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{KernelPredicate, OnlyDirectionExpander, TypeAndDirectionExpander, UserDefinedAggregator} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.JavaConversionSupport -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.JavaConversionSupport._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.matching.PatternNode -import org.neo4j.cypher.internal.compiler.v3_4.MinMaxOrdering._ -import org.neo4j.cypher.internal.compiler.v3_4.{IndexDescriptor, _} -import org.neo4j.cypher.internal.frontend.v3_4._ -import org.neo4j.cypher.internal.javacompat.ValueToObjectSerializer -import org.neo4j.cypher.internal.spi.BeansAPIRelationshipIterator -import org.neo4j.cypher.internal.spi.v3_4.TransactionBoundQueryContext.IndexSearchMonitor -import org.neo4j.cypher.internal.v3_4.logical.plans.QualifiedName -import org.neo4j.cypher.internal.spi.BeansAPIRelationshipIterator -import org.neo4j.cypher.internal.spi.v3_4.TransactionBoundQueryContext.IndexSearchMonitor +import org.neo4j.cypher.internal.runtime.interpreted.commands.convert.DirectionConverter.toGraphDb +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{OnlyDirectionExpander, TypeAndDirectionExpander} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.matching.PatternNode +import org.neo4j.cypher.internal.javacompat.{GraphDatabaseCypherService, ValueToObjectSerializer} +import org.neo4j.cypher.internal.planner.v3_4.spi.{IdempotentResult, IndexDescriptor} +import org.neo4j.cypher.internal.runtime._ +import org.neo4j.cypher.internal.runtime.interpreted.CypherOrdering.{BY_NUMBER, BY_STRING, BY_VALUE} +import org.neo4j.cypher.internal.runtime.interpreted.TransactionBoundQueryContext.IndexSearchMonitor +import org.neo4j.cypher.internal.runtime.interpreted._ +import org.neo4j.cypher.internal.v3_4.logical.plans._ import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService import org.neo4j.cypher.{InternalException, internal} import org.neo4j.graphalgo.impl.path.ShortestPath import org.neo4j.graphalgo.impl.path.ShortestPath.ShortestPathPredicate @@ -290,16 +285,16 @@ final class TransactionBoundQueryContext(val transactionalContext: Transactional } override def indexScan(index: IndexDescriptor) = - mapToScalaENFXSafe(indexScanPrimitive(index))(nodeOps.getById) + JavaConversionSupport.mapToScalaENFXSafe(indexScanPrimitive(index))(nodeOps.getById) override def indexScanPrimitive(index: IndexDescriptor) = transactionalContext.statement.readOperations().indexQuery(index, IndexQuery.exists(index.property)) override def indexScanByContains(index: IndexDescriptor, value: String) = - mapToScalaENFXSafe(transactionalContext.statement.readOperations().indexQuery(index, IndexQuery.stringContains(index.property, value)))(nodeOps.getById) + JavaConversionSupport.mapToScalaENFXSafe(transactionalContext.statement.readOperations().indexQuery(index, IndexQuery.stringContains(index.property, value)))(nodeOps.getById) override def indexScanByEndsWith(index: IndexDescriptor, value: String) = - mapToScalaENFXSafe(transactionalContext.statement.readOperations().indexQuery(index, IndexQuery.stringSuffix(index.property, value)))(nodeOps.getById) + JavaConversionSupport.mapToScalaENFXSafe(transactionalContext.statement.readOperations().indexQuery(index, IndexQuery.stringSuffix(index.property, value)))(nodeOps.getById) override def lockingUniqueIndexSeek(index: IndexDescriptor, values: Seq[Any]): Option[Node] = { indexSearchMonitor.lockingUniqueIndexSeek(index, values) @@ -435,7 +430,7 @@ final class TransactionBoundQueryContext(val transactionalContext: Transactional } override def propertyKeyIds(id: Long): Iterator[Int] = try { - asScalaENFXSafe(transactionalContext.statement.readOperations().relationshipGetPropertyKeys(id)) + JavaConversionSupport.asScalaENFXSafe(transactionalContext.statement.readOperations().relationshipGetPropertyKeys(id)) } catch { case _: exceptions.EntityNotFoundException => Iterator.empty } @@ -617,8 +612,7 @@ final class TransactionBoundQueryContext(val transactionalContext: Transactional private lazy val tokenNameLookup = new StatementTokenNameLookup(transactionalContext.statement.readOperations()) // Legacy dependency between kernel and compiler - override def variableLengthPathExpand(node: PatternNode, - realNode: Long, + override def variableLengthPathExpand(realNode: Long, minHops: Option[Int], maxHops: Option[Int], direction: SemanticDirection, @@ -664,7 +658,7 @@ final class TransactionBoundQueryContext(val transactionalContext: Transactional override def lockRelationships(relIds: Long*) = relIds.sorted.foreach(transactionalContext.statement.readOperations().acquireExclusive(ResourceTypes.RELATIONSHIP, _)) - override def singleShortestPath(left: Long, right: Long, depth: Int, expander: expressions.Expander, + override def singleShortestPath(left: Long, right: Long, depth: Int, expander: Expander, pathPredicate: KernelPredicate[Path], filters: Seq[KernelPredicate[PropertyContainer]]): Option[Path] = { val pathFinder = buildPathFinder(depth, expander, pathPredicate, filters) @@ -673,7 +667,7 @@ final class TransactionBoundQueryContext(val transactionalContext: Transactional Option(pathFinder.findSinglePath(entityAccessor.newNodeProxyById(left), entityAccessor.newNodeProxyById(right))) } - override def allShortestPath(left: Long, right: Long, depth: Int, expander: expressions.Expander, + override def allShortestPath(left: Long, right: Long, depth: Int, expander: Expander, pathPredicate: KernelPredicate[Path], filters: Seq[KernelPredicate[PropertyContainer]]): scala.Iterator[Path] = { val pathFinder = buildPathFinder(depth, expander, pathPredicate, filters) @@ -772,9 +766,9 @@ final class TransactionBoundQueryContext(val transactionalContext: Transactional } } - override def isGraphKernelResultValue(v: Any): Boolean = internal.isGraphKernelResultValue(v) + override def isGraphKernelResultValue(v: Any): Boolean = v.isInstanceOf[PropertyContainer] || v.isInstanceOf[Path] - private def buildPathFinder(depth: Int, expander: expressions.Expander, pathPredicate: KernelPredicate[Path], + private def buildPathFinder(depth: Int, expander: Expander, pathPredicate: KernelPredicate[Path], filters: Seq[KernelPredicate[PropertyContainer]]): ShortestPath = { val startExpander = expander match { case OnlyDirectionExpander(_, _, dir) => diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/TransactionBoundTokenContext.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/TransactionBoundTokenContext.scala similarity index 96% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/TransactionBoundTokenContext.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/TransactionBoundTokenContext.scala index a15ba86fea447..f956380304aeb 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/TransactionBoundTokenContext.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/TransactionBoundTokenContext.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.spi.v3_4 +package org.neo4j.cypher.internal.runtime.interpreted -import org.neo4j.cypher.internal.compiler.v3_4.spi.TokenContext +import org.neo4j.cypher.internal.planner.v3_4.spi.TokenContext import org.neo4j.kernel.api.Statement import org.neo4j.kernel.api.exceptions.{LabelNotFoundKernelException, PropertyKeyNotFoundException, RelationshipTypeNotFoundException} import org.neo4j.kernel.impl.api.operations.KeyReadOperations diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/TransactionalContextWrapper.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/TransactionalContextWrapper.scala similarity index 88% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/TransactionalContextWrapper.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/TransactionalContextWrapper.scala index fa11c62351ea7..faf7672552493 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/TransactionalContextWrapper.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/TransactionalContextWrapper.scala @@ -17,15 +17,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.spi.v3_4 +package org.neo4j.cypher.internal.runtime.interpreted -import org.neo4j.cypher.internal.ExecutionPlan -import org.neo4j.cypher.internal.compatibility.v3_4.ProfileKernelStatisticProvider -import org.neo4j.cypher.internal.compiler.v3_4.spi.KernelStatisticProvider +import org.neo4j.cypher.internal.planner.v3_4.spi.KernelStatisticProvider +import org.neo4j.cypher.internal.runtime.QueryTransactionalContext import org.neo4j.graphdb.{Lock, PropertyContainer} import org.neo4j.kernel.GraphDatabaseQueryService import org.neo4j.kernel.api.KernelTransaction.Revertable import org.neo4j.kernel.api.dbms.DbmsOperations +import org.neo4j.kernel.api.query.PlannerInfo import org.neo4j.kernel.api.security.SecurityContext import org.neo4j.kernel.api.txstate.TxStateHolder import org.neo4j.kernel.api.{ReadOperations, Statement} @@ -67,7 +67,7 @@ case class TransactionalContextWrapper(tc: TransactionalContext) extends QueryTr def securityContext: SecurityContext = tc.securityContext - def notifyPlanningCompleted(plan: ExecutionPlan): Unit = tc.executingQuery().planningCompleted(plan.plannerInfo) + def notifyPlanningCompleted(plannerInfo: PlannerInfo): Unit = tc.executingQuery().planningCompleted(plannerInfo) def kernelStatisticProvider: KernelStatisticProvider = new ProfileKernelStatisticProvider(tc.kernelStatisticProvider()) diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/UpdateCountingQueryContext.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/UpdateCountingQueryContext.scala similarity index 96% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/UpdateCountingQueryContext.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/UpdateCountingQueryContext.scala index 0706883a2133a..dee855a00671f 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/UpdateCountingQueryContext.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/UpdateCountingQueryContext.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.spi.v3_4 +package org.neo4j.cypher.internal.runtime.interpreted import java.util.concurrent.atomic.AtomicInteger -import org.neo4j.cypher.internal.QueryStatistics -import org.neo4j.cypher.internal.compiler.v3_4.IndexDescriptor +import org.neo4j.cypher.internal.planner.v3_4.spi.IndexDescriptor +import org.neo4j.cypher.internal.runtime.{Operations, QueryContext, QueryStatistics} import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.graphdb.{Node, PropertyContainer, Relationship} import org.neo4j.values.storable.Value diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/ValueConversion.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/ValueConversion.scala similarity index 71% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/ValueConversion.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/ValueConversion.scala index 83aa4d76b8fa5..954eb25f36426 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/ValueConversion.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/ValueConversion.scala @@ -17,11 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers +package org.neo4j.cypher.internal.runtime.interpreted -import org.neo4j.cypher.internal.util.v3_4.symbols -import org.neo4j.cypher.internal.frontend.v3_4.helpers.Eagerly -import org.neo4j.cypher.internal.util.v3_4.symbols.CypherType +import org.neo4j.cypher.internal.util.v3_4.Eagerly +import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.graphdb.spatial.{Geometry, Point} import org.neo4j.graphdb.{Node, Path, Relationship} import org.neo4j.kernel.impl.util.ValueUtils @@ -36,19 +35,19 @@ import scala.collection.JavaConverters._ object ValueConversion { def getValueConverter(cType: CypherType): Any => AnyValue = { val converter: Any => AnyValue = cType match { - case symbols.CTNode => n => ValueUtils.fromNodeProxy(n.asInstanceOf[Node]) - case symbols.CTRelationship => r => ValueUtils.fromRelationshipProxy(r.asInstanceOf[Relationship]) - case symbols.CTBoolean => b => Values.booleanValue(b.asInstanceOf[Boolean]) - case symbols.CTFloat => d => Values.doubleValue(d.asInstanceOf[Double]) - case symbols.CTInteger => l => Values.longValue(l.asInstanceOf[Long]) - case symbols.CTNumber => l => Values.numberValue(l.asInstanceOf[Number]) - case symbols.CTString => l => Values.stringValue(l.asInstanceOf[String]) - case symbols.CTPath => p => ValueUtils.asPathValue(p.asInstanceOf[Path]) - case symbols.CTMap => m => ValueUtils.asMapValue(m.asInstanceOf[java.util.Map[String, AnyRef]]) - case symbols.ListType(_) => l => ValueUtils.asListValue(l.asInstanceOf[java.util.Collection[_]]) - case symbols.CTAny => o => ValueUtils.of(o) - case symbols.CTPoint => o => ValueUtils.asPointValue(o.asInstanceOf[Point]) - case symbols.CTGeometry => o => ValueUtils.asPointValue(o.asInstanceOf[Geometry]) + case CTNode => n => ValueUtils.fromNodeProxy(n.asInstanceOf[Node]) + case CTRelationship => r => ValueUtils.fromRelationshipProxy(r.asInstanceOf[Relationship]) + case CTBoolean => b => Values.booleanValue(b.asInstanceOf[Boolean]) + case CTFloat => d => Values.doubleValue(d.asInstanceOf[Double]) + case CTInteger => l => Values.longValue(l.asInstanceOf[Long]) + case CTNumber => l => Values.numberValue(l.asInstanceOf[Number]) + case CTString => l => Values.stringValue(l.asInstanceOf[String]) + case CTPath => p => ValueUtils.asPathValue(p.asInstanceOf[Path]) + case CTMap => m => ValueUtils.asMapValue(m.asInstanceOf[java.util.Map[String, AnyRef]]) + case ListType(_) => l => ValueUtils.asListValue(l.asInstanceOf[java.util.Collection[_]]) + case CTAny => o => ValueUtils.of(o) + case CTPoint => o => ValueUtils.asPointValue(o.asInstanceOf[Point]) + case CTGeometry => o => ValueUtils.asPointValue(o.asInstanceOf[Geometry]) } (v) => if (v == null) Values.NO_VALUE else converter(v) diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/AstNode.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/AstNode.scala similarity index 92% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/AstNode.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/AstNode.scala index 1d2752b82b0f1..65026d555ebf4 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/AstNode.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/AstNode.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands +package org.neo4j.cypher.internal.runtime.interpreted.commands import org.neo4j.cypher.internal.util.v3_4.CypherTypeException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression import scala.reflect.ClassTag diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/InList.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/InList.scala similarity index 91% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/InList.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/InList.scala index fff0c0275f21d..56f4eacd00521 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/InList.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/InList.scala @@ -17,13 +17,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands +package org.neo4j.cypher.internal.runtime.interpreted.commands -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Closure, Expression} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.Predicate -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.ListSupport -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{Closure, Expression} +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.Predicate +import org.neo4j.cypher.internal.runtime.interpreted.ListSupport +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values import org.neo4j.values.virtual.ListValue diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/IndexOperation.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/IndexOperation.scala similarity index 98% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/IndexOperation.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/IndexOperation.scala index 5c1fab75e0780..cb5c9f7c4b37d 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/IndexOperation.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/IndexOperation.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands +package org.neo4j.cypher.internal.runtime.interpreted.commands sealed abstract class IndexOperation extends AbstractQuery { val label: String diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/PathExpression.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/PathExpression.scala similarity index 81% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/PathExpression.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/PathExpression.scala index 5cdb024c3c0ec..776c70deee9b0 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/PathExpression.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/PathExpression.scala @@ -17,16 +17,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands +package org.neo4j.cypher.internal.runtime.interpreted.commands -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.Predicate -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.builders.PatternGraphBuilder -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.matching.MatchingContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.symbols.SymbolTable -import org.neo4j.cypher.internal.frontend.v3_4.helpers.UnNamedNameGenerator.isNamed +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.Predicate +import org.neo4j.cypher.internal.runtime.interpreted.PatternGraphBuilder +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.pipes.matching.MatchingContext +import org.neo4j.cypher.internal.runtime.interpreted.symbols.SymbolTable +import org.neo4j.cypher.internal.util.v3_4.UnNamedNameGenerator.isNamed import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/PathExtractor.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/PathExtractor.scala similarity index 89% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/PathExtractor.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/PathExtractor.scala index fb94136e46ff7..7cfc9308869e2 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/PathExtractor.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/PathExtractor.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands +package org.neo4j.cypher.internal.runtime.interpreted.commands -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue import org.neo4j.values.virtual.{EdgeValue, NodeValue, PathValue, VirtualValues} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/Pattern.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/Pattern.scala similarity index 93% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/Pattern.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/Pattern.scala index 6d35ec15df456..35f1b3ff0338e 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/Pattern.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/Pattern.scala @@ -17,14 +17,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands - -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.True -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values.KeyToken -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.mutation.GraphElementPropertyFunctions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.symbols.TypeSafe -import org.neo4j.cypher.internal.frontend.v3_4.helpers.UnNamedNameGenerator +package org.neo4j.cypher.internal.runtime.interpreted.commands + +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.True +import org.neo4j.cypher.internal.runtime.interpreted.commands.values.KeyToken +import org.neo4j.cypher.internal.runtime.interpreted.GraphElementPropertyFunctions +import org.neo4j.cypher.internal.runtime.interpreted.symbols.TypeSafe +import org.neo4j.cypher.internal.util.v3_4.UnNamedNameGenerator import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection.{INCOMING, OUTGOING} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/Query.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/Query.scala similarity index 93% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/Query.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/Query.scala index fadc3bbcd7f6e..f538f1d20defd 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/Query.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/Query.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands +package org.neo4j.cypher.internal.runtime.interpreted.commands trait AbstractQuery { def queryString: QueryString diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/QueryString.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/QueryString.scala similarity index 93% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/QueryString.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/QueryString.scala index 3dcdc82eee25e..68f629d89bab8 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/QueryString.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/QueryString.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands +package org.neo4j.cypher.internal.runtime.interpreted.commands object QueryString { lazy val empty = QueryString("") diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/ReturnItem.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/ReturnItem.scala similarity index 81% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/ReturnItem.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/ReturnItem.scala index ff8eba667bf3a..294a07db9a1ba 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/ReturnItem.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/ReturnItem.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands +package org.neo4j.cypher.internal.runtime.interpreted.commands -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Expression, Variable} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.symbols.SymbolTable -import org.neo4j.cypher.internal.frontend.v3_4.helpers.UnNamedNameGenerator.isNamed +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{Expression, Variable} +import org.neo4j.cypher.internal.runtime.interpreted.symbols.SymbolTable +import org.neo4j.cypher.internal.util.v3_4.UnNamedNameGenerator.isNamed import scala.collection.Map diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/SortItem.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/SortItem.scala similarity index 80% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/SortItem.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/SortItem.scala index 2bf9467068ff0..646853773362a 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/SortItem.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/SortItem.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands +package org.neo4j.cypher.internal.runtime.interpreted.commands import org.neo4j.cypher.internal.util.v3_4.PatternException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue case class SortItem(expression: Expression, ascending: Boolean) { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/TypeSafeMathSupport.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/TypeSafeMathSupport.scala similarity index 99% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/TypeSafeMathSupport.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/TypeSafeMathSupport.scala index e1dd10410f44c..47c6f7d095697 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/TypeSafeMathSupport.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/TypeSafeMathSupport.scala @@ -17,10 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers +package org.neo4j.cypher.internal.runtime.interpreted.commands -import org.neo4j.cypher.InternalException -import org.neo4j.cypher.internal.util.v3_4.ArithmeticException +import org.neo4j.cypher.internal.util.v3_4.{ArithmeticException, InternalException} import org.neo4j.values.AnyValue import org.neo4j.values.storable._ diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/coerce.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/coerce.scala similarity index 93% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/coerce.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/coerce.scala index 6c30b32b32817..65cf233492cf7 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/coerce.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/coerce.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands +package org.neo4j.cypher.internal.runtime.interpreted.commands +import org.neo4j.cypher.internal.runtime.QueryContext +import org.neo4j.cypher.internal.runtime.interpreted.{IsList, IsMap} import org.neo4j.cypher.internal.util.v3_4.CypherTypeException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.{IsList, IsMap} import org.neo4j.cypher.internal.util.v3_4.symbols._ -import org.neo4j.cypher.internal.spi.v3_4.QueryContext import org.neo4j.values._ import org.neo4j.values.storable._ import org.neo4j.values.virtual._ diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/convert/CommunityExpressionConverter.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/convert/CommunityExpressionConverter.scala similarity index 96% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/convert/CommunityExpressionConverter.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/convert/CommunityExpressionConverter.scala index d20c380990035..c1bc0c5afc3ef 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/convert/CommunityExpressionConverter.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/convert/CommunityExpressionConverter.scala @@ -17,20 +17,20 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.convert +package org.neo4j.cypher.internal.runtime.interpreted.commands.convert import org.neo4j.cypher.internal.util.v3_4.{InternalException, NonEmptyList} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{InequalitySeekRangeExpression, Expression => CommandExpression} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.Predicate -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values.TokenType.PropertyKey -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values.UnresolvedRelType -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.{PathExtractorExpression, predicates, expressions => commandexpressions, values => commandvalues} -import org.neo4j.cypher.internal.compiler.v3_4.ast._ +import org.neo4j.cypher.internal.runtime.interpreted._ +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{InequalitySeekRangeExpression, Expression => CommandExpression} +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.Predicate +import org.neo4j.cypher.internal.runtime.interpreted.commands.values.TokenType.PropertyKey +import org.neo4j.cypher.internal.runtime.interpreted.commands.values.UnresolvedRelType +import org.neo4j.cypher.internal.runtime.interpreted.commands.{PathExtractorExpression, predicates, expressions => commandexpressions, values => commandvalues} import org.neo4j.cypher.internal.v3_4.functions._ import org.neo4j.cypher.internal.v3_4.functions import org.neo4j.cypher.internal.v3_4.{expressions => ast} import org.neo4j.cypher.internal.frontend.v3_4.ast.rewriters.DesugaredMapProjection +import org.neo4j.cypher.internal.v3_4.logical.plans.{InequalitySeekRangeWrapper, NestedPlanExpression, PrefixSeekRangeWrapper, ResolvedFunctionInvocation} object CommunityExpressionConverter extends ExpressionConverter { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/convert/ExpressionConverters.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/convert/ExpressionConverters.scala similarity index 88% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/convert/ExpressionConverters.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/convert/ExpressionConverters.scala index 3dc24426b43b5..1284e96d18714 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/convert/ExpressionConverters.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/convert/ExpressionConverters.scala @@ -17,14 +17,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.convert +package org.neo4j.cypher.internal.runtime.interpreted.commands.convert import org.neo4j.cypher.internal.util.v3_4._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.ProjectedPath._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{ProjectedPath, Expression => CommandExpression} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.Predicate -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{ManySeekArgs, SeekArgs, SingleSeekArg} +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.ProjectedPath._ +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{ProjectedPath, Expression => CommandExpression} +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.Predicate +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{ManySeekArgs, SeekArgs, SingleSeekArg} import org.neo4j.cypher.internal.v3_4.{expressions => ast} import org.neo4j.cypher.internal.v3_4.expressions.{SemanticDirection, Variable} import org.neo4j.cypher.internal.v3_4.logical.plans.{ManySeekableArgs, SeekableArgs, SingleSeekableArg} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/convert/PatternConverters.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/convert/PatternConverters.scala similarity index 91% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/convert/PatternConverters.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/convert/PatternConverters.scala index 72bc841418042..81e3b22fc9c18 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/convert/PatternConverters.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/convert/PatternConverters.scala @@ -17,14 +17,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.convert +package org.neo4j.cypher.internal.runtime.interpreted.commands.convert -import org.neo4j.cypher.internal.util.v3_4.SyntaxException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Expression => CommandExpression} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values.KeyToken -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.{Pattern, SingleNode, values => commandvalues} -import org.neo4j.cypher.internal.frontend.v3_4.helpers.UnNamedNameGenerator +import org.neo4j.cypher.internal.util.v3_4.{SyntaxException, UnNamedNameGenerator} +import org.neo4j.cypher.internal.runtime.interpreted._ +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{Expression => CommandExpression} +import org.neo4j.cypher.internal.runtime.interpreted.commands.values.KeyToken +import org.neo4j.cypher.internal.runtime.interpreted.commands.{Pattern, SingleNode, values => commandvalues} import org.neo4j.cypher.internal.v3_4.{expressions => ast} object PatternConverters { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Add.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Add.scala similarity index 90% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Add.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Add.scala index 7b9b33b06fc59..26ea64f8a57c9 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Add.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Add.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.{IsList, TypeSafeMathSupport} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.{ExecutionContext, IsList} +import org.neo4j.cypher.internal.runtime.interpreted.commands.TypeSafeMathSupport +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.cypher.internal.util.v3_4.CypherTypeException import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.values._ diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/AggregationExpression.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/AggregationExpression.scala similarity index 83% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/AggregationExpression.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/AggregationExpression.scala index a3f8fc855ae04..fee8dcdc222a6 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/AggregationExpression.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/AggregationExpression.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.neo4j.cypher.internal.util.v3_4.SyntaxException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation.AggregationFunction +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation.AggregationFunction import org.neo4j.cypher.internal.util.v3_4.symbols.CypherType abstract class AggregationExpression extends Expression { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/AggregationFunctionInvocation.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/AggregationFunctionInvocation.scala similarity index 82% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/AggregationFunctionInvocation.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/AggregationFunctionInvocation.scala index 41f684339256f..69ed87bdb4fa5 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/AggregationFunctionInvocation.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/AggregationFunctionInvocation.scala @@ -17,12 +17,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.ValueConversion -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation.AggregationFunction +import org.neo4j.cypher.internal.runtime.UserDefinedAggregator +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ValueConversion +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation.AggregationFunction import org.neo4j.cypher.internal.v3_4.logical.plans.UserFunctionSignature import org.neo4j.values.AnyValue diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Avg.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Avg.scala similarity index 86% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Avg.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Avg.scala index 1902842e66938..8894e06c3f403 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Avg.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Avg.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation.AvgFunction +import org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation.AvgFunction import org.neo4j.cypher.internal.util.v3_4.symbols._ case class Avg(anInner: Expression) extends AggregationWithInnerExpression(anInner) { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Closure.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Closure.scala similarity index 87% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Closure.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Closure.scala index 59228b888c52e..14033dce159b0 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Closure.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Closure.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.symbols.TypeSafe +import org.neo4j.cypher.internal.runtime.interpreted.symbols.TypeSafe trait Closure { def symbolTableDependencies(collection:TypeSafe, closure:TypeSafe, id:String) = { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/CoalesceFunction.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/CoalesceFunction.scala similarity index 87% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/CoalesceFunction.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/CoalesceFunction.scala index 858dd4a39f441..1bd903ab47b4e 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/CoalesceFunction.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/CoalesceFunction.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/CoerceTo.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/CoerceTo.scala similarity index 80% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/CoerceTo.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/CoerceTo.scala index 5c8640674bbc9..36bcecbace21d 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/CoerceTo.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/CoerceTo.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.coerce -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.coerce +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.values.AnyValue diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Collect.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Collect.scala similarity index 86% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Collect.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Collect.scala index aab778e88c18c..4d852f3d5de98 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Collect.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Collect.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation.CollectFunction +import org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation.CollectFunction import org.neo4j.cypher.internal.util.v3_4.symbols._ case class Collect(anInner: Expression) extends AggregationWithInnerExpression(anInner) { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ContainerIndex.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ContainerIndex.scala similarity index 89% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ContainerIndex.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ContainerIndex.scala index 06f6db8f7075f..4087888015acb 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ContainerIndex.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ContainerIndex.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.neo4j.cypher.internal.util.v3_4.{CypherTypeException, InvalidArgumentException} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.{CastSupport, IsList, IsMap, ListSupport} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.{CastSupport, IsList, IsMap, ListSupport} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values._ import org.neo4j.values.storable._ diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Count.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Count.scala similarity index 86% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Count.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Count.scala index 783e78c75b1dc..5e13d052811eb 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Count.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Count.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation.CountFunction +import org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation.CountFunction import org.neo4j.cypher.internal.util.v3_4.symbols._ case class Count(anInner: Expression) extends AggregationWithInnerExpression(anInner) { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/CountStar.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/CountStar.scala similarity index 85% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/CountStar.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/CountStar.scala index 70fc47ced0103..ba0b1e8f0bc61 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/CountStar.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/CountStar.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation.CountStarFunction +import org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation.CountStarFunction case class CountStar() extends AggregationExpression { def rewrite(f: (Expression) => Expression) = f(CountStar()) diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/DesugaredMapProjection.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/DesugaredMapProjection.scala similarity index 83% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/DesugaredMapProjection.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/DesugaredMapProjection.scala index 171a9e41f836a..64fa4ebbb9650 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/DesugaredMapProjection.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/DesugaredMapProjection.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.IsMap -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.mutation.GraphElementPropertyFunctions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.IsMap +import org.neo4j.cypher.internal.runtime.interpreted.GraphElementPropertyFunctions +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values import org.neo4j.values.virtual.VirtualValues diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/DistanceFunction.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/DistanceFunction.scala similarity index 94% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/DistanceFunction.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/DistanceFunction.scala index a6c5a4cddcf2d..0c4d8ece93b1a 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/DistanceFunction.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/DistanceFunction.scala @@ -17,13 +17,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import java.lang.Math._ +import org.neo4j.cypher.internal.runtime.CRS import org.neo4j.cypher.internal.util.v3_4.CypherTypeException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{CRS, ExecutionContext} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.values.AnyValue import org.neo4j.values.storable.{DoubleValue, Values} import org.neo4j.values.virtual.PointValue diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Distinct.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Distinct.scala similarity index 89% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Distinct.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Distinct.scala index 47269e9d41a00..9b9197345f522 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Distinct.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Distinct.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation.DistinctFunction +import org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation.DistinctFunction import org.neo4j.cypher.internal.util.v3_4.symbols._ case class Distinct(innerAggregator: AggregationExpression, expression: Expression) extends AggregationWithInnerExpression(expression) { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Divide.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Divide.scala similarity index 89% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Divide.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Divide.scala index 1060a0fce4164..6ee619770a8a3 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Divide.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Divide.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.neo4j.cypher.internal.util.v3_4.ArithmeticException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values._ import org.neo4j.values.storable._ diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Expression.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Expression.scala similarity index 88% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Expression.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Expression.scala index 28cf7dbe2dcc7..75fc23236ad8b 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Expression.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Expression.scala @@ -17,15 +17,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions +import org.neo4j.cypher.internal.runtime.interpreted.symbols.TypeSafe import org.neo4j.cypher.internal.util.v3_4.{CypherTypeException, InternalException} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.AstNode -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.{CoercedPredicate, Predicate} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.TypeSafeMathSupport -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{Pipe, QueryState} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.symbols.TypeSafe +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.{AstNode, TypeSafeMathSupport} +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.{CoercedPredicate, Predicate} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{Pipe, QueryState} import org.neo4j.cypher.internal.util.v3_4.symbols.CypherType import org.neo4j.values.AnyValue import org.neo4j.values.storable.{NumberValue, Values} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ExtractFunction.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ExtractFunction.scala similarity index 84% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ExtractFunction.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ExtractFunction.scala index 3859866f6aa17..2888f90181d60 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ExtractFunction.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ExtractFunction.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.ListSupport -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ListSupport +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue import org.neo4j.values.virtual.{ListValue, VirtualValues} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/FilterFunction.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/FilterFunction.scala similarity index 80% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/FilterFunction.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/FilterFunction.scala index b83960fdad54e..5c85b81f08182 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/FilterFunction.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/FilterFunction.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.Predicate -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.ListSupport -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.Predicate +import org.neo4j.cypher.internal.runtime.interpreted.ListSupport +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue import org.neo4j.values.virtual.VirtualValues diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/FunctionInvocation.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/FunctionInvocation.scala similarity index 80% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/FunctionInvocation.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/FunctionInvocation.scala index eb7c8ccc33b82..740277e947f54 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/FunctionInvocation.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/FunctionInvocation.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.ValueConversion -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.mutation.GraphElementPropertyFunctions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ValueConversion +import org.neo4j.cypher.internal.runtime.interpreted.GraphElementPropertyFunctions +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.cypher.internal.v3_4.logical.plans.UserFunctionSignature import org.neo4j.values._ diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/GenericCase.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/GenericCase.scala similarity index 86% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/GenericCase.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/GenericCase.scala index 8dcb642f52aab..900c0e96304b7 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/GenericCase.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/GenericCase.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.Predicate -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.Predicate +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue case class GenericCase(alternatives: IndexedSeq[(Predicate, Expression)], default: Option[Expression]) extends Expression { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/GetDegree.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/GetDegree.scala similarity index 84% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/GetDegree.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/GetDegree.scala index 5d77cb3138680..5278249abe803 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/GetDegree.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/GetDegree.scala @@ -17,13 +17,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions +import org.neo4j.cypher.internal.runtime.QueryContext import org.neo4j.cypher.internal.util.v3_4.CypherTypeException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values.KeyToken -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState -import org.neo4j.cypher.internal.spi.v3_4.QueryContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.values.KeyToken +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/IdFunction.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/IdFunction.scala similarity index 87% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/IdFunction.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/IdFunction.scala index 01d657aea33c6..8426cf267d38d 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/IdFunction.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/IdFunction.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.neo4j.cypher.internal.util.v3_4.CypherTypeException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values import org.neo4j.values.virtual.{EdgeValue, NodeValue} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/IndexedInclusiveLongRange.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/IndexedInclusiveLongRange.scala similarity index 95% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/IndexedInclusiveLongRange.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/IndexedInclusiveLongRange.scala index a66fbcdd7fc32..020aecbf2da83 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/IndexedInclusiveLongRange.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/IndexedInclusiveLongRange.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import scala.collection.immutable diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/InequalitySeekRangeExpression.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/InequalitySeekRangeExpression.scala similarity index 81% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/InequalitySeekRangeExpression.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/InequalitySeekRangeExpression.scala index d75f40de32d75..a6265d57c4260 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/InequalitySeekRangeExpression.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/InequalitySeekRangeExpression.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.neo4j.cypher.internal.util.v3_4.InternalException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState -import org.neo4j.cypher.internal.compiler.v3_4.InequalitySeekRange +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState +import org.neo4j.cypher.internal.v3_4.logical.plans.InequalitySeekRange import org.neo4j.values.AnyValue case class InequalitySeekRangeExpression(range: InequalitySeekRange[Expression]) diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/KeysFunction.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/KeysFunction.scala similarity index 82% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/KeysFunction.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/KeysFunction.scala index a691cdc20856a..d604871723789 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/KeysFunction.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/KeysFunction.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.neo4j.cypher.internal.util.v3_4.CypherTypeException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.IsMap -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.IsMap +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue import org.neo4j.values.virtual.ListValue diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/LabelsFunction.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/LabelsFunction.scala similarity index 87% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/LabelsFunction.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/LabelsFunction.scala index c2a33d7e73f61..5879e0fa1d5ea 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/LabelsFunction.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/LabelsFunction.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.neo4j.cypher.internal.util.v3_4.ParameterWrongTypeException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values import org.neo4j.values.virtual.{NodeValue, VirtualValues} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/LengthFunction.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/LengthFunction.scala similarity index 83% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/LengthFunction.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/LengthFunction.scala index d0fde6e77c106..70bef7e5f1091 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/LengthFunction.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/LengthFunction.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.ListSupport -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ListSupport +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue import org.neo4j.values.storable.{TextValue, Values} import org.neo4j.values.virtual.PathValue diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ListLiteral.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ListLiteral.scala similarity index 85% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ListLiteral.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ListLiteral.scala index 2a21b6472d608..2c598e17e746f 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ListLiteral.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ListLiteral.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue import org.neo4j.values.virtual.VirtualValues diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ListSlice.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ListSlice.scala similarity index 92% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ListSlice.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ListSlice.scala index 66acda182af27..8a944357ae38b 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ListSlice.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ListSlice.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.{CastSupport, ListSupport} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.{CastSupport, ListSupport} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue import org.neo4j.values.storable.{NumberValue, Values} import org.neo4j.values.virtual.{ListValue, VirtualValues} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Literal.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Literal.scala similarity index 78% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Literal.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Literal.scala index d9f19512a0272..feb9516a7ba75 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Literal.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Literal.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.ValueConversion.asValue -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ValueConversion.asValue +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue case class Literal(v: Any) extends Expression { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/LiteralMap.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/LiteralMap.scala similarity index 81% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/LiteralMap.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/LiteralMap.scala index 631c520a5605c..0931fef1b4315 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/LiteralMap.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/LiteralMap.scala @@ -17,11 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.mutation.GraphElementPropertyFunctions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.{ExecutionContext, GraphElementPropertyFunctions} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue import org.neo4j.values.virtual.VirtualValues diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/MathFunction.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/MathFunction.scala similarity index 97% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/MathFunction.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/MathFunction.scala index e48734de39c45..faca5a79c9e2a 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/MathFunction.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/MathFunction.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.neo4j.cypher.internal.util.v3_4.{CypherTypeException, InvalidArgumentException} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.values._ import org.neo4j.values.storable._ diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Max.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Max.scala similarity index 86% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Max.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Max.scala index 0ad3ca4ccb8da..3e52263228bf9 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Max.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Max.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation.MaxFunction +import org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation.MaxFunction import org.neo4j.cypher.internal.util.v3_4.symbols._ case class Max(anInner: Expression) extends AggregationWithInnerExpression(anInner) { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Min.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Min.scala similarity index 86% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Min.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Min.scala index 9851362714acd..c1271f5844983 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Min.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Min.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation.MinFunction +import org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation.MinFunction import org.neo4j.cypher.internal.util.v3_4.symbols._ case class Min(anInner: Expression) extends AggregationWithInnerExpression(anInner) { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Modulo.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Modulo.scala similarity index 95% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Modulo.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Modulo.scala index de2551b274fc5..2e0d657c2d7fe 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Modulo.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Modulo.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.neo4j.values._ import org.neo4j.values.storable.{DoubleValue, FloatValue, NumberValue, Values} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Multiply.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Multiply.scala similarity index 93% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Multiply.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Multiply.scala index 99b6977ae3109..67971e10b08e7 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Multiply.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Multiply.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.neo4j.values.AnyValue import org.neo4j.values.storable.NumberValue @@ -28,4 +28,4 @@ case class Multiply(a: Expression, b: Expression) extends Arithmetics(a, b) { def rewrite(f: (Expression) => Expression) = f(Multiply(a.rewrite(f), b.rewrite(f))) def symbolTableDependencies = a.symbolTableDependencies ++ b.symbolTableDependencies -} \ No newline at end of file +} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/NestedPipeExpression.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/NestedPipeExpression.scala similarity index 87% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/NestedPipeExpression.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/NestedPipeExpression.scala index c5c7d546050e2..721b4ccd573b8 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/NestedPipeExpression.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/NestedPipeExpression.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{Pipe, QueryState} +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{Pipe, QueryState} import org.neo4j.values.AnyValue import org.neo4j.values.virtual.VirtualValues diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/NestedPlanExpression.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/NestedPlanExpression.scala similarity index 85% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/NestedPlanExpression.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/NestedPlanExpression.scala index c735f79cf6829..c54187cbb174e 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/NestedPlanExpression.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/NestedPlanExpression.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlan import org.neo4j.values.AnyValue diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/NodesFunction.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/NodesFunction.scala similarity index 85% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/NodesFunction.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/NodesFunction.scala index 88215d101484f..78b43862de916 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/NodesFunction.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/NodesFunction.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.neo4j.cypher.internal.util.v3_4.SyntaxException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue import org.neo4j.values.virtual.{PathValue, VirtualValues} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Null.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Null.scala similarity index 82% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Null.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Null.scala index 5c4fc95f9f988..166057b432d02 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Null.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Null.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.storable.Values case class Null() extends Expression { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/NullInNullOutExpression.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/NullInNullOutExpression.scala similarity index 83% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/NullInNullOutExpression.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/NullInNullOutExpression.scala index 64eb3fb391b38..bd709b4867035 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/NullInNullOutExpression.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/NullInNullOutExpression.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ParameterExpression.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ParameterExpression.scala similarity index 82% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ParameterExpression.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ParameterExpression.scala index 2c71f49826402..26eb02d5b2c2c 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ParameterExpression.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ParameterExpression.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState case class ParameterExpression(parameterName: String) extends Expression { def apply(ctx: ExecutionContext, state: QueryState) = state.getParam(parameterName) diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/PathValueBuilder.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/PathValueBuilder.scala similarity index 98% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/PathValueBuilder.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/PathValueBuilder.scala index 33630a872d6d8..091cdfa55dc1f 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/PathValueBuilder.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/PathValueBuilder.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Percentile.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Percentile.scala similarity index 88% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Percentile.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Percentile.scala index 4a22a0877615b..f8f37603ab8d5 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Percentile.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Percentile.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation.{PercentileContFunction, PercentileDiscFunction} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation.{PercentileContFunction, PercentileDiscFunction} import org.neo4j.cypher.internal.util.v3_4.symbols._ case class PercentileCont(anInner: Expression, percentile: Expression) extends AggregationWithInnerExpression(anInner) { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/PointFunction.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/PointFunction.scala similarity index 86% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/PointFunction.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/PointFunction.scala index f24b9dfd5070f..b3e45bfbf1443 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/PointFunction.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/PointFunction.scala @@ -17,15 +17,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import java.util.function.BiConsumer import org.neo4j.cypher.internal.util.v3_4.CypherTypeException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.IsMap -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState import org.neo4j.kernel.impl.util.ValueUtils +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.IsMap +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values import org.neo4j.values.virtual.MapValue diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Pow.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Pow.scala similarity index 93% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Pow.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Pow.scala index 7611ad49c0523..2505ebbd02501 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Pow.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Pow.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.neo4j.values.storable.{NumberValue, Values} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/PrefixSeekRangeExpression.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/PrefixSeekRangeExpression.scala similarity index 81% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/PrefixSeekRangeExpression.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/PrefixSeekRangeExpression.scala index 87196b5dacd4f..a761db1b3f99c 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/PrefixSeekRangeExpression.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/PrefixSeekRangeExpression.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.neo4j.cypher.internal.util.v3_4.InternalException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState -import org.neo4j.cypher.internal.compiler.v3_4.PrefixRange +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState +import org.neo4j.cypher.internal.v3_4.logical.plans.PrefixRange import org.neo4j.values.AnyValue case class PrefixSeekRangeExpression(range: PrefixRange[Expression]) extends Expression { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ProjectedPath.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ProjectedPath.scala similarity index 93% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ProjectedPath.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ProjectedPath.scala index 87292d453bb46..da2b282619a24 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ProjectedPath.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ProjectedPath.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState object ProjectedPath { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/PropertiesFunction.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/PropertiesFunction.scala similarity index 82% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/PropertiesFunction.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/PropertiesFunction.scala index 8d2385c829941..0dcb34d2e7c41 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/PropertiesFunction.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/PropertiesFunction.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.neo4j.cypher.internal.util.v3_4.CypherTypeException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.IsMap -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.IsMap +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue case class PropertiesFunction(a: Expression) extends NullInNullOutExpression(a) { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Property.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Property.scala similarity index 84% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Property.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Property.scala index 41273d2e3985c..31eebbaf666aa 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Property.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Property.scala @@ -17,13 +17,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.neo4j.cypher.internal.util.v3_4.CypherTypeException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values.KeyToken -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.IsMap -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.values.KeyToken +import org.neo4j.cypher.internal.runtime.interpreted.IsMap +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values import org.neo4j.values.virtual.{EdgeValue, NodeValue} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ReduceFunction.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ReduceFunction.scala similarity index 86% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ReduceFunction.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ReduceFunction.scala index 65f001c96082b..ae5b364d756ae 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ReduceFunction.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ReduceFunction.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.ListSupport -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ListSupport +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.values.AnyValue diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/RelationshipEndPoints.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/RelationshipEndPoints.scala similarity index 82% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/RelationshipEndPoints.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/RelationshipEndPoints.scala index 2bdec67f058a6..6a37201490520 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/RelationshipEndPoints.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/RelationshipEndPoints.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.CastSupport.castOrFail -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.CastSupport.castOrFail +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values import org.neo4j.values.virtual.EdgeValue diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/RelationshipFunction.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/RelationshipFunction.scala similarity index 86% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/RelationshipFunction.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/RelationshipFunction.scala index 1ba63fbac4ebf..eb07226b1fa63 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/RelationshipFunction.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/RelationshipFunction.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.neo4j.cypher.internal.util.v3_4.SyntaxException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue import org.neo4j.values.virtual.{PathValue, VirtualValues} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/RelationshipTypeFunction.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/RelationshipTypeFunction.scala similarity index 86% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/RelationshipTypeFunction.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/RelationshipTypeFunction.scala index ba1d4043c61d7..53ee3c63d71c5 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/RelationshipTypeFunction.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/RelationshipTypeFunction.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.neo4j.cypher.internal.util.v3_4.ParameterWrongTypeException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue import org.neo4j.values.virtual.EdgeValue diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ReverseFunction.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ReverseFunction.scala similarity index 88% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ReverseFunction.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ReverseFunction.scala index 4c4df8f7702df..9c5163378d5fe 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ReverseFunction.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ReverseFunction.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.neo4j.cypher.internal.util.v3_4.CypherTypeException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue import org.neo4j.values.storable.{TextValue, Values} import org.neo4j.values.virtual.{ListValue, VirtualValues} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ShortestPathExpression.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ShortestPathExpression.scala similarity index 92% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ShortestPathExpression.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ShortestPathExpression.scala index 18eb67021311f..189d583cb2aac 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ShortestPathExpression.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ShortestPathExpression.scala @@ -17,16 +17,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions +import org.neo4j.cypher.internal.runtime.{Expander, KernelPredicate} import org.neo4j.cypher.internal.util.v3_4.{NonEmptyList, ShortestPathCommonEndNodesForbiddenException, SyntaxException} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.{Pattern, ShortestPath, SingleNode, _} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.RelationshipSupport -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState -import org.neo4j.graphdb.{Path, PropertyContainer} import org.neo4j.kernel.impl.util.ValueUtils +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates._ +import org.neo4j.cypher.internal.runtime.interpreted.commands.{Pattern, ShortestPath, SingleNode, _} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState +import org.neo4j.graphdb.{Path, PropertyContainer, Relationship} import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values import org.neo4j.values.virtual.{NodeValue, VirtualValues} @@ -81,12 +81,13 @@ case class ShortestPathExpression(shortestPathPattern: ShortestPath, predicates: maybePredicate: Option[Predicate], state: QueryState): KernelPredicate[Path] = new KernelPredicate[Path] { + override def test(path: Path): Boolean = maybePredicate.forall { predicate => incomingCtx += shortestPathPattern.pathName -> ValueUtils.asPathValue(path) incomingCtx += shortestPathPattern.relIterator.get -> ValueUtils.asListOfEdges(path.relationships()) predicate.isTrue(incomingCtx, state) - } && (!withFallBack || RelationshipSupport.areRelationshipsUnique(path.relationships.asScala.toList)) + } && (!withFallBack || ShortestPathExpression.noDuplicates(path.relationships.asScala)) } private def getEndPoint(m: Map[String, AnyValue], start: SingleNode): NodeValue = m.getOrElse(start.name, @@ -176,9 +177,9 @@ case class ShortestPathExpression(shortestPathPattern: ShortestPath, predicates: } private def makeRelationshipTypeExpander(): Expander = if (shortestPathPattern.relTypes.isEmpty) { - Expander.expanderForAllTypes(shortestPathPattern.dir) + Expanders.allTypes(shortestPathPattern.dir) } else { - shortestPathPattern.relTypes.foldLeft(Expander.typeDirExpander()) { + shortestPathPattern.relTypes.foldLeft(Expanders.typeDir()) { case (e, t) => e.add(t, shortestPathPattern.dir) } } @@ -214,3 +215,9 @@ case class ShortestPathExpression(shortestPathPattern: ShortestPath, predicates: (predicate.symbolTableDependencies intersect pathVariables).isEmpty } } + +object ShortestPathExpression { + def noDuplicates(relationships: Iterable[Relationship]): Boolean = { + relationships.map(_.getId).toSet.size == relationships.size + } +} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ShortestPathSPI.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ShortestPathSPI.scala similarity index 80% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ShortestPathSPI.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ShortestPathSPI.scala index b442302cd354c..7a2f0a032f664 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ShortestPathSPI.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ShortestPathSPI.scala @@ -17,23 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions +import org.neo4j.cypher.internal.runtime.{Expander, KernelPredicate} import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.graphdb.{Node, Path, PropertyContainer} - -trait KernelPredicate[T] { - def test(obj: T): Boolean -} - -trait Expander { - def addRelationshipFilter(newFilter: KernelPredicate[PropertyContainer]): Expander - def addNodeFilter(newFilter: KernelPredicate[PropertyContainer]): Expander - def nodeFilters: Seq[KernelPredicate[PropertyContainer]] - def relFilters: Seq[KernelPredicate[PropertyContainer]] -} - abstract class BaseExpander() extends Expander { def addRelationshipFilter(newFilter: KernelPredicate[PropertyContainer]): Expander = newWith(newRelFilters = relFilters :+ newFilter) @@ -66,9 +55,9 @@ case class TypeAndDirectionExpander(nodeFilters: Seq[KernelPredicate[PropertyCon copy(typDirs = typDirs :+ typ -> dir) } -object Expander { - def typeDirExpander(): TypeAndDirectionExpander = TypeAndDirectionExpander(Seq.empty, Seq.empty, Seq.empty) - def expanderForAllTypes(dir: SemanticDirection): Expander = OnlyDirectionExpander(Seq.empty, Seq.empty, dir) +object Expanders { + def typeDir(): TypeAndDirectionExpander = TypeAndDirectionExpander(Seq.empty, Seq.empty, Seq.empty) + def allTypes(dir: SemanticDirection): Expander = OnlyDirectionExpander(Seq.empty, Seq.empty, dir) } trait ShortestPathAlgo { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/SimpleCase.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/SimpleCase.scala similarity index 89% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/SimpleCase.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/SimpleCase.scala index e8bbb388b1043..d1ddc9101ca46 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/SimpleCase.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/SimpleCase.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue case class SimpleCase(expression: Expression, alternatives: Seq[(Expression, Expression)], default: Option[Expression]) diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/SizeFunction.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/SizeFunction.scala similarity index 83% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/SizeFunction.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/SizeFunction.scala index b1d6c5150fe6d..e09b845330b50 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/SizeFunction.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/SizeFunction.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.neo4j.cypher.internal.util.v3_4.CypherTypeException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.ListSupport -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ListSupport +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue import org.neo4j.values.storable.{TextValue, Values} import org.neo4j.values.virtual.PathValue diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Stdev.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Stdev.scala similarity index 88% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Stdev.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Stdev.scala index 44d7027c77bd0..fc7ebaba6029f 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Stdev.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Stdev.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation.StdevFunction +import org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation.StdevFunction import org.neo4j.cypher.internal.util.v3_4.symbols._ case class Stdev(anInner: Expression) extends AggregationWithInnerExpression(anInner) { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/StringFunctions.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/StringFunctions.scala similarity index 97% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/StringFunctions.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/StringFunctions.scala index f3427f5e507bc..885165e50ae33 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/StringFunctions.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/StringFunctions.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.neo4j.cypher.internal.util.v3_4.{CypherTypeException, ParameterWrongTypeException} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.values._ import org.neo4j.values.storable._ diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Subtract.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Subtract.scala similarity index 93% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Subtract.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Subtract.scala index fd7be23759ec4..6e63a1be9bf19 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Subtract.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Subtract.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.neo4j.values.storable.NumberValue diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Sum.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Sum.scala similarity index 86% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Sum.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Sum.scala index 5a5159e161b30..42eb289ff7f0d 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Sum.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Sum.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation.SumFunction +import org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation.SumFunction import org.neo4j.cypher.internal.util.v3_4.symbols._ case class Sum(anInner: Expression) extends AggregationWithInnerExpression(anInner) { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/TimestampFunction.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/TimestampFunction.scala similarity index 84% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/TimestampFunction.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/TimestampFunction.scala index 5eb2e8c860193..79ad0e3ea01af 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/TimestampFunction.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/TimestampFunction.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ToBooleanFunction.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ToBooleanFunction.scala similarity index 87% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ToBooleanFunction.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ToBooleanFunction.scala index ab9e04498bced..846b2f4137c0e 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ToBooleanFunction.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ToBooleanFunction.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.neo4j.cypher.internal.util.v3_4.ParameterWrongTypeException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue import org.neo4j.values.storable.{BooleanValue, TextValue, Values} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ToFloatFunction.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ToFloatFunction.scala similarity index 88% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ToFloatFunction.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ToFloatFunction.scala index e59bd2aa38455..5ec8913cc213e 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ToFloatFunction.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ToFloatFunction.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.neo4j.cypher.internal.util.v3_4.ParameterWrongTypeException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values._ import org.neo4j.values.storable.{DoubleValue, NumberValue, TextValue, Values} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ToIntegerFunction.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ToIntegerFunction.scala similarity index 89% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ToIntegerFunction.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ToIntegerFunction.scala index 57cb86945d81a..90889455c2374 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ToIntegerFunction.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ToIntegerFunction.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.neo4j.cypher.internal.util.v3_4.{CypherTypeException, ParameterWrongTypeException} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values._ import org.neo4j.values.storable.{LongValue, NumberValue, TextValue, Values} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Variable.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Variable.scala similarity index 84% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Variable.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Variable.scala index e3c793d92de11..79f73f34dc1a8 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/Variable.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/Variable.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.graphdb.NotFoundException import org.neo4j.values.AnyValue diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/indexQuery.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/indexQuery.scala similarity index 88% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/indexQuery.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/indexQuery.scala index c86ba81f76486..a6a9d00bed6b9 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/indexQuery.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/indexQuery.scala @@ -17,14 +17,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands +package org.neo4j.cypher.internal.runtime.interpreted.commands import org.neo4j.cypher.internal.util.v3_4.{CypherTypeException, InternalException} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Expression, InequalitySeekRangeExpression, PrefixSeekRangeExpression} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.IsList -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.mutation.{GraphElementPropertyFunctions, makeValueNeoSafe} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{Expression, InequalitySeekRangeExpression, PrefixSeekRangeExpression} +import org.neo4j.cypher.internal.runtime.interpreted.IsList +import org.neo4j.cypher.internal.runtime.interpreted.{GraphElementPropertyFunctions, makeValueNeoSafe} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.cypher.internal.frontend.v3_4.helpers.SeqCombiner.combine import org.neo4j.cypher.internal.v3_4.logical.plans._ import org.neo4j.graphdb.Node diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/predicates/Ands.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/predicates/Ands.scala similarity index 90% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/predicates/Ands.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/predicates/Ands.scala index 0f6941690abe7..611592286b016 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/predicates/Ands.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/predicates/Ands.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates +package org.neo4j.cypher.internal.runtime.interpreted.commands.predicates import org.neo4j.cypher.internal.util.v3_4.NonEmptyList -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Expression, Property, Variable} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{Expression, Property, Variable} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState case class Ands(predicates: NonEmptyList[Predicate]) extends CompositeBooleanPredicate { override def shouldExitWhen = false diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/predicates/Checker.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/predicates/Checker.scala similarity index 97% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/predicates/Checker.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/predicates/Checker.scala index 64b57fabfb9bf..ec3b3dfa2b926 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/predicates/Checker.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/predicates/Checker.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates +package org.neo4j.cypher.internal.runtime.interpreted.commands.predicates import java.util diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/predicates/ComparablePredicate.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/predicates/ComparablePredicate.scala similarity index 92% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/predicates/ComparablePredicate.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/predicates/ComparablePredicate.scala index 4d9aacc9a675e..1c0d21ce68b81 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/predicates/ComparablePredicate.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/predicates/ComparablePredicate.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates +package org.neo4j.cypher.internal.runtime.interpreted.commands.predicates -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Expression, Literal, Variable} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{Expression, Literal, Variable} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValues import org.neo4j.values.storable._ diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/predicates/ConstantCachedIn.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/predicates/ConstantCachedIn.scala similarity index 91% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/predicates/ConstantCachedIn.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/predicates/ConstantCachedIn.scala index 5a9a90fcf9843..a2009c6fe09f4 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/predicates/ConstantCachedIn.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/predicates/ConstantCachedIn.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates +package org.neo4j.cypher.internal.runtime.interpreted.commands.predicates -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.ListSupport -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.ListSupport +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/predicates/Ors.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/predicates/Ors.scala similarity index 83% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/predicates/Ors.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/predicates/Ors.scala index a81266aff8282..37d45dcde48eb 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/predicates/Ors.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/predicates/Ors.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates +package org.neo4j.cypher.internal.runtime.interpreted.commands.predicates import org.neo4j.cypher.internal.util.v3_4.NonEmptyList -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState case class Ors(predicates: NonEmptyList[Predicate]) extends CompositeBooleanPredicate { def shouldExitWhen = true diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/predicates/Predicate.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/predicates/Predicate.scala similarity index 95% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/predicates/Predicate.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/predicates/Predicate.scala index 32105d1c8b2e6..2a986387e9e3d 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/predicates/Predicate.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/predicates/Predicate.scala @@ -17,14 +17,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates +package org.neo4j.cypher.internal.runtime.interpreted.commands.predicates import org.neo4j.cypher.internal.util.v3_4.{CypherTypeException, NonEmptyList} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Expression, Literal} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values.KeyToken -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.{CastSupport, IsList, IsMap} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{Expression, Literal} +import org.neo4j.cypher.internal.runtime.interpreted.commands.values.KeyToken +import org.neo4j.cypher.internal.runtime.interpreted.{CastSupport, IsList, IsMap} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.storable.{BooleanValue, TextValue, Value, Values} import org.neo4j.values.virtual.{EdgeValue, NodeValue} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/predicates/groupInequalityPredicatesForLegacy.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/predicates/groupInequalityPredicatesForLegacy.scala similarity index 94% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/predicates/groupInequalityPredicatesForLegacy.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/predicates/groupInequalityPredicatesForLegacy.scala index 349038751c0bf..86950467d9def 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/predicates/groupInequalityPredicatesForLegacy.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/predicates/groupInequalityPredicatesForLegacy.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates +package org.neo4j.cypher.internal.runtime.interpreted.commands.predicates import org.neo4j.cypher.internal.util.v3_4.NonEmptyList -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Property, Variable} +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{Property, Variable} // This transforms // diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/values/KeyToken.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/values/KeyToken.scala similarity index 86% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/values/KeyToken.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/values/KeyToken.scala index 18e71d232cf8f..332b862863e68 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/values/KeyToken.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/values/KeyToken.scala @@ -17,13 +17,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values +package org.neo4j.cypher.internal.runtime.interpreted.commands.values -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState -import org.neo4j.cypher.internal.compiler.v3_4.spi.TokenContext -import org.neo4j.cypher.internal.spi.v3_4.QueryContext +import org.neo4j.cypher.internal.planner.v3_4.spi.TokenContext +import org.neo4j.cypher.internal.runtime.QueryContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext /* KeyTokens are things with name and id. KeyTokens makes it possible to look up the id diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/values/TokenType.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/values/TokenType.scala similarity index 92% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/values/TokenType.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/values/TokenType.scala index 0f215a9ac6cad..2d876e785a3ed 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/values/TokenType.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/values/TokenType.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values +package org.neo4j.cypher.internal.runtime.interpreted.commands.values -import org.neo4j.cypher.internal.compiler.v3_4.spi.TokenContext -import org.neo4j.cypher.internal.spi.v3_4.QueryContext +import org.neo4j.cypher.internal.planner.v3_4.spi.TokenContext +import org.neo4j.cypher.internal.runtime.QueryContext object TokenType extends Enumeration { case object Label extends TokenType { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/mutation/makeValueNeoSafe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/makeValueNeoSafe.scala similarity index 91% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/mutation/makeValueNeoSafe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/makeValueNeoSafe.scala index 3f1b495e014bd..0521781c5a26d 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/mutation/makeValueNeoSafe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/makeValueNeoSafe.scala @@ -17,10 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.mutation +package org.neo4j.cypher.internal.runtime.interpreted import org.neo4j.cypher.internal.util.v3_4.CypherTypeException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.{CastSupport, IsList, ListSupport} import org.neo4j.values.AnyValue import org.neo4j.values.storable.{ArrayValue, Value, Values} import org.neo4j.values.virtual.ListValue diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/AllNodesScanPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/AllNodesScanPipe.scala similarity index 89% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/AllNodesScanPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/AllNodesScanPipe.scala index fb837613af0c5..3a1e3146bd2d0 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/AllNodesScanPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/AllNodesScanPipe.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.kernel.impl.util.ValueUtils diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ApplyPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ApplyPipe.scala similarity index 90% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ApplyPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ApplyPipe.scala index c07a685ffc9ee..d6ca1e7ac79b9 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ApplyPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ApplyPipe.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId case class ApplyPipe(source: Pipe, inner: Pipe)(val id: LogicalPlanId = LogicalPlanId.DEFAULT) extends PipeWithSource(source) { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ArgumentPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ArgumentPipe.scala similarity index 88% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ArgumentPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ArgumentPipe.scala index e7bf40786d9d1..ae70d87c14c44 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ArgumentPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ArgumentPipe.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId case class ArgumentPipe()(val id: LogicalPlanId = LogicalPlanId.DEFAULT) extends Pipe { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/AssertSameNodePipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/AssertSameNodePipe.scala similarity index 90% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/AssertSameNodePipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/AssertSameNodePipe.scala index 32ba2744fac9b..c83105fd7ad56 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/AssertSameNodePipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/AssertSameNodePipe.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.neo4j.cypher.internal.util.v3_4.MergeConstraintConflictException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.CastSupport +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.CastSupport import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.values.virtual.NodeValue diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/CachingExpandInto.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/CachingExpandInto.scala similarity index 96% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/CachingExpandInto.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/CachingExpandInto.scala index 96ed504164e96..c5cce050a278b 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/CachingExpandInto.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/CachingExpandInto.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes +import org.neo4j.cypher.internal.runtime.QueryContext import org.neo4j.cypher.internal.util.v3_4.InternalException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.spi.v3_4.QueryContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.helpers.collection.PrefetchingIterator import org.neo4j.kernel.impl.util.ValueUtils diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/CartesianProductPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/CartesianProductPipe.scala similarity index 89% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/CartesianProductPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/CartesianProductPipe.scala index 567e640d0f416..06bef5d11a047 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/CartesianProductPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/CartesianProductPipe.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId case class CartesianProductPipe(lhs: Pipe, rhs: Pipe) diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ConditionalApplyPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ConditionalApplyPipe.scala similarity index 92% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ConditionalApplyPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ConditionalApplyPipe.scala index 970c11d9ce007..52c35b4235b4b 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ConditionalApplyPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ConditionalApplyPipe.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.values.storable.Values diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ConstraintOperationPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ConstraintOperationPipe.scala similarity index 85% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ConstraintOperationPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ConstraintOperationPipe.scala index 52beefac3f2c1..640b115e2513d 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ConstraintOperationPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ConstraintOperationPipe.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values.KeyToken -import org.neo4j.cypher.internal.compiler.v3_4._ +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands._ +import org.neo4j.cypher.internal.runtime.interpreted.commands.values.KeyToken +import org.neo4j.cypher.internal.planner.v3_4.spi.IndexDescriptor import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId class ConstraintOperationPipe(op: PropertyConstraintOperation, keyToken: KeyToken, propertyKey: KeyToken) diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/CreateNodePipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/CreateNodePipe.scala similarity index 88% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/CreateNodePipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/CreateNodePipe.scala index 0a859c329c8ab..db899cf6568d9 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/CreateNodePipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/CreateNodePipe.scala @@ -17,17 +17,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import java.util.function.BiConsumer +import org.neo4j.cypher.internal.runtime.QueryContext import org.neo4j.cypher.internal.util.v3_4.{CypherTypeException, InvalidSemanticsException} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.IsMap -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.mutation.{GraphElementPropertyFunctions, makeValueNeoSafe} +import org.neo4j.cypher.internal.runtime.interpreted._ +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId -import org.neo4j.cypher.internal.spi.v3_4.QueryContext import org.neo4j.kernel.impl.util.ValueUtils import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/CreateRelationshipPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/CreateRelationshipPipe.scala similarity index 90% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/CreateRelationshipPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/CreateRelationshipPipe.scala index 1e31972f2bb62..2efe9bfe13b10 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/CreateRelationshipPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/CreateRelationshipPipe.scala @@ -17,17 +17,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import java.util.function.BiConsumer +import org.neo4j.cypher.internal.runtime.QueryContext import org.neo4j.cypher.internal.util.v3_4.{CypherTypeException, InternalException, InvalidSemanticsException} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.IsMap -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.mutation.{GraphElementPropertyFunctions, makeValueNeoSafe} +import org.neo4j.cypher.internal.runtime.interpreted._ +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId -import org.neo4j.cypher.internal.spi.v3_4.QueryContext import org.neo4j.kernel.impl.util.ValueUtils import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/DeletePipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/DeletePipe.scala similarity index 88% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/DeletePipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/DeletePipe.scala index 31b221b82938d..a161728ae9124 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/DeletePipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/DeletePipe.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.neo4j.cypher.internal.util.v3_4.CypherTypeException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.mutation.GraphElementPropertyFunctions +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.GraphElementPropertyFunctions import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.values.storable.Values import org.neo4j.values.virtual.{EdgeValue, NodeValue, PathValue} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/DirectedRelationshipByIdSeekPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/DirectedRelationshipByIdSeekPipe.scala similarity index 92% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/DirectedRelationshipByIdSeekPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/DirectedRelationshipByIdSeekPipe.scala index 93373d1f00c46..d7da3771e4987 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/DirectedRelationshipByIdSeekPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/DirectedRelationshipByIdSeekPipe.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import java.lang import java.util.function -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/DistinctPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/DistinctPipe.scala similarity index 86% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/DistinctPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/DistinctPipe.scala index 8450f5e600a65..1475b83e1cf3f 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/DistinctPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/DistinctPipe.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{ExecutionContext, MapExecutionContext} -import org.neo4j.cypher.internal.frontend.v3_4.helpers.Eagerly +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.{ExecutionContext, MapExecutionContext} +import org.neo4j.cypher.internal.util.v3_4.Eagerly import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.values.AnyValue import org.neo4j.values.virtual.VirtualValues diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/EagerAggregationPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/EagerAggregationPipe.scala similarity index 93% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/EagerAggregationPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/EagerAggregationPipe.scala index 6c8edb7258e67..178736ca6ac3b 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/EagerAggregationPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/EagerAggregationPipe.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{AggregationExpression, Expression} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation.AggregationFunction +import org.neo4j.cypher.internal.runtime.interpreted.{ExecutionContext, MutableMaps} +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{AggregationExpression, Expression} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation.AggregationFunction import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.values.AnyValue import org.neo4j.values.virtual.{ListValue, MapValue, VirtualValues} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/EagerPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/EagerPipe.scala similarity index 88% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/EagerPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/EagerPipe.scala index 87efb89d65a91..4168b529aeab9 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/EagerPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/EagerPipe.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId case class EagerPipe(src: Pipe)(val id: LogicalPlanId = LogicalPlanId.DEFAULT) diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/EmptyResultPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/EmptyResultPipe.scala similarity index 88% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/EmptyResultPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/EmptyResultPipe.scala index dcb0c88beeb4a..be35ff0c1f314 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/EmptyResultPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/EmptyResultPipe.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId case class EmptyResultPipe(source: Pipe)(val id: LogicalPlanId = LogicalPlanId.DEFAULT) extends PipeWithSource(source) { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/EntityProducer.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/EntityProducer.scala similarity index 82% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/EntityProducer.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/EntityProducer.scala index fd021dd33121f..38feca693afcc 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/EntityProducer.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/EntityProducer.scala @@ -17,11 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compiler.v3_4._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.Argument +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.planDescription.Argument import org.neo4j.graphdb.PropertyContainer trait EntityProducer[T <: PropertyContainer] extends ((ExecutionContext, QueryState) => Iterator[T]) { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ErrorPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ErrorPipe.scala similarity index 89% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ErrorPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ErrorPipe.scala index 8137f92f07b5c..4bbba1dcbc797 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ErrorPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ErrorPipe.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId case class ErrorPipe(source: Pipe, exception: Exception) diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ExpandAllPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ExpandAllPipe.scala similarity index 94% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ExpandAllPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ExpandAllPipe.scala index a0439bb6a8fb7..2230af5c5a521 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ExpandAllPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ExpandAllPipe.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.neo4j.cypher.internal.util.v3_4.InternalException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.graphdb.Relationship diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ExpandIntoPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ExpandIntoPipe.scala similarity index 95% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ExpandIntoPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ExpandIntoPipe.scala index 09010a28366e7..c0e3f7ea06058 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ExpandIntoPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ExpandIntoPipe.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.neo4j.cypher.InternalException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.values.storable.Values diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ExternalCSVResource.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ExternalCSVResource.scala similarity index 94% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ExternalCSVResource.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ExternalCSVResource.scala index 6ff1a3373c60b..0185f42003aa9 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ExternalCSVResource.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ExternalCSVResource.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import java.net.URL diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/FilterPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/FilterPipe.scala similarity index 84% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/FilterPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/FilterPipe.scala index 49c75ff055436..670bb6a096426 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/FilterPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/FilterPipe.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.Predicate +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.Predicate import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId case class FilterPipe(source: Pipe, predicate: Predicate) diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ForeachPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ForeachPipe.scala similarity index 84% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ForeachPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ForeachPipe.scala index 9aefe2f86b820..e785412ec8975 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ForeachPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ForeachPipe.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.ListSupport +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.ListSupport import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import scala.collection.JavaConverters._ diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/FullPruningVarLengthExpandPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/FullPruningVarLengthExpandPipe.scala similarity index 98% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/FullPruningVarLengthExpandPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/FullPruningVarLengthExpandPipe.scala index f0f1683e606f8..97468ae40cdbd 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/FullPruningVarLengthExpandPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/FullPruningVarLengthExpandPipe.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.neo4j.collection.primitive.{Primitive, PrimitiveLongObjectMap} import org.neo4j.cypher.internal.util.v3_4.InternalException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.kernel.impl.util.ValueUtils diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/IdSeekIterator.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/IdSeekIterator.scala similarity index 94% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/IdSeekIterator.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/IdSeekIterator.scala index 6921191d30d8b..0b465304c5fec 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/IdSeekIterator.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/IdSeekIterator.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.NumericHelper -import org.neo4j.cypher.internal.spi.v3_4.Operations +import org.neo4j.cypher.internal.runtime.Operations +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.NumericHelper import org.neo4j.graphdb.{Node, PropertyContainer, Relationship} import org.neo4j.kernel.impl.util.ValueUtils import org.neo4j.values.AnyValue diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/IndexOperationPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/IndexOperationPipe.scala similarity index 86% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/IndexOperationPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/IndexOperationPipe.scala index b220b740bd342..4523c23a1667e 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/IndexOperationPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/IndexOperationPipe.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes +import org.neo4j.cypher.internal.planner.v3_4.spi.IndexDescriptor import org.neo4j.cypher.internal.util.v3_4.SyntaxException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.{CreateIndex, DropIndex, IndexOperation} -import org.neo4j.cypher.internal.compiler.v3_4._ +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.{CreateIndex, DropIndex, IndexOperation} import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId case class IndexOperationPipe(indexOp: IndexOperation)(val id: LogicalPlanId = LogicalPlanId.DEFAULT) extends Pipe { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/IndexSeekMode.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/IndexSeekMode.scala similarity index 92% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/IndexSeekMode.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/IndexSeekMode.scala index 37e8987a0d9d6..45adcc269f15b 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/IndexSeekMode.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/IndexSeekMode.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes +import org.neo4j.cypher.internal.planner.v3_4.spi.IndexDescriptor import org.neo4j.cypher.internal.util.v3_4.InternalException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.IndexSeekMode.{MultipleValueQuery, assertSingleValue} -import org.neo4j.cypher.internal.compiler.v3_4.IndexDescriptor +import org.neo4j.cypher.internal.runtime.interpreted.pipes.IndexSeekMode.{MultipleValueQuery, assertSingleValue} import org.neo4j.cypher.internal.v3_4.logical.plans.{QueryExpression, RangeQueryExpression} import org.neo4j.graphdb.Node diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LazyLabel.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LazyLabel.scala similarity index 88% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LazyLabel.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LazyLabel.scala index 5a5795c275899..28ff97c045df0 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LazyLabel.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LazyLabel.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compiler.v3_4.spi.TokenContext -import org.neo4j.cypher.internal.frontend.v3_4.LabelId import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable -import org.neo4j.cypher.internal.spi.v3_4.QueryContext +import org.neo4j.cypher.internal.planner.v3_4.spi.TokenContext +import org.neo4j.cypher.internal.runtime.QueryContext +import org.neo4j.cypher.internal.util.v3_4.LabelId import org.neo4j.cypher.internal.v3_4.expressions.LabelName case class LazyLabel(name: String) { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LazyPropertyKey.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LazyPropertyKey.scala similarity index 88% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LazyPropertyKey.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LazyPropertyKey.scala index 7922316e01fe2..f10b28a025598 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LazyPropertyKey.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LazyPropertyKey.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compiler.v3_4.spi.TokenContext -import org.neo4j.cypher.internal.frontend.v3_4.PropertyKeyId import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable +import org.neo4j.cypher.internal.planner.v3_4.spi.TokenContext +import org.neo4j.cypher.internal.util.v3_4.PropertyKeyId import org.neo4j.cypher.internal.v3_4.expressions.PropertyKeyName case class LazyPropertyKey(name: String) { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LazyType.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LazyType.scala similarity index 91% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LazyType.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LazyType.scala index fe170be6b41b3..b1b1d8e98fd2e 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LazyType.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LazyType.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable -import org.neo4j.cypher.internal.spi.v3_4.QueryContext +import org.neo4j.cypher.internal.runtime.QueryContext import org.neo4j.cypher.internal.v3_4.expressions.RelTypeName case class LazyType(name: String) { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LazyTypes.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LazyTypes.scala similarity index 93% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LazyTypes.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LazyTypes.scala index f05e7cb654ad5..934fae920f43c 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LazyTypes.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LazyTypes.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable -import org.neo4j.cypher.internal.spi.v3_4.QueryContext +import org.neo4j.cypher.internal.runtime.QueryContext import org.neo4j.cypher.internal.v3_4.expressions.RelTypeName final class LazyTypes(val names: Array[String]) { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LetSelectOrSemiApplyPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LetSelectOrSemiApplyPipe.scala similarity index 88% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LetSelectOrSemiApplyPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LetSelectOrSemiApplyPipe.scala index 6e23d8ce0cf1f..a1866f1039fdd 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LetSelectOrSemiApplyPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LetSelectOrSemiApplyPipe.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.Predicate +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.Predicate import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.values.storable.Values diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LetSemiApplyPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LetSemiApplyPipe.scala similarity index 91% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LetSemiApplyPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LetSemiApplyPipe.scala index 67d833815063f..085c264c7ba95 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LetSemiApplyPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LetSemiApplyPipe.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.values.storable.Values diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LimitPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LimitPipe.scala similarity index 84% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LimitPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LimitPipe.scala index 5e04b41824ee6..7697083bff3f9 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LimitPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LimitPipe.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Expression, NumericHelper} +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{Expression, NumericHelper} import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId case class LimitPipe(source: Pipe, exp: Expression) diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LoadCSVPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LoadCSVPipe.scala similarity index 92% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LoadCSVPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LoadCSVPipe.scala index ec7d95ff738bc..5fb2eefeab5f1 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LoadCSVPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LoadCSVPipe.scala @@ -17,17 +17,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import java.net.URL import org.neo4j.cypher.internal.util.v3_4.LoadExternalResourceException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.ArrayBackedMap +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.cypher.internal.ir.v3_4.{CSVFormat, HasHeaders, NoHeaders} -import org.neo4j.cypher.internal.spi.v3_4.QueryContext +import org.neo4j.cypher.internal.runtime.{ArrayBackedMap, QueryContext} import org.neo4j.values._ import org.neo4j.values.storable.{TextValue, Value, Values} import org.neo4j.values.virtual.VirtualValues diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LockNodesPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LockNodesPipe.scala similarity index 90% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LockNodesPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LockNodesPipe.scala index 0a0ebf935be43..730a091cf5427 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LockNodesPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LockNodesPipe.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.values.virtual.NodeValue diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NestedPipeExpression.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NestedPipeExpression.scala similarity index 95% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NestedPipeExpression.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NestedPipeExpression.scala index 90a99a7de9287..fd406025498c3 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NestedPipeExpression.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NestedPipeExpression.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.neo4j.cypher.internal.util.v3_4.InputPosition import org.neo4j.cypher.internal.frontend.v3_4.SemanticCheck diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeByIdSeekPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeByIdSeekPipe.scala similarity index 88% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeByIdSeekPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeByIdSeekPipe.scala index 6f9096b480d19..b51ef519ccd91 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeByIdSeekPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeByIdSeekPipe.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.IsList +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.IsList import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.values.virtual.{ListValue, VirtualValues} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeByLabelScanPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeByLabelScanPipe.scala similarity index 91% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeByLabelScanPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeByLabelScanPipe.scala index 327255e3b5c95..1db07be485d15 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeByLabelScanPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeByLabelScanPipe.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.kernel.impl.util.ValueUtils diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeCountFromCountStorePipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeCountFromCountStorePipe.scala similarity index 89% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeCountFromCountStorePipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeCountFromCountStorePipe.scala index 48086237f5c5d..db3ccfbb876bb 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeCountFromCountStorePipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeCountFromCountStorePipe.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.frontend.v3_4.NameId +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.util.v3_4.NameId import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.values.storable.Values diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeHashJoinPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeHashJoinPipe.scala similarity index 95% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeHashJoinPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeHashJoinPipe.scala index 3ac8ad928f65f..13ff30d0f4e72 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeHashJoinPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeHashJoinPipe.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.neo4j.cypher.internal.util.v3_4.CypherTypeException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.values.storable.Values import org.neo4j.values.virtual.NodeValue diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeIndexContainsScanPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeIndexContainsScanPipe.scala similarity index 90% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeIndexContainsScanPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeIndexContainsScanPipe.scala index 1819fbfda27e3..2af841f28913b 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeIndexContainsScanPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeIndexContainsScanPipe.scala @@ -17,14 +17,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.neo4j.cypher.internal.util.v3_4.CypherTypeException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compiler.v3_4._ +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId -import org.neo4j.cypher.internal.frontend.v3_4.ast.{LabelToken, PropertyKeyToken} +import org.neo4j.cypher.internal.planner.v3_4.spi.IndexDescriptor +import org.neo4j.cypher.internal.v3_4.expressions.{LabelToken, PropertyKeyToken} import org.neo4j.graphdb.Node import org.neo4j.kernel.impl.util.ValueUtils import org.neo4j.values.storable.{TextValue, Values} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeIndexScanPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeIndexScanPipe.scala similarity index 84% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeIndexScanPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeIndexScanPipe.scala index 8f8a074373701..0c6d49fe42ed7 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeIndexScanPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeIndexScanPipe.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compiler.v3_4._ -import org.neo4j.cypher.internal.frontend.v3_4.ast.{LabelToken, PropertyKeyToken} +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.planner.v3_4.spi.IndexDescriptor +import org.neo4j.cypher.internal.v3_4.expressions.{LabelToken, PropertyKeyToken} import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.kernel.impl.util.ValueUtils diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeIndexSeekPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeIndexSeekPipe.scala similarity index 81% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeIndexSeekPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeIndexSeekPipe.scala index 7b563d0436077..4410f975af048 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeIndexSeekPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeIndexSeekPipe.scala @@ -17,13 +17,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.indexQuery -import org.neo4j.cypher.internal.compiler.v3_4._ -import org.neo4j.cypher.internal.frontend.v3_4.ast.{LabelToken, PropertyKeyToken} +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.commands.indexQuery +import org.neo4j.cypher.internal.planner.v3_4.spi.IndexDescriptor +import org.neo4j.cypher.internal.v3_4.expressions.{LabelToken, PropertyKeyToken} import org.neo4j.cypher.internal.v3_4.logical.plans.{LogicalPlanId, QueryExpression} import org.neo4j.kernel.impl.util.ValueUtils.fromNodeProxy diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeOuterHashJoinPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeOuterHashJoinPipe.scala similarity index 96% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeOuterHashJoinPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeOuterHashJoinPipe.scala index ec9a4d5939254..1186e505f955a 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeOuterHashJoinPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeOuterHashJoinPipe.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/OptionalExpandAllPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/OptionalExpandAllPipe.scala similarity index 92% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/OptionalExpandAllPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/OptionalExpandAllPipe.scala index 9d4ec2ec40543..bf3474072c95d 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/OptionalExpandAllPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/OptionalExpandAllPipe.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.neo4j.cypher.internal.util.v3_4.InternalException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.Predicate +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.Predicate import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.kernel.impl.util.ValueUtils diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/OptionalExpandIntoPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/OptionalExpandIntoPipe.scala similarity index 92% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/OptionalExpandIntoPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/OptionalExpandIntoPipe.scala index a4da8bc9b4eda..926e705a1ff76 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/OptionalExpandIntoPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/OptionalExpandIntoPipe.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.Predicate +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.Predicate import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.values.storable.Values diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/OptionalPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/OptionalPipe.scala similarity index 91% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/OptionalPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/OptionalPipe.scala index 7ed70d283325e..e494fbf2c1490 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/OptionalPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/OptionalPipe.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.values.storable.Values diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/Pipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/Pipe.scala similarity index 95% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/Pipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/Pipe.scala index 6f8028165403c..350d51fe85006 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/Pipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/Pipe.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId /** diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/PipeDecorator.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/PipeDecorator.scala similarity index 88% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/PipeDecorator.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/PipeDecorator.scala index 27ca2a1b94a07..e640ebd180bc2 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/PipeDecorator.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/PipeDecorator.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription /* A PipeDecorator is used to instrument calls between Pipes, and between a Pipe and the graph diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ProcedureCallPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ProcedureCallPipe.scala similarity index 89% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ProcedureCallPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ProcedureCallPipe.scala index bd2ccab59877a..e7624112bf7bd 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ProcedureCallPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ProcedureCallPipe.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.ProcedureCallMode -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.ValueConversion +import org.neo4j.cypher.internal.runtime.ProcedureCallMode +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.ValueConversion import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.cypher.internal.v3_4.logical.plans.ProcedureSignature import org.neo4j.cypher.internal.util.v3_4.symbols.CypherType diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ProduceResultsPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ProduceResultsPipe.scala similarity index 91% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ProduceResultsPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ProduceResultsPipe.scala index 605c183d3eb59..618b882a1db3c 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ProduceResultsPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ProduceResultsPipe.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.{ExecutionContext, MutableMaps} import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId case class ProduceResultsPipe(source: Pipe, columns: Seq[String]) diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ProjectEndpointsPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ProjectEndpointsPipe.scala similarity index 93% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ProjectEndpointsPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ProjectEndpointsPipe.scala index 4d3764418b250..56bfa174236d3 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ProjectEndpointsPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ProjectEndpointsPipe.scala @@ -17,11 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.ListSupport -import org.neo4j.cypher.internal.spi.v3_4.QueryContext +import org.neo4j.cypher.internal.runtime.QueryContext +import org.neo4j.cypher.internal.runtime.interpreted.{ExecutionContext, ListSupport} import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.values.virtual.VirtualValues.reverse import org.neo4j.values.virtual.{EdgeValue, ListValue, NodeValue} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ProjectionPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ProjectionPipe.scala similarity index 85% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ProjectionPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ProjectionPipe.scala index 11eeebf5ca742..7dba003e636c5 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ProjectionPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ProjectionPipe.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId case class ProjectionPipe(source: Pipe, expressions: Map[String, Expression]) diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/PruningVarLengthExpandPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/PruningVarLengthExpandPipe.scala similarity index 98% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/PruningVarLengthExpandPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/PruningVarLengthExpandPipe.scala index 395942d9318ca..07a1b4368a99a 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/PruningVarLengthExpandPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/PruningVarLengthExpandPipe.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.neo4j.collection.primitive.{Primitive, PrimitiveLongObjectMap} import org.neo4j.cypher.internal.util.v3_4.InternalException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.kernel.impl.util.ValueUtils diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/QueryState.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/QueryState.scala similarity index 88% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/QueryState.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/QueryState.scala index e2a0cbb437656..7df89d21d6d88 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/QueryState.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/QueryState.scala @@ -17,17 +17,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import java.util.UUID import org.neo4j.collection.primitive.PrimitiveLongSet -import org.neo4j.cypher.internal.QueryStatistics +import org.neo4j.cypher.internal.runtime.{QueryContext, QueryStatistics} import org.neo4j.cypher.internal.util.v3_4.ParameterNotFoundException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.PathValueBuilder -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.{InCheckContainer, SingleThreadedLRUCache} -import org.neo4j.cypher.internal.spi.v3_4.QueryContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.PathValueBuilder +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.{InCheckContainer, SingleThreadedLRUCache} import org.neo4j.values.AnyValue import org.neo4j.values.virtual.MapValue diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/RelationshipCountFromCountStorePipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/RelationshipCountFromCountStorePipe.scala similarity index 92% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/RelationshipCountFromCountStorePipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/RelationshipCountFromCountStorePipe.scala index e3f69ac9b2568..65ed181cf4c9c 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/RelationshipCountFromCountStorePipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/RelationshipCountFromCountStorePipe.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.frontend.v3_4.NameId +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.util.v3_4.NameId import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.values.storable.Values diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/RemoveLabelsPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/RemoveLabelsPipe.scala similarity index 84% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/RemoveLabelsPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/RemoveLabelsPipe.scala index a98587022ca41..35f5f7d66cc34 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/RemoveLabelsPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/RemoveLabelsPipe.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.CastSupport -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.mutation.GraphElementPropertyFunctions +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.CastSupport +import org.neo4j.cypher.internal.runtime.interpreted.GraphElementPropertyFunctions import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.values.storable.Values import org.neo4j.values.virtual.NodeValue diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/RollUpApplyPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/RollUpApplyPipe.scala similarity index 92% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/RollUpApplyPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/RollUpApplyPipe.scala index 70a36086337af..742cc0dffbbfd 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/RollUpApplyPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/RollUpApplyPipe.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.values.storable.Values.NO_VALUE import org.neo4j.values.virtual.VirtualValues diff --git a/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SeekRhs.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SeekRhs.scala new file mode 100644 index 0000000000000..3f3de7850855d --- /dev/null +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SeekRhs.scala @@ -0,0 +1,64 @@ +/* + * Copyright (c) 2002-2017 "Neo Technology," + * Network Engine for Objects in Lund AB [http://neotechnology.com] + * + * This file is part of Neo4j. + * + * Neo4j is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package org.neo4j.cypher.internal.runtime.interpreted.pipes + +import org.neo4j.cypher.internal.v3_4.logical.plans.{ManyQueryExpression, QueryExpression, SingleQueryExpression} +import org.neo4j.cypher.internal.v3_4.expressions._ + +object Seek { + def unapply(v: Any) = v match { + case Equals(lhs, rhs) => Some(lhs -> SingleSeekRhs(rhs)) + case In(lhs, rhs) => Some(lhs -> MultiSeekRhs(rhs)) + case _ => None + } +} + +trait SeekRhs { + def expr: Expression + def sizeHint: Option[Int] + + def map(f: Expression => Expression): SeekRhs + + def asQueryExpression: QueryExpression[Expression] +} + +case class SingleSeekRhs(expr: Expression) extends SeekRhs { + def sizeHint = None + + override def map(f: Expression => Expression): SingleSeekRhs = copy(f(expr)) + + def asQueryExpression: SingleQueryExpression[Expression] = + SingleQueryExpression(expr) +} + +case class MultiSeekRhs(expr: Expression) extends SeekRhs { + val sizeHint = expr match { + case coll: ListLiteral => Some(coll.expressions.size) + case _ => None + } + + override def map(f: Expression => Expression) = expr match { + case coll: ListLiteral => copy(expr = coll.map(f)) + case _ => copy(expr = f(expr)) + } + + def asQueryExpression: ManyQueryExpression[Expression] = + ManyQueryExpression(expr) +} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/SelectOrSemiApplyPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SelectOrSemiApplyPipe.scala similarity index 87% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/SelectOrSemiApplyPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SelectOrSemiApplyPipe.scala index b0732c275d8ee..b30a550a26151 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/SelectOrSemiApplyPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SelectOrSemiApplyPipe.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.Predicate +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.Predicate import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId case class SelectOrSemiApplyPipe(source: Pipe, inner: Pipe, predicate: Predicate, negated: Boolean) diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/SemiApplyPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SemiApplyPipe.scala similarity index 90% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/SemiApplyPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SemiApplyPipe.scala index 6fa1e36098244..894a672b8c83b 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/SemiApplyPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SemiApplyPipe.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId case class SemiApplyPipe(source: Pipe, inner: Pipe, negated: Boolean) diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/SetOperation.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SetOperation.scala similarity index 95% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/SetOperation.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SetOperation.scala index 08bc441cd3b52..48c3ba4460869 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/SetOperation.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SetOperation.scala @@ -17,16 +17,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import java.util.function.BiConsumer +import org.neo4j.cypher.internal.runtime.{Operations, QueryContext} import org.neo4j.cypher.internal.util.v3_4.{CypherTypeException, InvalidArgumentException} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.{CastSupport, IsMap} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.mutation.makeValueNeoSafe -import org.neo4j.cypher.internal.spi.v3_4.{Operations, QueryContext} +import org.neo4j.cypher.internal.runtime.interpreted._ +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression import org.neo4j.graphdb.{Node, PropertyContainer, Relationship} import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/SetPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SetPipe.scala similarity index 89% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/SetPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SetPipe.scala index 0da3bf734f1e5..8ea3a2d7db51c 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/SetPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SetPipe.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId case class SetPipe(src: Pipe, setOperation: SetOperation) diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ShortestPathPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ShortestPathPipe.scala similarity index 85% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ShortestPathPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ShortestPathPipe.scala index f4979c0de855d..7fc29a3adca85 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ShortestPathPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ShortestPathPipe.scala @@ -17,13 +17,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.neo4j.cypher.InternalException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.ShortestPath -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.ShortestPathExpression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.Predicate +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.ShortestPath +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.ShortestPathExpression +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.Predicate import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.values.storable.Values import org.neo4j.values.virtual.{ListValue, PathValue, VirtualValues} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/SkipPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SkipPipe.scala similarity index 84% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/SkipPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SkipPipe.scala index 2ee66d46d5106..5017c03194ea6 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/SkipPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SkipPipe.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Expression, NumericHelper} +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{Expression, NumericHelper} import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId case class SkipPipe(source: Pipe, exp: Expression) diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/SortPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SortPipe.scala similarity index 93% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/SortPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SortPipe.scala index 6b3a1fa7f0163..c7e16611e84cd 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/SortPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SortPipe.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import java.util.Comparator -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.values.{AnyValue, AnyValues} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/TopPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/TopPipe.scala similarity index 96% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/TopPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/TopPipe.scala index 063948bf2e671..e194a283c17ff 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/TopPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/TopPipe.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import java.util.Comparator -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.values.AnyValue import org.neo4j.values.storable.NumberValue diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/TriadicSelectionPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/TriadicSelectionPipe.scala similarity index 96% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/TriadicSelectionPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/TriadicSelectionPipe.scala index 1eeaaf8636b80..0fbcc93110796 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/TriadicSelectionPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/TriadicSelectionPipe.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.neo4j.collection.primitive.{Primitive, PrimitiveLongSet} import org.neo4j.cypher.internal.util.v3_4.CypherTypeException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.values.storable.Values import org.neo4j.values.virtual.NodeValue diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/UndirectedRelationshipByIdSeekPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/UndirectedRelationshipByIdSeekPipe.scala similarity index 92% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/UndirectedRelationshipByIdSeekPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/UndirectedRelationshipByIdSeekPipe.scala index e8b8bba1bed25..49a7040127fa7 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/UndirectedRelationshipByIdSeekPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/UndirectedRelationshipByIdSeekPipe.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import java.lang import java.util.function -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/UnionIterator.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/UnionIterator.scala similarity index 92% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/UnionIterator.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/UnionIterator.scala index bc0401c1e15cf..42f616a8518af 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/UnionIterator.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/UnionIterator.scala @@ -17,10 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compiler.v3_4._ +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext class UnionIterator(in: Seq[Pipe], state: QueryState) extends Iterator[ExecutionContext] { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/UnionPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/UnionPipe.scala similarity index 88% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/UnionPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/UnionPipe.scala index 76bf57a0e05df..f42e104c2fa8e 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/UnionPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/UnionPipe.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId case class UnionPipe(l: Pipe, r: Pipe) diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/UnwindPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/UnwindPipe.scala similarity index 88% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/UnwindPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/UnwindPipe.scala index 29f7d0097cf7f..85e436eb6051c 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/UnwindPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/UnwindPipe.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.ListSupport +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.ListSupport import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.values.AnyValue diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ValueHashJoinPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ValueHashJoinPipe.scala similarity index 90% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ValueHashJoinPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ValueHashJoinPipe.scala index b0a030b79b764..77104aad9e38b 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ValueHashJoinPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ValueHashJoinPipe.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/VarLengthExpandPipe.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/VarLengthExpandPipe.scala similarity index 97% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/VarLengthExpandPipe.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/VarLengthExpandPipe.scala index af00c78b9b2aa..6ef81cf2ae2cc 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/VarLengthExpandPipe.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/VarLengthExpandPipe.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.neo4j.cypher.internal.util.v3_4.InternalException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.kernel.impl.util.ValueUtils diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/AggregationFunction.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/AggregationFunction.scala similarity index 84% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/AggregationFunction.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/AggregationFunction.scala index 5c97dc31102be..540b338b81b21 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/AggregationFunction.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/AggregationFunction.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation +package org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue /** diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/AvgFunction.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/AvgFunction.scala similarity index 82% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/AvgFunction.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/AvgFunction.scala index ce2f3f3f0bf01..67383c373faf3 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/AvgFunction.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/AvgFunction.scala @@ -17,13 +17,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation +package org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation import org.neo4j.cypher.InternalException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.TypeSafeMathSupport -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.TypeSafeMathSupport +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.storable._ /** diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/CollectFunction.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/CollectFunction.scala similarity index 80% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/CollectFunction.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/CollectFunction.scala index f8513693b9259..52994920a1289 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/CollectFunction.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/CollectFunction.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation +package org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values import org.neo4j.values.virtual.VirtualValues diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/CountFunction.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/CountFunction.scala similarity index 78% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/CountFunction.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/CountFunction.scala index d409a72bf800c..30879ce893372 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/CountFunction.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/CountFunction.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation +package org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/CountStarFunction.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/CountStarFunction.scala similarity index 82% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/CountStarFunction.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/CountStarFunction.scala index e5fb80698a30f..96f65fc317e98 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/CountStarFunction.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/CountStarFunction.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation +package org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/DistinctFunction.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/DistinctFunction.scala similarity index 81% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/DistinctFunction.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/DistinctFunction.scala index 80f609087ff50..f631fa1ddc7d7 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/DistinctFunction.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/DistinctFunction.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation +package org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue class DistinctFunction(value: Expression, inner: AggregationFunction) extends AggregationFunction { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/MaxFunction.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/MaxFunction.scala similarity index 85% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/MaxFunction.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/MaxFunction.scala index 52efd081402fd..24994a7c681e6 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/MaxFunction.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/MaxFunction.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation +package org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.storable.Values import org.neo4j.values.{AnyValue, AnyValues} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/NumericExpressionOnly.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/NumericExpressionOnly.scala similarity index 88% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/NumericExpressionOnly.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/NumericExpressionOnly.scala index 2bd5e40c9e714..4cddd65c2b095 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/NumericExpressionOnly.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/NumericExpressionOnly.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation +package org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation import org.neo4j.cypher.internal.util.v3_4.CypherTypeException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression import org.neo4j.values.AnyValue import org.neo4j.values.storable.{NumberValue, Values} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/PercentileFunction.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/PercentileFunction.scala similarity index 89% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/PercentileFunction.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/PercentileFunction.scala index 7e27aa5805adc..711fda2cfa7d4 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/PercentileFunction.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/PercentileFunction.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation +package org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation import org.neo4j.cypher.internal.util.v3_4.InvalidArgumentException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Expression, NumericHelper} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{Expression, NumericHelper} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/StdevFunction.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/StdevFunction.scala similarity index 86% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/StdevFunction.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/StdevFunction.scala index 72bb4d56fc714..136b78d0caa35 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/StdevFunction.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/StdevFunction.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation +package org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Expression, NumericHelper} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{Expression, NumericHelper} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/SumFunction.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/SumFunction.scala similarity index 75% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/SumFunction.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/SumFunction.scala index f101225000069..1489bc6ea017e 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/SumFunction.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/SumFunction.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation +package org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.TypeSafeMathSupport -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.TypeSafeMathSupport +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.AnyValue class SumFunction(val value: Expression) diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/GraphRelationship.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/GraphRelationship.scala similarity index 96% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/GraphRelationship.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/GraphRelationship.scala index d24ae2f46cdfa..dadf79ba4f29b 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/GraphRelationship.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/GraphRelationship.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.matching +package org.neo4j.cypher.internal.runtime.interpreted.pipes.matching import org.neo4j.values.virtual._ diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/History.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/History.scala similarity index 95% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/History.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/History.scala index 38ebf0e2af986..b05da6f6ee424 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/History.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/History.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.matching +package org.neo4j.cypher.internal.runtime.interpreted.pipes.matching -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values import org.neo4j.values.virtual.{EdgeValue, ListValue, NodeValue} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/MatchingContext.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/MatchingContext.scala similarity index 85% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/MatchingContext.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/MatchingContext.scala index 1eb262441545e..4c1a795099e26 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/MatchingContext.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/MatchingContext.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.matching +package org.neo4j.cypher.internal.runtime.interpreted.pipes.matching -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.Predicate -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.symbols.SymbolTable +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.Predicate +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.symbols.SymbolTable import org.neo4j.cypher.internal.util.v3_4.symbols._ import scala.collection.immutable diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/MatchingPair.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/MatchingPair.scala similarity index 91% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/MatchingPair.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/MatchingPair.scala index 94ea73678c7b6..f91df4de9923b 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/MatchingPair.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/MatchingPair.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.matching +package org.neo4j.cypher.internal.runtime.interpreted.pipes.matching -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.virtual.{EdgeValue, NodeValue} import scala.collection.Map diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/PatternElement.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/PatternElement.scala similarity index 94% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/PatternElement.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/PatternElement.scala index 78d74f893bdf2..21f10c25a2cd4 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/PatternElement.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/PatternElement.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.matching +package org.neo4j.cypher.internal.runtime.interpreted.pipes.matching abstract class PatternElement(val key: String) { def traverse[T](shouldFollow: (PatternElement) => Boolean, diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/PatternGraph.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/PatternGraph.scala similarity index 95% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/PatternGraph.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/PatternGraph.scala index 4d5b3ec5a1e81..1d2fa4bfd5679 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/PatternGraph.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/PatternGraph.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.matching +package org.neo4j.cypher.internal.runtime.interpreted.pipes.matching import org.neo4j.cypher.internal.util.v3_4.PatternException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.{Pattern, RelatedTo} +import org.neo4j.cypher.internal.runtime.interpreted.commands.Pattern case class PatternGraph(patternNodes: Map[String, PatternNode], patternRels: Map[String, Seq[PatternRelationship]], diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/PatternMatcher.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/PatternMatcher.scala similarity index 96% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/PatternMatcher.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/PatternMatcher.scala index 8b2961449f549..d21fd204862d9 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/PatternMatcher.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/PatternMatcher.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.matching +package org.neo4j.cypher.internal.runtime.interpreted.pipes.matching -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.Predicate -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.Predicate +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.values.virtual.{EdgeValue, NodeValue} import scala.collection.Map diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/PatternMatchingBuilder.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/PatternMatchingBuilder.scala similarity index 94% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/PatternMatchingBuilder.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/PatternMatchingBuilder.scala index 0e8efe10430c1..7ea187a87222e 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/PatternMatchingBuilder.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/PatternMatchingBuilder.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.matching +package org.neo4j.cypher.internal.runtime.interpreted.pipes.matching -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.Predicate -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.Predicate +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.values.AnyValue import org.neo4j.values.virtual.{EdgeValue, NodeValue} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/PatternNode.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/PatternNode.scala similarity index 88% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/PatternNode.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/PatternNode.scala index e1c52adda6bfa..7ba56064f1f91 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/PatternNode.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/PatternNode.scala @@ -17,14 +17,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.matching - -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values.{KeyToken, UnresolvedProperty} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.{RelatedTo, SingleNode} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState -import org.neo4j.cypher.internal.spi.v3_4.QueryContext +package org.neo4j.cypher.internal.runtime.interpreted.pipes.matching + +import org.neo4j.cypher.internal.runtime.QueryContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.commands.values.{KeyToken, UnresolvedProperty} +import org.neo4j.cypher.internal.runtime.interpreted.commands.{RelatedTo, SingleNode} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.values.virtual.NodeValue diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/PatternRelationship.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/PatternRelationship.scala similarity index 92% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/PatternRelationship.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/PatternRelationship.scala index 9d519bd8a8c72..dffa96e2a1a0f 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/PatternRelationship.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/PatternRelationship.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.matching +package org.neo4j.cypher.internal.runtime.interpreted.pipes.matching -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values.KeyToken -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{LazyTypes, QueryState} +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.commands.values.KeyToken +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{LazyTypes, QueryState} import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection.{BOTH, INCOMING, OUTGOING} @@ -141,7 +141,7 @@ class VariableLengthPatternRelationship(pathName: String, key -> CTList(CTRelationship)) ++ relIterable.map(_ -> CTList(CTRelationship)).toMap override def getGraphRelationships(node: PatternNode, realNode: NodeValue, state: QueryState, f: => ExecutionContext): Seq[GraphRelationship] = { - val matchedPaths: Iterator[Path] = state.query.variableLengthPathExpand(node, realNode.id(), minHops, maxHops, getDirection(node), relType) + val matchedPaths: Iterator[Path] = state.query.variableLengthPathExpand(realNode.id(), minHops, maxHops, getDirection(node), relType) val filteredPaths = if (properties.isEmpty) { matchedPaths diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/RelationshipSupport.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/TraversalMatcher.scala similarity index 64% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/RelationshipSupport.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/TraversalMatcher.scala index 21667e9d721c3..268b50657e9cd 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/RelationshipSupport.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/TraversalMatcher.scala @@ -17,17 +17,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers +package org.neo4j.cypher.internal.runtime.interpreted.pipes.matching -import org.neo4j.graphdb.Relationship +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState +import org.neo4j.cypher.internal.runtime.planDescription.Argument +import org.neo4j.graphdb.Path -import scala.annotation.tailrec - -object RelationshipSupport { - @tailrec - def areRelationshipsUnique(relationships: List[Relationship]): Boolean = relationships match { - case List() => true - case head :: Nil => true - case head :: tail => !tail.contains(head) && areRelationshipsUnique(tail) - } +trait TraversalMatcher { + def findMatchingPaths(state: QueryState, context: ExecutionContext): Iterator[Path] + def arguments: Seq[Argument] } diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/symbols/SymbolTable.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/symbols/SymbolTable.scala similarity index 97% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/symbols/SymbolTable.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/symbols/SymbolTable.scala index dc7ced7e2c30b..e987db011175a 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/symbols/SymbolTable.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/internal/runtime/interpreted/symbols/SymbolTable.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.symbols +package org.neo4j.cypher.internal.runtime.interpreted.symbols import org.neo4j.cypher.internal.util.v3_4.{CypherException, CypherTypeException, SyntaxException} import org.neo4j.cypher.internal.util.v3_4.symbols._ diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/HardcodedGraphStatistics.scala b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/package.scala similarity index 74% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/HardcodedGraphStatistics.scala rename to community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/package.scala index dcd6ef016865b..45891a8476d4e 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/HardcodedGraphStatistics.scala +++ b/community/cypher/interpreted-runtime/src/main/scala/org/neo4j/cypher/package.scala @@ -17,9 +17,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.spi.v3_4 +package org.neo4j -//This class should live here, but until we have to touch -//disk, let's have it in the compiler. Convenient. -case object HardcodedGraphStatistics - extends org.neo4j.cypher.internal.compiler.v3_4.HardcodedGraphStatisticsValues +package object cypher { + type ExceptionHandler = Throwable => Unit + + object ExceptionHandler { + object default extends ExceptionHandler { + def apply(v: Throwable): Unit = {} + } + } +} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/spi/v3_4/CSVResourcesTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/CSVResourcesTest.scala similarity index 96% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/spi/v3_4/CSVResourcesTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/CSVResourcesTest.scala index b6f4cb87a2a50..1b8e541187eaa 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/spi/v3_4/CSVResourcesTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/CSVResourcesTest.scala @@ -17,15 +17,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.spi.v3_4 +package org.neo4j.cypher.internal.runtime.interpreted import java.net.URL import org.apache.commons.lang3.SystemUtils import org.mockito.ArgumentMatchers._ import org.mockito.Mockito._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.TaskCloser -import org.neo4j.cypher.internal.compiler.v3_4.test_helpers.CreateTempFileTestSupport +import org.neo4j.cypher.internal.runtime.CreateTempFileTestSupport +import org.neo4j.cypher.internal.util.v3_4.TaskCloser import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.io.fs.FileUtils diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/helpers/CastSupportTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/CastSupportTest.scala similarity index 72% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/helpers/CastSupportTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/CastSupportTest.scala index 390876eb9738c..70be36419c0fe 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/helpers/CastSupportTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/CastSupportTest.scala @@ -17,12 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.helpers +package org.neo4j.cypher.internal.runtime.interpreted import org.neo4j.cypher.internal.util.v3_4.CypherTypeException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.CastSupport -import org.neo4j.cypher.internal.compiler.v3_4.helpers import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite class CastSupportTest extends CypherFunSuite { @@ -35,30 +32,30 @@ class CastSupportTest extends CypherFunSuite { test("siftComplexTest") { val given = Seq[Any](1, 2, List("a"), 3, "b", 42, List("z")) - val then = runtime.helpers.CastSupport.sift[List[String]](given) + val then = CastSupport.sift[List[String]](given) then should equal(Seq(List("a"), List("z"))) } test("downcastPfMatchTest") { val given: Any = Seq(1) - val fun: PartialFunction[Any, Seq[Int]] = runtime.helpers.CastSupport.erasureCast[Seq[Int]] + val fun: PartialFunction[Any, Seq[Int]] = CastSupport.erasureCast[Seq[Int]] val then = fun(given) then should equal(Seq(1)) } test("downcastPfMismatchTest") { val given: Any = "Hallo" - val fun: PartialFunction[Any, Seq[Long]] = runtime.helpers.CastSupport.erasureCast[Seq[Long]] + val fun: PartialFunction[Any, Seq[Long]] = CastSupport.erasureCast[Seq[Long]] fun.isDefinedAt(given) should equal(false) } test("downcastAppMatchTest") { val given: Any = 1 - runtime.helpers.CastSupport.castOrFail[java.lang.Integer](given) should equal(1) + CastSupport.castOrFail[java.lang.Integer](given) should equal(1) } test("downcastAppMismatchTest") { val given: Any = Seq(1) - intercept[CypherTypeException](runtime.helpers.CastSupport.castOrFail[Int](given)) + intercept[CypherTypeException](CastSupport.castOrFail[Int](given)) } } diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/mutation/GraphElementPropertyFunctionsTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/GraphElementPropertyFunctionsTest.scala similarity index 97% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/mutation/GraphElementPropertyFunctionsTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/GraphElementPropertyFunctionsTest.scala index 31ded89ea7c5c..ed5e3516260c1 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/mutation/GraphElementPropertyFunctionsTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/GraphElementPropertyFunctionsTest.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.mutation +package org.neo4j.cypher.internal.runtime.interpreted import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.kernel.impl.util.ValueUtils diff --git a/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/ImplicitDummyPos.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/ImplicitDummyPos.scala new file mode 100644 index 0000000000000..6f9ed322de890 --- /dev/null +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/ImplicitDummyPos.scala @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2002-2017 "Neo Technology," + * Network Engine for Objects in Lund AB [http://neotechnology.com] + * + * This file is part of Neo4j. + * + * Neo4j is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package org.neo4j.cypher.internal.runtime.interpreted + +import org.neo4j.cypher.internal.util.v3_4.{DummyPosition, InputPosition} +import scala.language.implicitConversions + +trait ImplicitDummyPos { + protected val pos = DummyPosition(0) + + implicit def withPos[T](expr: InputPosition => T): T = expr(pos) +} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/LastCommittedTxIdProviderTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/LastCommittedTxIdProviderTest.scala similarity index 95% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/LastCommittedTxIdProviderTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/LastCommittedTxIdProviderTest.scala index a0f324dad5c15..1a1f9366af17d 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/LastCommittedTxIdProviderTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/LastCommittedTxIdProviderTest.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal +package org.neo4j.cypher.internal.runtime.interpreted +import org.neo4j.cypher.internal.javacompat.GraphDatabaseCypherService import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService import org.neo4j.kernel.NeoStoreDataSource import org.neo4j.kernel.api.KernelTransaction import org.neo4j.kernel.api.security.AnonymousContext diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/mutation/MakeValuesNeoSafeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/MakeValuesNeoSafeTest.scala similarity index 96% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/mutation/MakeValuesNeoSafeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/MakeValuesNeoSafeTest.scala index 240bb27f59b60..da28f5deba423 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/mutation/MakeValuesNeoSafeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/MakeValuesNeoSafeTest.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.mutation +package org.neo4j.cypher.internal.runtime.interpreted import org.neo4j.cypher.internal.util.v3_4.CypherTypeException import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/MatchingContextTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/MatchingContextTest.scala similarity index 94% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/MatchingContextTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/MatchingContextTest.scala index fe78b1ca8f071..a42a663d8c2fa 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/MatchingContextTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/MatchingContextTest.scala @@ -17,22 +17,19 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4 +package org.neo4j.cypher.internal.runtime.interpreted import org.neo4j.cypher.GraphDatabaseFunSuite -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ImplicitValueConversion._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Literal, Property, Variable} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.{Equals, Predicate} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values.TokenType.PropertyKey -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.{Pattern, RelatedTo, SingleNode, VarLengthRelatedTo} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.builders.PatternGraphBuilder -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.matching.MatchingContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.symbols.SymbolTable -import org.neo4j.cypher.internal.compiler.v3_4.QueryStateTestSupport +import org.neo4j.kernel.impl.util.ValueUtils +import org.neo4j.cypher.internal.runtime.ImplicitValueConversion._ +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{Literal, Property, Variable} +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.{Equals, Predicate} +import org.neo4j.cypher.internal.runtime.interpreted.commands.values.TokenType.PropertyKey +import org.neo4j.cypher.internal.runtime.interpreted.commands.{Pattern, RelatedTo, SingleNode, VarLengthRelatedTo} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.matching.MatchingContext +import org.neo4j.cypher.internal.runtime.interpreted.symbols.SymbolTable import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection -import org.neo4j.kernel.impl.util.ValueUtils import org.neo4j.values.AnyValue import scala.collection.Map diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/spi/v3_4/QueryContextAdaptation.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/QueryContextAdaptation.scala similarity index 93% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/spi/v3_4/QueryContextAdaptation.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/QueryContextAdaptation.scala index 3f3fb290e2d58..decde50c3b4d7 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/spi/v3_4/QueryContextAdaptation.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/QueryContextAdaptation.scala @@ -17,16 +17,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.spi.v3_4 +package org.neo4j.cypher.internal.runtime.interpreted import java.net.URL import org.neo4j.collection.primitive.PrimitiveLongIterator -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Expander, KernelPredicate, UserDefinedAggregator} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.matching.PatternNode -import org.neo4j.cypher.internal.compiler.v3_4.IndexDescriptor -import org.neo4j.cypher.internal.v3_4.logical.plans.QualifiedName +import org.neo4j.cypher.internal.planner.v3_4.spi.{IdempotentResult, IndexDescriptor} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.matching.PatternNode +import org.neo4j.cypher.internal.runtime._ import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection +import org.neo4j.cypher.internal.v3_4.logical.plans.QualifiedName import org.neo4j.graphdb.{Node, Path, PropertyContainer, Relationship} import org.neo4j.kernel.impl.api.store.RelationshipIterator import org.neo4j.values.AnyValue @@ -73,7 +73,7 @@ trait QueryContextAdaptation { override def withAnyOpenQueryContext[T](work: (QueryContext) => T): T = ??? // Legacy dependency between kernel and compiler - override def variableLengthPathExpand(node: PatternNode, realNode: Long, minHops: Option[Int], maxHops: Option[Int], direction: SemanticDirection, relTypes: Seq[String]): scala.Iterator[Path] = ??? + override def variableLengthPathExpand(realNode: Long, minHops: Option[Int], maxHops: Option[Int], direction: SemanticDirection, relTypes: Seq[String]): scala.Iterator[Path] = ??? override def nodeGetDegree(node: Long, dir: SemanticDirection): Int = ??? diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/QueryStateHelper.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/QueryStateHelper.scala similarity index 87% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/QueryStateHelper.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/QueryStateHelper.scala index 1cdf8a511d83b..6e630ab5994d6 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/QueryStateHelper.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/QueryStateHelper.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compiler.v3_4 +package org.neo4j.cypher.internal.runtime.interpreted -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{ExternalCSVResource, NullPipeDecorator, PipeDecorator, QueryState} -import org.neo4j.cypher.internal.spi.v3_4.TransactionBoundQueryContext.IndexSearchMonitor -import org.neo4j.cypher.internal.spi.v3_4.{QueryContext, TransactionBoundQueryContext, TransactionalContextWrapper, UpdateCountingQueryContext} +import org.neo4j.cypher.internal.runtime.QueryContext +import org.neo4j.cypher.internal.runtime.interpreted.TransactionBoundQueryContext.IndexSearchMonitor +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{ExternalCSVResource, NullPipeDecorator, PipeDecorator, QueryState} import org.neo4j.kernel.GraphDatabaseQueryService import org.neo4j.kernel.impl.coreapi.{InternalTransaction, PropertyContainerLocker} import org.neo4j.kernel.impl.query.Neo4jTransactionalContextFactory diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/QueryStateTestSupport.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/QueryStateTestSupport.scala similarity index 93% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/QueryStateTestSupport.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/QueryStateTestSupport.scala index 4943406872ef7..861a6f0cfcf09 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/QueryStateTestSupport.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/QueryStateTestSupport.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compiler.v3_4 +package org.neo4j.cypher.internal.runtime.interpreted import org.neo4j.cypher.GraphDatabaseTestSupport -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.kernel.api.KernelTransaction import org.neo4j.kernel.api.security.SecurityContext.AUTH_DISABLED import org.neo4j.values.virtual.VirtualValues.EMPTY_MAP diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/SeekRangeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/SeekRangeTest.scala similarity index 94% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/SeekRangeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/SeekRangeTest.scala index 5b5d91f44f15b..47aa6242798d4 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/SeekRangeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/SeekRangeTest.scala @@ -17,17 +17,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime +package org.neo4j.cypher.internal.runtime.interpreted import org.neo4j.cypher.internal.util.v3_4.NonEmptyList -import org.neo4j.cypher.internal.compiler.v3_4.{MinMaxOrdering, RangeBetween, RangeGreaterThan, RangeLessThan} import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.frontend.v3_4.{ExclusiveBound, InclusiveBound} +import org.neo4j.cypher.internal.v3_4.logical.plans._ class SeekRangeTest extends CypherFunSuite { test("Computes correct limit for numerical less than") { - implicit val ordering = MinMaxOrdering.BY_NUMBER + implicit val ordering = CypherOrdering.BY_NUMBER RangeLessThan[Number](NonEmptyList(InclusiveBound(3), InclusiveBound(4))).limit should equal(Some(InclusiveBound(3))) RangeLessThan[Number](NonEmptyList(InclusiveBound(3), ExclusiveBound(4))).limit should equal(Some(InclusiveBound(3))) @@ -38,7 +37,7 @@ class SeekRangeTest extends CypherFunSuite { } test("Computes inclusion for numerical less than") { - implicit val ordering = MinMaxOrdering.BY_NUMBER + implicit val ordering = CypherOrdering.BY_NUMBER RangeLessThan[Number](NonEmptyList(InclusiveBound(3))).includes[Number](2) should be(right = true) RangeLessThan[Number](NonEmptyList(ExclusiveBound(3))).includes[Number](2) should be(right = true) @@ -56,7 +55,7 @@ class SeekRangeTest extends CypherFunSuite { } test("Computes correct limit for numerical greater than") { - implicit val ordering = MinMaxOrdering.BY_NUMBER + implicit val ordering = CypherOrdering.BY_NUMBER RangeGreaterThan[Number](NonEmptyList(InclusiveBound(3), InclusiveBound(4))).limit should equal(Some(InclusiveBound(4))) RangeGreaterThan[Number](NonEmptyList(InclusiveBound(3), ExclusiveBound(4))).limit should equal(Some(ExclusiveBound(4))) @@ -67,7 +66,7 @@ class SeekRangeTest extends CypherFunSuite { } test("Computes inclusion for numerical greater than") { - implicit val ordering = MinMaxOrdering.BY_NUMBER + implicit val ordering = CypherOrdering.BY_NUMBER RangeGreaterThan[Number](NonEmptyList(InclusiveBound(3))).includes[Number](2) should be(right = false) RangeGreaterThan[Number](NonEmptyList(ExclusiveBound(3))).includes[Number](2) should be(right = false) @@ -85,7 +84,7 @@ class SeekRangeTest extends CypherFunSuite { } test("Computes inclusion for numerical range between") { - implicit val ordering = MinMaxOrdering.BY_NUMBER + implicit val ordering = CypherOrdering.BY_NUMBER val range = RangeBetween( RangeGreaterThan[Number](NonEmptyList(InclusiveBound(3))), @@ -112,7 +111,7 @@ class SeekRangeTest extends CypherFunSuite { } test("Computes correct limit for string less than") { - implicit val ordering = MinMaxOrdering.BY_STRING + implicit val ordering = CypherOrdering.BY_STRING RangeLessThan[AnyRef](NonEmptyList(InclusiveBound(""), InclusiveBound("4"))).limit should equal(Some(InclusiveBound(""))) RangeLessThan[AnyRef](NonEmptyList(ExclusiveBound(""), InclusiveBound("4"))).limit should equal(Some(ExclusiveBound(""))) @@ -125,7 +124,7 @@ class SeekRangeTest extends CypherFunSuite { } test("Computes inclusion for string less than") { - implicit val ordering = MinMaxOrdering.BY_STRING + implicit val ordering = CypherOrdering.BY_STRING RangeLessThan[AnyRef](NonEmptyList(InclusiveBound(""))).includes[AnyRef]("") should be(right = true) RangeLessThan[AnyRef](NonEmptyList(InclusiveBound(""))).includes[AnyRef]("2") should be(right = false) @@ -146,7 +145,7 @@ class SeekRangeTest extends CypherFunSuite { } test("Computes correct limit for string greater than") { - implicit val ordering = MinMaxOrdering.BY_STRING + implicit val ordering = CypherOrdering.BY_STRING RangeGreaterThan[AnyRef](NonEmptyList(InclusiveBound(""), InclusiveBound("4"))).limit should equal(Some(InclusiveBound("4"))) RangeGreaterThan[AnyRef](NonEmptyList(ExclusiveBound(""), InclusiveBound("4"))).limit should equal(Some(InclusiveBound("4"))) @@ -159,7 +158,7 @@ class SeekRangeTest extends CypherFunSuite { } test("Computes inclusion for string greater than") { - implicit val ordering = MinMaxOrdering.BY_STRING + implicit val ordering = CypherOrdering.BY_STRING RangeGreaterThan[AnyRef](NonEmptyList(InclusiveBound(""))).includes[AnyRef]("") should be(right = true) @@ -182,7 +181,7 @@ class SeekRangeTest extends CypherFunSuite { } test("Computes inclusion for string range between") { - implicit val ordering = MinMaxOrdering.BY_STRING + implicit val ordering = CypherOrdering.BY_STRING val range = RangeBetween( RangeGreaterThan[AnyRef](NonEmptyList(InclusiveBound("3"))), diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/test_helpers/TestableIterator.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/TestableIterator.scala similarity index 94% rename from community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/test_helpers/TestableIterator.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/TestableIterator.scala index eee8c63fa8937..4f3a058542780 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/test_helpers/TestableIterator.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/TestableIterator.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compiler.v3_4.test_helpers +package org.neo4j.cypher.internal.runtime.interpreted class TestableIterator[A](inner: Iterator[A]) extends Iterator[A] { var fetched = 0 diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/spi/v3_4/TransactionBoundPlanContextTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/TransactionBoundPlanContextTest.scala similarity index 95% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/spi/v3_4/TransactionBoundPlanContextTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/TransactionBoundPlanContextTest.scala index 30b3dfe49c7dc..237c4e8afdaa1 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/spi/v3_4/TransactionBoundPlanContextTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/TransactionBoundPlanContextTest.scala @@ -17,13 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.spi.v3_4 +package org.neo4j.cypher.internal.runtime.interpreted import org.neo4j.cypher.internal.frontend.v3_4.phases.devNullLogger +import org.neo4j.cypher.internal.javacompat.GraphDatabaseCypherService import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.frontend.v3_4.{LabelId, RelTypeId} -import org.neo4j.cypher.internal.ir.v3_4.Cardinality -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService +import org.neo4j.cypher.internal.util.v3_4.{Cardinality, LabelId, RelTypeId} import org.neo4j.graphdb.GraphDatabaseService import org.neo4j.kernel.api.KernelTransaction.Type._ import org.neo4j.kernel.api.security.SecurityContext.AUTH_DISABLED diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/spi/v3_4/TransactionBoundQueryContextTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/TransactionBoundQueryContextTest.scala similarity index 93% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/spi/v3_4/TransactionBoundQueryContextTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/TransactionBoundQueryContextTest.scala index 1f730f0bfcee6..49421ff121403 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/spi/v3_4/TransactionBoundQueryContextTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/TransactionBoundQueryContextTest.scala @@ -17,18 +17,18 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.spi.v3_4 +package org.neo4j.cypher.internal.runtime.interpreted import java.net.URL +import java.util.Iterator import org.hamcrest.Matchers.greaterThan import org.junit.Assert.assertThat import org.mockito.Mockito._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.DynamicIterable +import org.neo4j.cypher.internal.javacompat.GraphDatabaseCypherService +import org.neo4j.cypher.internal.runtime.interpreted.TransactionBoundQueryContext.IndexSearchMonitor import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.spi.v3_4.TransactionBoundQueryContext.IndexSearchMonitor import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService import org.neo4j.graphdb._ import org.neo4j.graphdb.config.Setting import org.neo4j.graphdb.factory.GraphDatabaseSettings @@ -123,14 +123,15 @@ class TransactionBoundQueryContextTest extends CypherFunSuite { val context = new TransactionBoundQueryContext(transactionalContext)(indexSearchMonitor) // WHEN - val iterable = DynamicIterable(context.getRelationshipsForIds(node.getId, SemanticDirection.BOTH, None)) + val iteratorA = context.getRelationshipsForIds(node.getId, SemanticDirection.BOTH, None) + val iteratorB = context.getRelationshipsForIds(node.getId, SemanticDirection.BOTH, None) // THEN - val iteratorA: Iterator[Relationship] = iterable.iterator - val iteratorB: Iterator[Relationship] = iterable.iterator iteratorA should not equal iteratorB - iteratorA.toList should equal(iteratorB.toList) - 2 should equal(iterable.size) + val listA = iteratorA.toList + val listB = iteratorB.toList + listA should equal(listB) + listA.size should equal(2) transactionalContext.close(true) tx.success() diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/spi/v3_4/UpdateCountingQueryContextTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/UpdateCountingQueryContextTest.scala similarity index 93% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/spi/v3_4/UpdateCountingQueryContextTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/UpdateCountingQueryContextTest.scala index 9ebe14921c900..fef0b239adac6 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/spi/v3_4/UpdateCountingQueryContextTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/UpdateCountingQueryContextTest.scala @@ -17,17 +17,17 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.spi.v3_4 +package org.neo4j.cypher.internal.runtime.interpreted import org.mockito.ArgumentMatchers._ import org.mockito.Mockito.when import org.mockito.invocation.InvocationOnMock import org.mockito.stubbing.Answer -import org.neo4j.cypher.internal.QueryStatistics -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ImplicitValueConversion._ -import org.neo4j.cypher.internal.compiler.v3_4.IndexDescriptor +import org.neo4j.cypher.internal.planner.v3_4.spi.{IdempotentResult, IndexDescriptor} +import org.neo4j.cypher.internal.runtime.{Operations, QueryContext, QueryStatistics} import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.graphdb.{Node, Relationship} +import org.neo4j.values.storable.Values class UpdateCountingQueryContextTest extends CypherFunSuite { @@ -98,7 +98,7 @@ class UpdateCountingQueryContextTest extends CypherFunSuite { } test("set_property") { - context.nodeOps.setProperty(nodeAId, 1, "value") + context.nodeOps.setProperty(nodeAId, 1, Values.stringValue("value")) context.getStatistics should equal(QueryStatistics(propertiesSet = 1)) } @@ -110,7 +110,7 @@ class UpdateCountingQueryContextTest extends CypherFunSuite { } test("set_property_relationship") { - context.relationshipOps.setProperty(relId, 1, "value") + context.relationshipOps.setProperty(relId, 1, Values.stringValue("value")) context.getStatistics should equal(QueryStatistics(propertiesSet = 1)) } diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/ValueComparisonHelper.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/ValueComparisonHelper.scala similarity index 96% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/ValueComparisonHelper.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/ValueComparisonHelper.scala index 95b820b8982a4..c5c0704582016 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/ValueComparisonHelper.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/ValueComparisonHelper.scala @@ -17,9 +17,8 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher +package org.neo4j.cypher.internal.runtime.interpreted -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext import org.neo4j.graphdb.{Node, Relationship} import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values.stringValue diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/AddTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/AddTest.scala similarity index 87% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/AddTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/AddTest.scala index 85ef0ca121c32..f102ac3dc81cc 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/AddTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/AddTest.scala @@ -17,14 +17,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands +package org.neo4j.cypher.internal.runtime.interpreted.commands import java.nio.charset.StandardCharsets -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Add, Literal, ParameterExpression} -import org.neo4j.cypher.internal.compiler.v3_4._ import org.neo4j.cypher.internal.util.v3_4.CypherTypeException +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{Add, Literal, ParameterExpression} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.AnyValue import org.neo4j.values.storable.StringValue.UTF8StringValue @@ -76,7 +76,7 @@ class AddTest extends CypherFunSuite { val hello = "hello".getBytes(StandardCharsets.UTF_8) val world = "world".getBytes(StandardCharsets.UTF_8) val params: Map[String, AnyValue] = Map("p1" -> utf8Value(hello), "p2" -> utf8Value(world)) - val state = QueryStateHelper.newWith(params = VirtualValues.map(params.asJava)) + val state = QueryStateHelper.emptyWith(params = VirtualValues.map(params.asJava)) // When val result = Add(ParameterExpression("p1"), ParameterExpression("p2"))(m,state) diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/AllVariablesTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/AllVariablesTest.scala similarity index 86% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/AllVariablesTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/AllVariablesTest.scala index 0edeb7876d7f6..b48bc8f1da994 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/AllVariablesTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/AllVariablesTest.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands +package org.neo4j.cypher.internal.runtime.interpreted.commands -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Variable -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.symbols.SymbolTable +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Variable +import org.neo4j.cypher.internal.runtime.interpreted.symbols.SymbolTable import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/AndsTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/AndsTest.scala similarity index 86% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/AndsTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/AndsTest.scala index c4b97ce590e37..b5869b0ff2691 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/AndsTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/AndsTest.scala @@ -17,14 +17,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands +package org.neo4j.cypher.internal.runtime.interpreted.commands import org.mockito.ArgumentMatchers._ import org.mockito.Mockito._ import org.neo4j.cypher.internal.util.v3_4.NonEmptyList -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.{Ands, Not, Predicate, True} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryStateHelper +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.{Ands, Not, Predicate, True} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite class AndsTest extends CypherFunSuite { diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/CoalesceTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/CoalesceTest.scala similarity index 83% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/CoalesceTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/CoalesceTest.scala index 9d9dace2ed0dc..8372c514cb8a4 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/CoalesceTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/CoalesceTest.scala @@ -17,12 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands +package org.neo4j.cypher.internal.runtime.interpreted.commands -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{CoalesceFunction, Expression, Literal, Null} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState -import org.neo4j.cypher.internal.compiler.v3_4._ +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{CoalesceFunction, Expression, Literal, Null} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{QueryState, QueryStateHelper} import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values import org.neo4j.values.storable.Values.stringValue diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/CoercedPredicateTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/CoercedPredicateTest.scala similarity index 81% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/CoercedPredicateTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/CoercedPredicateTest.scala index 3f2bfd081ba44..de6f8be3a6c83 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/CoercedPredicateTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/CoercedPredicateTest.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands +package org.neo4j.cypher.internal.runtime.interpreted.commands -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{ListLiteral, Literal} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.{CoercedPredicate, Not, True} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{QueryState, QueryStateHelper} +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{ListLiteral, Literal} +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.{CoercedPredicate, Not, True} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{QueryState, QueryStateHelper} import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite class CoercedPredicateTest extends CypherFunSuite { diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/ComparablePredicateTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/ComparablePredicateTest.scala similarity index 91% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/ComparablePredicateTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/ComparablePredicateTest.scala index 587de5af5cc49..49be2ad9828e3 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/ComparablePredicateTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/ComparablePredicateTest.scala @@ -17,13 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands +package org.neo4j.cypher.internal.runtime.interpreted.commands -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Literal -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryStateHelper -import org.neo4j.cypher.internal.compiler.v3_4.CypherOrdering +import org.neo4j.cypher.internal.runtime.interpreted.{CypherOrdering, ExecutionContext} +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Literal +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates._ +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.scalatest.matchers.{MatchResult, Matcher} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/ExtractTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/ExtractTest.scala similarity index 76% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/ExtractTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/ExtractTest.scala index 5b8b9addb81ca..bc1f6170ee14d 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/ExtractTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/ExtractTest.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands +package org.neo4j.cypher.internal.runtime.interpreted.commands -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ImplicitValueConversion._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{ExtractFunction, SizeFunction, Variable} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryStateHelper +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.ImplicitValueConversion._ +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{ExtractFunction, SizeFunction, Variable} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values.intValue import org.neo4j.values.virtual.VirtualValues.list diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/HasLabelTests.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/HasLabelTests.scala similarity index 72% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/HasLabelTests.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/HasLabelTests.scala index 3aba73ca29376..f5537137fc08b 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/HasLabelTests.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/HasLabelTests.scala @@ -17,13 +17,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands +package org.neo4j.cypher.internal.runtime.interpreted.commands -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Literal -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.HasLabel -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values.{KeyToken, TokenType} -import org.neo4j.cypher.internal.compiler.v3_4._ +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Literal +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.HasLabel +import org.neo4j.cypher.internal.runtime.interpreted.commands.values.{KeyToken, TokenType} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite class HasLabelTests extends CypherFunSuite { diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/LengthFunctionTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/LengthFunctionTest.scala similarity index 82% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/LengthFunctionTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/LengthFunctionTest.scala index 1e1c0b67dbac9..94ea8b419a739 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/LengthFunctionTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/LengthFunctionTest.scala @@ -17,12 +17,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands +package org.neo4j.cypher.internal.runtime.interpreted.commands -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ImplicitValueConversion._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{LengthFunction, PathImpl, Variable} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryStateHelper +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.ImplicitValueConversion._ +import org.neo4j.cypher.internal.runtime.PathImpl +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{LengthFunction, Variable} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.graphdb.{Node, Relationship} import org.neo4j.kernel.impl.util.ValueUtils diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/ListLiteralTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/ListLiteralTest.scala similarity index 87% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/ListLiteralTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/ListLiteralTest.scala index b9e79bd0d9f40..0452cb1438d76 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/ListLiteralTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/ListLiteralTest.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands +package org.neo4j.cypher.internal.runtime.interpreted.commands -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Expression, Literal, Variable} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.{CoercedPredicate, Predicate} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryStateHelper +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{Expression, Literal, Variable} +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.{CoercedPredicate, Predicate} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values.{FALSE, NO_VALUE, TRUE} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/MathFunctionsTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/MathFunctionsTest.scala similarity index 96% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/MathFunctionsTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/MathFunctionsTest.scala index 0fef9ec287c99..afc57d9e6b9d3 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/MathFunctionsTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/MathFunctionsTest.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands +package org.neo4j.cypher.internal.runtime.interpreted.commands import org.neo4j.cypher.internal.util.v3_4.CypherTypeException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions._ -import org.neo4j.cypher.internal.compiler.v3_4._ +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions._ +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.LongValue import org.neo4j.values.storable.Values.{doubleValue, longValue} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/OrsTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/OrsTest.scala similarity index 86% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/OrsTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/OrsTest.scala index b51e90edb0eb5..74b6616f8e126 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/OrsTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/OrsTest.scala @@ -17,14 +17,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands +package org.neo4j.cypher.internal.runtime.interpreted.commands import org.mockito.ArgumentMatchers._ import org.mockito.Mockito._ import org.neo4j.cypher.internal.util.v3_4.NonEmptyList -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.{Not, Ors, Predicate, True} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryStateHelper +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.{Not, Ors, Predicate, True} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite class OrsTest extends CypherFunSuite { diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/PatternComprehensionTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/PatternComprehensionTest.scala similarity index 82% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/PatternComprehensionTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/PatternComprehensionTest.scala index 9fd14f5818843..15aaae5eb437c 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/PatternComprehensionTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/PatternComprehensionTest.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands +package org.neo4j.cypher.internal.runtime.interpreted.commands -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Variable -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.True -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryStateHelper +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Variable +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.True +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.values.storable.Values.NO_VALUE diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/PropertyValueComparisonTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/PropertyValueComparisonTest.scala similarity index 76% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/PropertyValueComparisonTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/PropertyValueComparisonTest.scala index 744099c291f9e..696ac4bc6a2f7 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/PropertyValueComparisonTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/PropertyValueComparisonTest.scala @@ -17,13 +17,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands +package org.neo4j.cypher.internal.runtime.interpreted.commands -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ImplicitValueConversion._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Property, Variable} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values.TokenType.PropertyKey -import org.neo4j.cypher.internal.compiler.v3_4._ +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.ImplicitValueConversion._ +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{Property, Variable} +import org.neo4j.cypher.internal.runtime.interpreted.commands.values.TokenType.PropertyKey +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values.NO_VALUE diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/ReduceTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/ReduceTest.scala similarity index 82% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/ReduceTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/ReduceTest.scala index 34fd3dcbda54f..6f9f07cc918ed 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/ReduceTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/ReduceTest.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands +package org.neo4j.cypher.internal.runtime.interpreted.commands -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ImplicitValueConversion._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions._ -import org.neo4j.cypher.internal.compiler.v3_4._ +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.ImplicitValueConversion._ +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions._ +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values import org.neo4j.values.storable.Values.longValue diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/RegularExpressionPredicateTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/RegularExpressionPredicateTest.scala similarity index 87% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/RegularExpressionPredicateTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/RegularExpressionPredicateTest.scala index e7f8d374365f1..6574c64c12da3 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/RegularExpressionPredicateTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/RegularExpressionPredicateTest.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands +package org.neo4j.cypher.internal.runtime.interpreted.commands -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Literal, Null} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.{LiteralRegularExpression, RegularExpression} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryStateHelper +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{Literal, Null} +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.{LiteralRegularExpression, RegularExpression} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite class RegularExpressionPredicateTest extends CypherFunSuite { diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/SizeFunctionTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/SizeFunctionTest.scala similarity index 82% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/SizeFunctionTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/SizeFunctionTest.scala index 7192340811fc7..467473abd6a6b 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/SizeFunctionTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/SizeFunctionTest.scala @@ -17,13 +17,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands +package org.neo4j.cypher.internal.runtime.interpreted.commands import org.neo4j.cypher.internal.util.v3_4.CypherTypeException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ImplicitValueConversion._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{PathImpl, SizeFunction, Variable} -import org.neo4j.cypher.internal.compiler.v3_4._ +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.ImplicitValueConversion._ +import org.neo4j.cypher.internal.runtime.PathImpl +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{SizeFunction, Variable} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.graphdb.{Node, Relationship} import org.neo4j.values.storable.Values.longValue diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/SplittingPredicateTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/SplittingPredicateTest.scala similarity index 86% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/SplittingPredicateTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/SplittingPredicateTest.scala index c9f4d1683c2d9..7a266690ffc70 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/SplittingPredicateTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/SplittingPredicateTest.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands +package org.neo4j.cypher.internal.runtime.interpreted.commands -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Literal -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates._ +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Literal +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite class SplittingPredicateTest extends CypherFunSuite { diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/SubtractTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/SubtractTest.scala similarity index 85% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/SubtractTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/SubtractTest.scala index 2409574b3cc5b..c1f4a98f45389 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/SubtractTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/SubtractTest.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands +package org.neo4j.cypher.internal.runtime.interpreted.commands import org.neo4j.cypher.internal.util.v3_4.CypherTypeException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Literal, Subtract} -import org.neo4j.cypher.internal.compiler.v3_4._ +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{Literal, Subtract} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values.longValue diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/convert/PathExpressionConversionTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/convert/PathExpressionConversionTest.scala similarity index 94% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/convert/PathExpressionConversionTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/convert/PathExpressionConversionTest.scala index 941f1424b3893..3f2f83de444c3 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/convert/PathExpressionConversionTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/convert/PathExpressionConversionTest.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.convert +package org.neo4j.cypher.internal.runtime.interpreted.commands.convert import org.neo4j.cypher.internal.util.v3_4.{DummyPosition, InputPosition} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.ProjectedPath -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.ProjectedPath._ +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.ProjectedPath +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.ProjectedPath._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.cypher.internal.v3_4.expressions._ diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/CoerceToTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/CoerceToTest.scala similarity index 95% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/CoerceToTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/CoerceToTest.scala index f632367618e6a..a274e5e17c3fd 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/CoerceToTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/CoerceToTest.scala @@ -17,17 +17,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import java.util.{ArrayList => JavaList, HashMap => JavaMap} +import org.neo4j.cypher.internal.runtime.{Counter, QueryContext} import org.neo4j.cypher.internal.util.v3_4.CypherTypeException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.Counter -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{QueryState, QueryStateHelper} +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{QueryState, QueryStateHelper} import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.spi.v3_4.QueryContext import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values._ import org.neo4j.values.virtual.PointValue diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ContainerIndexTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ContainerIndexTest.scala similarity index 94% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ContainerIndexTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ContainerIndexTest.scala index 257e0a16d3a20..298af8210811a 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ContainerIndexTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ContainerIndexTest.scala @@ -17,16 +17,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.mockito.Mockito._ import org.mockito.invocation.InvocationOnMock import org.mockito.stubbing.Answer import org.neo4j.cypher.internal.util.v3_4.{CypherTypeException, InvalidArgumentException} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compiler.v3_4._ +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.{Operations, QueryContext} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.spi.v3_4.{Operations, QueryContext} import org.neo4j.graphdb.{Node, Relationship} import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values.longValue diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/DivideTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/DivideTest.scala similarity index 85% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/DivideTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/DivideTest.scala index 7be10c7b3a81f..7da06e889c685 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/DivideTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/DivideTest.scala @@ -17,12 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.neo4j.cypher.internal.util.v3_4.ArithmeticException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compiler.v3_4._ -import org.neo4j.cypher.internal.frontend.v3_4 +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite class DivideTest extends CypherFunSuite { diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ExpressionTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ExpressionTest.scala similarity index 88% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ExpressionTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ExpressionTest.scala index dee3f60b097b0..3e860e5879811 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ExpressionTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ExpressionTest.scala @@ -17,13 +17,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.ReturnItem -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.{CoercedPredicate, Not, True} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values.TokenType.PropertyKey -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.ReturnItem +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.{CoercedPredicate, Not, True} +import org.neo4j.cypher.internal.runtime.interpreted.commands.values.TokenType.PropertyKey +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/FakeEntityTestSupport.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/FakeEntityTestSupport.scala similarity index 97% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/FakeEntityTestSupport.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/FakeEntityTestSupport.scala index ba9dc34dfe54e..e8f8c0cb86cb9 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/FakeEntityTestSupport.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/FakeEntityTestSupport.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import java.lang.Iterable import java.util diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/GenericCaseTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/GenericCaseTest.scala similarity index 89% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/GenericCaseTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/GenericCaseTest.scala index 2d981bfaf0700..6d76e12558dd7 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/GenericCaseTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/GenericCaseTest.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.{CoercedPredicate, Equals, Predicate} -import org.neo4j.cypher.internal.compiler.v3_4._ +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.{CoercedPredicate, Equals, Predicate} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values.{NO_VALUE, stringValue} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/IndexedInclusiveLongRangeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/IndexedInclusiveLongRangeTest.scala similarity index 97% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/IndexedInclusiveLongRangeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/IndexedInclusiveLongRangeTest.scala index b5f1eec09d4a3..474a1b98afb16 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/IndexedInclusiveLongRangeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/IndexedInclusiveLongRangeTest.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/KeysFunctionTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/KeysFunctionTest.scala similarity index 87% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/KeysFunctionTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/KeysFunctionTest.scala index e8cbb76e90d6a..e641ada6eb809 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/KeysFunctionTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/KeysFunctionTest.scala @@ -17,14 +17,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.mockito.Mockito._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ImplicitValueConversion._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryStateHelper +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.ImplicitValueConversion._ +import org.neo4j.cypher.internal.runtime.{Operations, QueryContext} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.spi.v3_4.{Operations, QueryContext} import org.neo4j.graphdb.Node import org.neo4j.values.storable.Values.stringValue import org.neo4j.values.virtual.VirtualValues.{EMPTY_LIST, list} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/LabelsFunctionTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/LabelsFunctionTest.scala similarity index 80% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/LabelsFunctionTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/LabelsFunctionTest.scala index 4bcd7419faebb..2d126d4aa29f5 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/LabelsFunctionTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/LabelsFunctionTest.scala @@ -17,14 +17,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.mockito.Mockito._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ImplicitValueConversion._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryStateHelper +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.ImplicitValueConversion._ +import org.neo4j.cypher.internal.runtime.QueryContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.spi.v3_4.QueryContext import org.neo4j.graphdb.Node import org.neo4j.values.storable.Values.stringValue import org.neo4j.values.virtual.VirtualValues.list diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ListSliceTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ListSliceTest.scala similarity index 93% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ListSliceTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ListSliceTest.scala index b20d4f052d3f2..90b424e537531 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ListSliceTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ListSliceTest.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compiler.v3_4._ +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values import org.neo4j.values.storable.Values.longValue diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/commands/expressions/LiteralMapTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/LiteralMapTest.scala similarity index 81% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/commands/expressions/LiteralMapTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/LiteralMapTest.scala index 58c70c7d5438c..ab680231e2f7d 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/commands/expressions/LiteralMapTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/LiteralMapTest.scala @@ -17,10 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compiler.v3_4.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{CountStar, LiteralMap, Property, Variable} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values.UnresolvedProperty +import org.neo4j.cypher.internal.runtime.interpreted.commands.values.UnresolvedProperty import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite class LiteralMapTest extends CypherFunSuite { diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ModuloTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ModuloTest.scala similarity index 89% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ModuloTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ModuloTest.scala index 1e47bb9b32fa0..3216b34818d4b 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ModuloTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ModuloTest.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ImplicitValueConversion._ +import org.neo4j.cypher.internal.runtime.ImplicitValueConversion._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values.{doubleValue, longValue} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/PathImplTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/PathImplTest.scala similarity index 90% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/PathImplTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/PathImplTest.scala index ee94ee67c3103..99e00ce03dc1e 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/PathImplTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/PathImplTest.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +import org.neo4j.cypher.internal.runtime.PathImpl import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.graphdb._ @@ -45,7 +45,7 @@ class PathImplTest extends CypherFunSuite with FakeEntityTestSupport { val nodA = new FakeNode val nodB = new FakeNode val rel = new FakeRel(nodA, nodB, typ) - val path = new expressions.PathImpl(nodA, rel, nodB) + val path = new PathImpl(nodA, rel, nodB) path.length() should equal(1) path.startNode() should equal(nodA) @@ -67,7 +67,7 @@ class PathImplTest extends CypherFunSuite with FakeEntityTestSupport { Seq(rel1) ) - badPaths.foreach(p => intercept[IllegalArgumentException](new expressions.PathImpl(p:_*))) + badPaths.foreach(p => intercept[IllegalArgumentException](new PathImpl(p:_*))) } test("retrieveLastRelationshipOnLongPath") { diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/PathValueBuilderTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/PathValueBuilderTest.scala similarity index 97% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/PathValueBuilderTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/PathValueBuilderTest.scala index 8ebe46cdfc56b..336e31b7fc042 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/PathValueBuilderTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/PathValueBuilderTest.scala @@ -17,10 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.mockito.Mockito -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ImplicitValueConversion._ +import org.neo4j.cypher.internal.runtime.ImplicitValueConversion._ +import org.neo4j.cypher.internal.runtime.PathImpl import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.graphdb.{Node, Relationship, RelationshipType} import org.neo4j.kernel.impl.util.ValueUtils.asPathValue diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/PropertiesFunctionTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/PropertiesFunctionTest.scala similarity index 91% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/PropertiesFunctionTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/PropertiesFunctionTest.scala index 69571b2edfef8..e959fdc3d0792 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/PropertiesFunctionTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/PropertiesFunctionTest.scala @@ -17,16 +17,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import java.util import org.mockito.Mockito +import org.neo4j.cypher.internal.runtime.{Operations, QueryContext} import org.neo4j.cypher.internal.util.v3_4.CypherTypeException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryStateHelper +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.spi.v3_4.{Operations, QueryContext} import org.neo4j.graphdb.{Node, Relationship} import org.neo4j.values.storable.Values.{NO_VALUE, stringValue} import org.neo4j.values.virtual.VirtualValues.map diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/RangeFunctionTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/RangeFunctionTest.scala similarity index 90% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/RangeFunctionTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/RangeFunctionTest.scala index 261894588aaa1..b0600114ca629 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/RangeFunctionTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/RangeFunctionTest.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryStateHelper +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values import org.neo4j.values.virtual.ListValue diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/RelationshipTypeFunctionTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/RelationshipTypeFunctionTest.scala similarity index 87% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/RelationshipTypeFunctionTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/RelationshipTypeFunctionTest.scala index be55571bfbe0c..866fefafe8ecf 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/RelationshipTypeFunctionTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/RelationshipTypeFunctionTest.scala @@ -17,15 +17,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.mockito.ArgumentMatchers.any import org.mockito.Mockito._ import org.neo4j.cypher.internal.util.v3_4.ParameterWrongTypeException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ImplicitValueConversion._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryStateHelper +import org.neo4j.cypher.internal.runtime.ImplicitValueConversion._ +import org.neo4j.cypher.internal.runtime.{Operations, QueryContext} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.spi.v3_4.{Operations, QueryContext} import org.neo4j.graphdb.{Relationship, RelationshipType} import org.neo4j.values.storable.Values.stringValue diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/RelationshipSupportTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ShortestPathNoDuplicatesTest.scala similarity index 66% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/RelationshipSupportTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ShortestPathNoDuplicatesTest.scala index 22629d1aeeb38..50b65432c0564 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/RelationshipSupportTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ShortestPathNoDuplicatesTest.scala @@ -17,21 +17,21 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.graphdb.Relationship import org.neo4j.kernel.impl.core.RelationshipProxy import org.neo4j.kernel.impl.core.RelationshipProxy.RelationshipActions -class RelationshipSupportTest extends CypherFunSuite { +class ShortestPathNoDuplicatesTest extends CypherFunSuite { test("Should handle empty list") { - RelationshipSupport.areRelationshipsUnique(List.empty) should be(true) + ShortestPathExpression.noDuplicates(List.empty) should be(true) } test("Should handle lists of one") { - RelationshipSupport.areRelationshipsUnique(List(mock[Relationship])) should be(true) + ShortestPathExpression.noDuplicates(List(mock[Relationship])) should be(true) } test("Should handle lists of length two") { @@ -40,9 +40,9 @@ class RelationshipSupportTest extends CypherFunSuite { val b = new RelationshipProxy(actions, 2) val a1 = new RelationshipProxy(actions, 1) - RelationshipSupport.areRelationshipsUnique(List(a, b)) should be(true) - RelationshipSupport.areRelationshipsUnique(List(a, a)) should be(false) - RelationshipSupport.areRelationshipsUnique(List(a, a1)) should be(false) + ShortestPathExpression.noDuplicates(List(a, b)) should be(true) + ShortestPathExpression.noDuplicates(List(a, a)) should be(false) + ShortestPathExpression.noDuplicates(List(a, a1)) should be(false) } test("Should handle lists of length three") { @@ -51,10 +51,10 @@ class RelationshipSupportTest extends CypherFunSuite { val b = new RelationshipProxy(actions, 2) val c = new RelationshipProxy(actions, 3) - RelationshipSupport.areRelationshipsUnique(List(a, b, c)) should be(true) - RelationshipSupport.areRelationshipsUnique(List(a, a, b)) should be(false) - RelationshipSupport.areRelationshipsUnique(List(a, b, b)) should be(false) - RelationshipSupport.areRelationshipsUnique(List(a, b, a)) should be(false) + ShortestPathExpression.noDuplicates(List(a, b, c)) should be(true) + ShortestPathExpression.noDuplicates(List(a, a, b)) should be(false) + ShortestPathExpression.noDuplicates(List(a, b, b)) should be(false) + ShortestPathExpression.noDuplicates(List(a, b, a)) should be(false) } test("Should handle long lists") { @@ -70,14 +70,14 @@ class RelationshipSupportTest extends CypherFunSuite { val i = new RelationshipProxy(actions, 9) val l0 = List(a, b, c, d, e, f, g, h, i) - RelationshipSupport.areRelationshipsUnique(l0) should be(true) + ShortestPathExpression.noDuplicates(l0) should be(true) val l1 = List(a, a, c, d, e, f, g, h, i) - RelationshipSupport.areRelationshipsUnique(l1) should be(false) + ShortestPathExpression.noDuplicates(l1) should be(false) val l2 = List(a, b, c, d, d, f, g, h, i) - RelationshipSupport.areRelationshipsUnique(l2) should be(false) + ShortestPathExpression.noDuplicates(l2) should be(false) val l3 = List(a, b, c, d, e, f, g, h, h) - RelationshipSupport.areRelationshipsUnique(l3) should be(false) + ShortestPathExpression.noDuplicates(l3) should be(false) val l4 = List(a, b, c, d, e, f, g, h, a) - RelationshipSupport.areRelationshipsUnique(l4) should be(false) + ShortestPathExpression.noDuplicates(l4) should be(false) } } diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/SimpleCaseTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/SimpleCaseTest.scala similarity index 93% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/SimpleCaseTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/SimpleCaseTest.scala index 59b9fa18053c4..168e8a8010357 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/SimpleCaseTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/SimpleCaseTest.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compiler.v3_4._ +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values.{NO_VALUE, stringValue} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/SplitFunctionTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/SplitFunctionTest.scala similarity index 90% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/SplitFunctionTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/SplitFunctionTest.scala index 4a79293cae9a4..7b2cf86c83648 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/SplitFunctionTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/SplitFunctionTest.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryStateHelper +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values._ import org.neo4j.values.virtual.VirtualValues.list diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/StringFunctionsTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/StringFunctionsTest.scala similarity index 96% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/StringFunctionsTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/StringFunctionsTest.scala index 86e925746344d..95862d23a2507 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/StringFunctionsTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/StringFunctionsTest.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.neo4j.cypher.internal.util.v3_4.CypherTypeException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compiler.v3_4._ +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values import org.neo4j.values.storable.Values.{EMPTY_STRING, stringValue} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ToBooleanFunctionTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ToBooleanFunctionTest.scala similarity index 89% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ToBooleanFunctionTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ToBooleanFunctionTest.scala index d0a4de9d80482..85cce645f82e9 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ToBooleanFunctionTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ToBooleanFunctionTest.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.neo4j.cypher.internal.util.v3_4.ParameterWrongTypeException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryStateHelper +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values._ diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ToFloatFunctionTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ToFloatFunctionTest.scala similarity index 91% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ToFloatFunctionTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ToFloatFunctionTest.scala index f410d31d0dff2..f3078138203ba 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ToFloatFunctionTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ToFloatFunctionTest.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.neo4j.cypher.internal.util.v3_4.ParameterWrongTypeException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryStateHelper +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values.{NO_VALUE, doubleValue} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ToIntegerFunctionTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ToIntegerFunctionTest.scala similarity index 94% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ToIntegerFunctionTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ToIntegerFunctionTest.scala index de28901d485e5..d0597fd4b12fb 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ToIntegerFunctionTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ToIntegerFunctionTest.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.neo4j.cypher.internal.util.v3_4.{CypherTypeException, ParameterWrongTypeException} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryStateHelper +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values.{NO_VALUE, longValue} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ToStringFunctionTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ToStringFunctionTest.scala similarity index 90% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ToStringFunctionTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ToStringFunctionTest.scala index aa852d049b826..b3378cb03dc93 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/ToStringFunctionTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/ToStringFunctionTest.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions import org.neo4j.cypher.internal.util.v3_4.ParameterWrongTypeException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryStateHelper +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values.{NO_VALUE, stringValue} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/TypeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/TypeTest.scala similarity index 91% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/TypeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/TypeTest.scala index b5cbbc4ec947f..0de50a0c94685 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/TypeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/expressions/TypeTest.scala @@ -17,10 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime +package org.neo4j.cypher.internal.runtime.interpreted.commands.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryStateHelper +import org.neo4j.cypher.internal.runtime.interpreted.{ExecutionContext, QueryStateHelper} import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.{DoubleValue, LongValue} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/groupInequalityPredicatesForLegacyTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/groupInequalityPredicatesForLegacyTest.scala similarity index 91% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/groupInequalityPredicatesForLegacyTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/groupInequalityPredicatesForLegacyTest.scala index 4284c23c1df4b..84d234a4ad747 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/groupInequalityPredicatesForLegacyTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/groupInequalityPredicatesForLegacyTest.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands +package org.neo4j.cypher.internal.runtime.interpreted.commands import org.neo4j.cypher.internal.util.v3_4.NonEmptyList -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Expression, Literal, Property, Variable} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values.TokenType.PropertyKey +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{Expression, Literal, Property, Variable} +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates._ +import org.neo4j.cypher.internal.runtime.interpreted.commands.values.TokenType.PropertyKey import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite class GroupInequalityPredicatesForLegacyTest extends CypherFunSuite { diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/predicates/CheckerTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/predicates/CheckerTest.scala similarity index 96% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/predicates/CheckerTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/predicates/CheckerTest.scala index 145eefd5ebb23..5833f02d8ce6c 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/predicates/CheckerTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/predicates/CheckerTest.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates +package org.neo4j.cypher.internal.runtime.interpreted.commands.predicates -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.ValueConversion +import org.neo4j.cypher.internal.runtime.interpreted.ValueConversion import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/predicates/ConstantCachedInTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/predicates/ConstantCachedInTest.scala similarity index 91% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/predicates/ConstantCachedInTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/predicates/ConstantCachedInTest.scala index 97830a8968d92..2033c383391ee 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/predicates/ConstantCachedInTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/predicates/ConstantCachedInTest.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates +package org.neo4j.cypher.internal.runtime.interpreted.commands.predicates -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ImplicitValueConversion._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Expression, ListLiteral, Literal, Variable} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryStateHelper +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.ImplicitValueConversion._ +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{Expression, ListLiteral, Literal, Variable} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values._ diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/predicates/EquivalentTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/predicates/EquivalentTest.scala similarity index 100% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/predicates/EquivalentTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/predicates/EquivalentTest.scala diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/values/KeyTokenTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/values/KeyTokenTest.scala similarity index 91% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/values/KeyTokenTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/values/KeyTokenTest.scala index dfc4926b26bdc..dac14d1906583 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/values/KeyTokenTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/commands/values/KeyTokenTest.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values +package org.neo4j.cypher.internal.runtime.interpreted.commands.values -import org.neo4j.cypher.internal.compiler.v3_4.spi.TokenContext +import org.neo4j.cypher.internal.planner.v3_4.spi.TokenContext +import org.neo4j.cypher.internal.runtime.QueryContext import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.spi.v3_4.QueryContext class KeyTokenTest extends CypherFunSuite { diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/AllNodesScanPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/AllNodesScanPipeTest.scala similarity index 86% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/AllNodesScanPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/AllNodesScanPipeTest.scala index 58b7206fbc700..d716613fde859 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/AllNodesScanPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/AllNodesScanPipeTest.scala @@ -17,13 +17,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.mockito.Mockito -import org.neo4j.cypher.ValueComparisonHelper._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ValueComparisonHelper._ +import org.neo4j.cypher.internal.runtime.{Operations, QueryContext} +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.spi.v3_4.{Operations, QueryContext} import org.neo4j.graphdb.Node class AllNodesScanPipeTest extends CypherFunSuite { diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/AllShortestPathsPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/AllShortestPathsPipeTest.scala similarity index 88% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/AllShortestPathsPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/AllShortestPathsPipeTest.scala index f154d42fcf467..f90ed6e866b3e 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/AllShortestPathsPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/AllShortestPathsPipeTest.scala @@ -17,12 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compiler.v3_4 +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.neo4j.cypher.GraphDatabaseFunSuite -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.{ShortestPath, SingleNode} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{FakePipe, ShortestPathPipe} -import org.neo4j.cypher.internal.compiler.v3_4.QueryStateHelper.withQueryState +import org.neo4j.cypher.internal.runtime.interpreted.QueryStateHelper.withQueryState +import org.neo4j.cypher.internal.runtime.interpreted.commands.{ShortestPath, SingleNode} import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.graphdb.Node diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ApplyPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ApplyPipeTest.scala similarity index 91% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ApplyPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ApplyPipeTest.scala index 8c0dc85d52a46..99629571a65da 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ApplyPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ApplyPipeTest.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.ValueComparisonHelper._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ValueComparisonHelper._ +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.util.v3_4.symbols.CTNumber import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/DirectedDirectedRelationshipByIdSeekPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/DirectedDirectedRelationshipByIdSeekPipeTest.scala similarity index 90% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/DirectedDirectedRelationshipByIdSeekPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/DirectedDirectedRelationshipByIdSeekPipeTest.scala index 7b5b49b4b0d2a..e124aba531d09 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/DirectedDirectedRelationshipByIdSeekPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/DirectedDirectedRelationshipByIdSeekPipeTest.scala @@ -17,14 +17,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.mockito.Mockito -import org.neo4j.cypher.ValueComparisonHelper._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{ListLiteral, Literal} +import org.neo4j.cypher.internal.runtime.{Operations, QueryContext} +import org.neo4j.cypher.internal.runtime.interpreted.ValueComparisonHelper._ +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{ListLiteral, Literal} import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.spi.v3_4.{Operations, QueryContext} import org.neo4j.graphdb.{Node, Relationship} class DirectedDirectedRelationshipByIdSeekPipeTest extends CypherFunSuite { diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/DistinctPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/DistinctPipeTest.scala similarity index 91% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/DistinctPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/DistinctPipeTest.scala index e0c2c4eaedccd..ffe84dd455730 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/DistinctPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/DistinctPipeTest.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.ValueComparisonHelper._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Expression, Literal, Multiply, Variable} +import org.neo4j.cypher.internal.runtime.interpreted.ValueComparisonHelper._ +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{Expression, Literal, Multiply, Variable} import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values.stringArray diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/EagerAggregationPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/EagerAggregationPipeTest.scala similarity index 96% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/EagerAggregationPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/EagerAggregationPipeTest.scala index f02d5f164e924..8fe7146024879 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/EagerAggregationPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/EagerAggregationPipeTest.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values.TokenType.PropertyKey +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions._ +import org.neo4j.cypher.internal.runtime.interpreted.commands.values.TokenType.PropertyKey import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.AnyValue diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/EagerPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/EagerPipeTest.scala similarity index 90% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/EagerPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/EagerPipeTest.scala index 5ea4fbe1f79a8..0d083ae1b96d2 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/EagerPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/EagerPipeTest.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite class EagerPipeTest extends CypherFunSuite { diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ErrorPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ErrorPipeTest.scala similarity index 94% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ErrorPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ErrorPipeTest.scala index 1c826f613d7b2..49c12400c7552 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ErrorPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ErrorPipeTest.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ExpandAllPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ExpandAllPipeTest.scala similarity index 97% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ExpandAllPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ExpandAllPipeTest.scala index d35c21d5e5b25..b2f507c9584c3 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ExpandAllPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ExpandAllPipeTest.scala @@ -17,16 +17,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.mockito.ArgumentMatchers import org.mockito.ArgumentMatchers._ import org.mockito.Mockito._ import org.mockito.invocation.InvocationOnMock import org.mockito.stubbing.Answer -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.QueryContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.spi.v3_4.QueryContext import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.graphdb.{Node, Relationship} import org.neo4j.kernel.impl.util.ValueUtils diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ExpandIntoPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ExpandIntoPipeTest.scala similarity index 99% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ExpandIntoPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ExpandIntoPipeTest.scala index bf2ef7947c1e1..a6cbf6403d296 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ExpandIntoPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ExpandIntoPipeTest.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.mockito.ArgumentMatchers.{eq => mockEq, _} import org.mockito.Mockito._ diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/FakePipe.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/FakePipe.scala similarity index 91% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/FakePipe.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/FakePipe.scala index 6398ba8d18322..270c1d2b188c0 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/FakePipe.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/FakePipe.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.cypher.internal.util.v3_4.symbols.CypherType import org.neo4j.kernel.impl.util.ValueUtils diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/pipes/FullPruningVarLengthExpandPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/FullPruningVarLengthExpandPipeTest.scala similarity index 95% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/pipes/FullPruningVarLengthExpandPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/FullPruningVarLengthExpandPipeTest.scala index 5a1db213fd2be..2415a6aec7dce 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/pipes/FullPruningVarLengthExpandPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/FullPruningVarLengthExpandPipeTest.scala @@ -17,16 +17,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compiler.v3_4.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.neo4j.cypher.GraphDatabaseFunSuite -import org.neo4j.cypher.ValueComparisonHelper._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Literal, Property, Variable} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.{Equals, Predicate, True} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values.UnresolvedProperty -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes._ -import org.neo4j.cypher.internal.compiler.v3_4.QueryStateHelper.withQueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.QueryStateHelper.withQueryState +import org.neo4j.cypher.internal.runtime.interpreted.ValueComparisonHelper._ +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{Literal, Property, Variable} +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.{Equals, Predicate, True} +import org.neo4j.cypher.internal.runtime.interpreted.commands.values.UnresolvedProperty import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.graphdb.Node import org.neo4j.kernel.api.KernelTransaction.Type diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LazyGroupingIteratorTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LazyGroupingIteratorTest.scala similarity index 98% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LazyGroupingIteratorTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LazyGroupingIteratorTest.scala index a6d4446c9eb50..dc57a72b198a7 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LazyGroupingIteratorTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LazyGroupingIteratorTest.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.neo4j.collection.primitive.{PrimitiveLongIterable, PrimitiveLongSet} import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LazyIterator.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LazyIterator.scala similarity index 95% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LazyIterator.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LazyIterator.scala index 5eb6324335c2d..e76b253d6223c 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LazyIterator.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LazyIterator.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.neo4j.kernel.GraphDatabaseQueryService import org.scalatest.Assertions diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LazyPropertyKeyTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LazyPropertyKeyTest.scala similarity index 91% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LazyPropertyKeyTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LazyPropertyKeyTest.scala index 8dea30ea936b8..5d4d444d8075e 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LazyPropertyKeyTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LazyPropertyKeyTest.scala @@ -17,14 +17,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.mockito.Mockito._ -import org.neo4j.cypher.internal.util.v3_4.DummyPosition -import org.neo4j.cypher.internal.compiler.v3_4.spi.TokenContext +import org.neo4j.cypher.internal.util.v3_4.{DummyPosition, PropertyKeyId} import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.frontend.v3_4.PropertyKeyId import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable +import org.neo4j.cypher.internal.planner.v3_4.spi.TokenContext import org.neo4j.cypher.internal.v3_4.expressions.PropertyKeyName import scala.collection.mutable diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LazyTypesTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LazyTypesTest.scala similarity index 94% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LazyTypesTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LazyTypesTest.scala index 2ebe3888f19f3..91f7185b04e93 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LazyTypesTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LazyTypesTest.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.mockito.Mockito._ +import org.neo4j.cypher.internal.runtime.QueryContext import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.spi.v3_4.QueryContext class LazyTypesTest extends CypherFunSuite { diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LetSelectOrSemiApplyPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LetSelectOrSemiApplyPipeTest.scala similarity index 95% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LetSelectOrSemiApplyPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LetSelectOrSemiApplyPipeTest.scala index 20db48884d5ba..f7095e9494bb5 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LetSelectOrSemiApplyPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LetSelectOrSemiApplyPipeTest.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Literal, Variable} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.{Equals, Not, True} +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{Literal, Variable} +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.{Equals, Not, True} import org.neo4j.cypher.internal.util.v3_4.symbols.CTNumber import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values.{FALSE, TRUE, intValue} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LetSemiApplyPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LetSemiApplyPipeTest.scala similarity index 98% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LetSemiApplyPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LetSemiApplyPipeTest.scala index de45808979127..ff95db9ead48f 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LetSemiApplyPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LetSemiApplyPipeTest.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.neo4j.cypher.internal.util.v3_4.symbols.CTNumber import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LimitPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LimitPipeTest.scala similarity index 88% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LimitPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LimitPipeTest.scala index 1f9c55bd80c48..a8c79eee9961d 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/LimitPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/LimitPipeTest.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.mockito.Mockito._ import org.mockito.internal.stubbing.defaultanswers.ReturnsMocks -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Literal +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Literal import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeByIdSeekPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeByIdSeekPipeTest.scala similarity index 91% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeByIdSeekPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeByIdSeekPipeTest.scala index 610b9e4035abb..df1dbaaad9d2f 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeByIdSeekPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeByIdSeekPipeTest.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.mockito.Mockito -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{ListLiteral, Literal} +import org.neo4j.cypher.internal.runtime.{Operations, QueryContext} +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{ListLiteral, Literal} import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.spi.v3_4.{Operations, QueryContext} import org.neo4j.graphdb.Node import org.neo4j.kernel.impl.util.ValueUtils.fromNodeProxy diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeByLabelScanPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeByLabelScanPipeTest.scala similarity index 91% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeByLabelScanPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeByLabelScanPipeTest.scala index caee51746d30d..249cb23e37842 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeByLabelScanPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeByLabelScanPipeTest.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.frontend.v3_4.LabelId import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable -import org.neo4j.cypher.internal.spi.v3_4.QueryContext +import org.neo4j.cypher.internal.runtime.QueryContext +import org.neo4j.cypher.internal.util.v3_4.LabelId import org.neo4j.cypher.internal.v3_4.expressions.LabelName import org.neo4j.graphdb.Node import org.neo4j.kernel.impl.util.ValueUtils.fromNodeProxy diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeCountFromCountStorePipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeCountFromCountStorePipeTest.scala similarity index 87% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeCountFromCountStorePipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeCountFromCountStorePipeTest.scala index 8f03911a63118..724326d518d33 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeCountFromCountStorePipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeCountFromCountStorePipeTest.scala @@ -17,24 +17,24 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.mockito.Mockito._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.frontend.v3_4.ast.AstConstructionTestSupport import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable -import org.neo4j.cypher.internal.frontend.v3_4.{LabelId, NameId} -import org.neo4j.cypher.internal.spi.v3_4.QueryContext +import org.neo4j.cypher.internal.runtime.QueryContext +import org.neo4j.cypher.internal.runtime.interpreted.ImplicitDummyPos +import org.neo4j.cypher.internal.util.v3_4.{InputPosition, LabelId, NameId} import org.neo4j.cypher.internal.v3_4.expressions.LabelName import org.neo4j.values.storable.Values.longValue -class NodeCountFromCountStorePipeTest extends CypherFunSuite with AstConstructionTestSupport { +class NodeCountFromCountStorePipeTest extends CypherFunSuite with ImplicitDummyPos { test("should return a count for nodes with a label") { implicit val table = new SemanticTable() table.resolvedLabelNames.put("A", LabelId(12)) - val pipe = NodeCountFromCountStorePipe("count(n)", List(Some(LazyLabel(LabelName("A") _))))() + val pipe = NodeCountFromCountStorePipe("count(n)", List(Some(LazyLabel(LabelName("A")_))))() val queryState = QueryStateHelper.emptyWith( query = when(mock[QueryContext].nodeCountByCountStore(12)).thenReturn(42L).getMock[QueryContext] @@ -45,7 +45,7 @@ class NodeCountFromCountStorePipeTest extends CypherFunSuite with AstConstructio test("should return zero if label is missing") { implicit val table = new SemanticTable() - val pipe = NodeCountFromCountStorePipe("count(n)", List(Some(LazyLabel(LabelName("A") _))))() + val pipe = NodeCountFromCountStorePipe("count(n)", List(Some(LazyLabel(LabelName("A")_))))() val mockedContext: QueryContext = mock[QueryContext] when(mockedContext.nodeCountByCountStore(12)).thenReturn(42L) diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeHashJoinPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeHashJoinPipeTest.scala similarity index 96% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeHashJoinPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeHashJoinPipeTest.scala index fb093e00ca05f..f79e58c9994f8 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeHashJoinPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeHashJoinPipeTest.scala @@ -17,15 +17,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.mockito.ArgumentMatchers._ import org.mockito.invocation.InvocationOnMock import org.mockito.stubbing.Answer -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ImplicitValueConversion._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.symbols.SymbolTable -import org.neo4j.cypher.internal.compiler.v3_4.test_helpers.TestableIterator +import org.neo4j.cypher.internal.runtime.interpreted.{ExecutionContext, TestableIterator} +import org.neo4j.cypher.internal.runtime.ImplicitValueConversion._ +import org.neo4j.cypher.internal.runtime.interpreted.symbols.SymbolTable import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.graphdb.Node diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeIndexScanPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeIndexScanPipeTest.scala similarity index 80% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeIndexScanPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeIndexScanPipeTest.scala index 658a8e0c3a0bb..3bbd3d27d3ce8 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeIndexScanPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeIndexScanPipeTest.scala @@ -17,20 +17,20 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.mockito.ArgumentMatchers.any import org.mockito.Mockito._ -import org.neo4j.cypher.internal.compiler.v3_4.IndexDescriptor -import org.neo4j.cypher.internal.frontend.v3_4.ast.{LabelToken, PropertyKeyToken, _} +import org.neo4j.cypher.internal.planner.v3_4.spi.IndexDescriptor +import org.neo4j.cypher.internal.runtime.QueryContext +import org.neo4j.cypher.internal.runtime.interpreted.ImplicitDummyPos import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.frontend.v3_4.{LabelId, PropertyKeyId} -import org.neo4j.cypher.internal.spi.v3_4.QueryContext -import org.neo4j.cypher.internal.v3_4.expressions.{LabelName, PropertyKeyName} +import org.neo4j.cypher.internal.util.v3_4.{LabelId, PropertyKeyId} +import org.neo4j.cypher.internal.v3_4.expressions.{LabelName, LabelToken, PropertyKeyName, PropertyKeyToken} import org.neo4j.graphdb.Node import org.neo4j.kernel.impl.util.ValueUtils.fromNodeProxy -class NodeIndexScanPipeTest extends CypherFunSuite with AstConstructionTestSupport { +class NodeIndexScanPipeTest extends CypherFunSuite with ImplicitDummyPos { private val label = LabelToken(LabelName("LabelName")_, LabelId(11)) private val propertyKey = PropertyKeyToken(PropertyKeyName("PropertyName")_, PropertyKeyId(10)) diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeIndexSeekPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeIndexSeekPipeTest.scala similarity index 92% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeIndexSeekPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeIndexSeekPipeTest.scala index ea28924739227..48b06ed959df5 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeIndexSeekPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeIndexSeekPipeTest.scala @@ -17,26 +17,25 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.mockito.ArgumentMatchers import org.mockito.ArgumentMatchers.any import org.mockito.Mockito._ -import org.neo4j.cypher.internal.util.v3_4.CypherTypeException +import org.neo4j.cypher.internal.util.v3_4.{CypherTypeException, LabelId, PropertyKeyId} import org.neo4j.cypher.internal.util.v3_4.test_helpers.{CypherFunSuite, WindowsStringSafe} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{ListLiteral, Literal, Variable} -import org.neo4j.cypher.internal.compiler.v3_4._ +import org.neo4j.cypher.internal.runtime.interpreted.{ExecutionContext, ImplicitDummyPos} +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{ListLiteral, Literal, Variable} import org.neo4j.cypher.internal.frontend.v3_4.ast._ -import org.neo4j.cypher.internal.frontend.v3_4.{LabelId, PropertyKeyId} -import org.neo4j.cypher.internal.spi.v3_4.QueryContext +import org.neo4j.cypher.internal.planner.v3_4.spi.IndexDescriptor +import org.neo4j.cypher.internal.runtime.QueryContext import org.neo4j.cypher.internal.v3_4.logical.plans.{CompositeQueryExpression, ManyQueryExpression, SingleQueryExpression} -import org.neo4j.cypher.internal.v3_4.expressions.{LabelName, PropertyKeyName} +import org.neo4j.cypher.internal.v3_4.expressions.{LabelName, LabelToken, PropertyKeyName, PropertyKeyToken} import org.neo4j.graphdb.Node import org.neo4j.kernel.impl.util.ValueUtils.fromNodeProxy import org.neo4j.values.storable.Values.stringValue -class NodeIndexSeekPipeTest extends CypherFunSuite with AstConstructionTestSupport { +class NodeIndexSeekPipeTest extends CypherFunSuite with ImplicitDummyPos { implicit val windowsSafe = WindowsStringSafe diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeOuterHashJoinPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeOuterHashJoinPipeTest.scala similarity index 96% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeOuterHashJoinPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeOuterHashJoinPipeTest.scala index 2da216ab2058d..a5edbf77b76e0 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/NodeOuterHashJoinPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/NodeOuterHashJoinPipeTest.scala @@ -17,13 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.mockito.ArgumentMatchers._ import org.mockito.Mockito._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ImplicitValueConversion._ -import org.neo4j.cypher.internal.compiler.v3_4.test_helpers.TestableIterator +import org.neo4j.cypher.internal.runtime.interpreted.{ExecutionContext, TestableIterator} +import org.neo4j.cypher.internal.runtime.ImplicitValueConversion._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.graphdb.Node import org.neo4j.kernel.impl.util.ValueUtils.fromNodeProxy diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/OptionalExpandAllPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/OptionalExpandAllPipeTest.scala similarity index 94% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/OptionalExpandAllPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/OptionalExpandAllPipeTest.scala index 765c24ab74b17..1e4a63d38c37b 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/OptionalExpandAllPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/OptionalExpandAllPipeTest.scala @@ -17,17 +17,17 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.mockito.ArgumentMatchers._ import org.mockito.Mockito._ import org.mockito.invocation.InvocationOnMock import org.mockito.stubbing.Answer -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ImplicitValueConversion._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.{Not, Predicate, True} +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.ImplicitValueConversion._ +import org.neo4j.cypher.internal.runtime.QueryContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.{Not, Predicate, True} import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.spi.v3_4.QueryContext import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.graphdb.{Node, Relationship} import org.neo4j.kernel.impl.util.ValueUtils.{fromNodeProxy, fromRelationshipProxy} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/OptionalExpandIntoPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/OptionalExpandIntoPipeTest.scala similarity index 96% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/OptionalExpandIntoPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/OptionalExpandIntoPipeTest.scala index ad2c96deaf64a..db1dae4cb91d7 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/OptionalExpandIntoPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/OptionalExpandIntoPipeTest.scala @@ -17,17 +17,17 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.mockito.ArgumentMatchers._ import org.mockito.Mockito._ import org.mockito.invocation.InvocationOnMock import org.mockito.stubbing.Answer -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ImplicitValueConversion._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.{Not, Predicate, True} +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.ImplicitValueConversion._ +import org.neo4j.cypher.internal.runtime.QueryContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.{Not, Predicate, True} import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.spi.v3_4.QueryContext import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.graphdb.{Node, Relationship} import org.neo4j.kernel.impl.util.ValueUtils.{fromNodeProxy, fromRelationshipProxy} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/OptionalPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/OptionalPipeTest.scala similarity index 96% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/OptionalPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/OptionalPipeTest.scala index c46726e75dfcc..357bd2db5729e 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/OptionalPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/OptionalPipeTest.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.neo4j.cypher.internal.util.v3_4.symbols.CTNumber import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/PipeTestSupport.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/PipeTestSupport.scala similarity index 95% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/PipeTestSupport.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/PipeTestSupport.scala index 0991031ff868b..85507d64873e2 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/PipeTestSupport.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/PipeTestSupport.scala @@ -17,17 +17,17 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.mockito.ArgumentMatchers._ import org.mockito.Mockito._ import org.mockito.invocation.InvocationOnMock import org.mockito.stubbing.Answer -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.QueryContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.cypher.internal.util.v3_4.symbols.{CypherType, _} import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherTestSupport -import org.neo4j.cypher.internal.spi.v3_4.QueryContext import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.graphdb.{Node, Relationship} import org.neo4j.kernel.impl.util.ValueUtils diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ProcedureCallPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ProcedureCallPipeTest.scala similarity index 88% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ProcedureCallPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ProcedureCallPipeTest.scala index 099f7057d408e..db01235e7f4dd 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ProcedureCallPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ProcedureCallPipeTest.scala @@ -17,17 +17,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes - -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ImplicitValueConversion._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Variable -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.{EagerReadWriteCallMode, LazyReadOnlyCallMode} -import org.neo4j.cypher.internal.frontend.v3_4.ast.AstConstructionTestSupport -import org.neo4j.cypher.internal.frontend.v3_4.symbols +package org.neo4j.cypher.internal.runtime.interpreted.pipes + +import org.neo4j.cypher.internal.runtime.interpreted.{ExecutionContext, ImplicitDummyPos, QueryContextAdaptation} +import org.neo4j.cypher.internal.runtime.ImplicitValueConversion._ +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Variable +import org.neo4j.cypher.internal.runtime.{EagerReadWriteCallMode, LazyReadOnlyCallMode, QueryContext} import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.spi.v3_4.{QueryContext, QueryContextAdaptation} import org.neo4j.cypher.internal.v3_4.logical.plans._ import org.neo4j.values.AnyValue import org.neo4j.values.storable.{IntValue, LongValue} @@ -35,7 +32,7 @@ import org.neo4j.values.storable.{IntValue, LongValue} class ProcedureCallPipeTest extends CypherFunSuite with PipeTestSupport - with AstConstructionTestSupport { + with ImplicitDummyPos { val procedureName = QualifiedName(List.empty, "foo") val signature = ProcedureSignature(procedureName, IndexedSeq.empty, Some(IndexedSeq(FieldSignature("foo", CTAny))), None, ProcedureReadOnlyAccess(Array.empty)) diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ProduceResultsPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ProduceResultsPipeTest.scala similarity index 90% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ProduceResultsPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ProduceResultsPipeTest.scala index 5e08a610d38ee..caa6014c60148 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ProduceResultsPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ProduceResultsPipeTest.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.mockito.Mockito._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ImplicitValueConversion._ +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.ImplicitValueConversion._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values.{FALSE, TRUE, intValue, stringValue} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ProjectEndpointsPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ProjectEndpointsPipeTest.scala similarity index 97% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ProjectEndpointsPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ProjectEndpointsPipeTest.scala index 69e1b23ef5395..522bb367b6997 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ProjectEndpointsPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ProjectEndpointsPipeTest.scala @@ -17,17 +17,17 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.mockito.ArgumentMatchers._ import org.mockito.Mockito._ import org.mockito.invocation.InvocationOnMock import org.mockito.stubbing.Answer -import org.neo4j.cypher.ValueComparisonHelper.beEquivalentTo -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ImplicitValueConversion._ +import org.neo4j.cypher.internal.runtime.interpreted.ValueComparisonHelper.beEquivalentTo +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.ImplicitValueConversion._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.spi.v3_4.QueryContext +import org.neo4j.cypher.internal.runtime.QueryContext import org.neo4j.graphdb.{Node, Relationship} import org.neo4j.kernel.impl.util.ValueUtils.{asListOfEdges, fromNodeProxy} import org.neo4j.values.AnyValue diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/pipes/PruningVarLengthExpandPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/PruningVarLengthExpandPipeTest.scala similarity index 95% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/pipes/PruningVarLengthExpandPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/PruningVarLengthExpandPipeTest.scala index 22cb75157efb5..dbf9187e76e5c 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/pipes/PruningVarLengthExpandPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/PruningVarLengthExpandPipeTest.scala @@ -17,15 +17,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compiler.v3_4.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.neo4j.cypher.GraphDatabaseFunSuite -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Literal, Property, Variable} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.{Equals, Predicate, True} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values.UnresolvedProperty -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes._ -import org.neo4j.cypher.internal.compiler.v3_4.QueryStateHelper.withQueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.QueryStateHelper.withQueryState +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{Literal, Property, Variable} +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.{Equals, Predicate, True} +import org.neo4j.cypher.internal.runtime.interpreted.commands.values.UnresolvedProperty import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.graphdb.Node import org.neo4j.kernel.api.KernelTransaction.Type diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/QueryStateHelper.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/QueryStateHelper.scala similarity index 93% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/QueryStateHelper.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/QueryStateHelper.scala index 6595f60a6d261..a83965a08d8b2 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/QueryStateHelper.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/QueryStateHelper.scala @@ -17,13 +17,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.mockito.invocation.InvocationOnMock import org.mockito.stubbing.Answer import org.mockito.{ArgumentMatchers, Mockito} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.spi.v3_4.QueryContext +import org.neo4j.cypher.internal.runtime.QueryContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.graphdb.spatial.Point import org.neo4j.graphdb.{Node, Relationship} import org.neo4j.kernel.impl.util.BaseToObjectValueWriter diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/QueryStateTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/QueryStateTest.scala similarity index 94% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/QueryStateTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/QueryStateTest.scala index 898ca84f5658c..da8e6b7e1158c 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/QueryStateTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/QueryStateTest.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/RelationshipCountFromCountStorePipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/RelationshipCountFromCountStorePipeTest.scala similarity index 90% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/RelationshipCountFromCountStorePipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/RelationshipCountFromCountStorePipeTest.scala index caf0b105708e5..1e4abab4b6061 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/RelationshipCountFromCountStorePipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/RelationshipCountFromCountStorePipeTest.scala @@ -17,19 +17,19 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.mockito.Mockito._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.frontend.v3_4.NameId._ -import org.neo4j.cypher.internal.frontend.v3_4.ast.AstConstructionTestSupport +import org.neo4j.cypher.internal.util.v3_4.NameId._ import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable -import org.neo4j.cypher.internal.frontend.v3_4.{LabelId, RelTypeId} -import org.neo4j.cypher.internal.spi.v3_4.QueryContext +import org.neo4j.cypher.internal.runtime.QueryContext +import org.neo4j.cypher.internal.runtime.interpreted.ImplicitDummyPos +import org.neo4j.cypher.internal.util.v3_4.{LabelId, RelTypeId} import org.neo4j.cypher.internal.v3_4.expressions.{LabelName, RelTypeName} import org.neo4j.values.storable.Values.longValue -class RelationshipCountFromCountStorePipeTest extends CypherFunSuite with AstConstructionTestSupport { +class RelationshipCountFromCountStorePipeTest extends CypherFunSuite with ImplicitDummyPos { test("should return a count for relationships without a type or any labels") { val pipe = RelationshipCountFromCountStorePipe("count(r)", None, LazyTypes.empty, None)() diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/RollUpApplyPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/RollUpApplyPipeTest.scala similarity index 94% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/RollUpApplyPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/RollUpApplyPipeTest.scala index 16329d599103d..e3d4e1e3c23ce 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/RollUpApplyPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/RollUpApplyPipeTest.scala @@ -17,14 +17,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.mockito.ArgumentMatchers._ import org.mockito.Mockito._ import org.mockito.invocation.InvocationOnMock import org.mockito.stubbing.Answer -import org.neo4j.cypher.ValueComparisonHelper.beEquivalentTo -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ValueComparisonHelper.beEquivalentTo +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/SelectOrSemiApplyPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SelectOrSemiApplyPipeTest.scala similarity index 93% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/SelectOrSemiApplyPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SelectOrSemiApplyPipeTest.scala index 159b2506d53d9..cffad045a611e 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/SelectOrSemiApplyPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SelectOrSemiApplyPipeTest.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.ValueComparisonHelper.beEquivalentTo -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Literal, Variable} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.{Equals, Not, True} +import org.neo4j.cypher.internal.runtime.interpreted.ValueComparisonHelper.beEquivalentTo +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{Literal, Variable} +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.{Equals, Not, True} import org.neo4j.cypher.internal.util.v3_4.symbols.CTNumber import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values.intValue diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/SemiApplyPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SemiApplyPipeTest.scala similarity index 96% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/SemiApplyPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SemiApplyPipeTest.scala index cefc7de1b752d..f3b0daf08d044 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/SemiApplyPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SemiApplyPipeTest.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.ValueComparisonHelper.beEquivalentTo +import org.neo4j.cypher.internal.runtime.interpreted.ValueComparisonHelper.beEquivalentTo import org.neo4j.cypher.internal.util.v3_4.symbols.CTNumber import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values.intValue diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/SetPropertyPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SetPropertyPipeTest.scala similarity index 96% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/SetPropertyPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SetPropertyPipeTest.scala index ee8c6c116e3d8..aebb9b94423bb 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/SetPropertyPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SetPropertyPipeTest.scala @@ -17,17 +17,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.mockito.ArgumentMatchers.{anyInt, anyLong} import org.mockito.Mockito._ -import org.neo4j.cypher.internal.util.v3_4.InputPosition -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values.{KeyToken, TokenType} +import org.neo4j.cypher.internal.util.v3_4.{InputPosition, PropertyKeyId} +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions._ +import org.neo4j.cypher.internal.runtime.interpreted.commands.values.{KeyToken, TokenType} import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.frontend.v3_4.PropertyKeyId import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable -import org.neo4j.cypher.internal.spi.v3_4.{Operations, QueryContext} +import org.neo4j.cypher.internal.runtime.{Operations, QueryContext} import org.neo4j.cypher.internal.v3_4.expressions.PropertyKeyName import org.neo4j.graphdb.{Node, Relationship} import org.neo4j.values.storable.Values diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/SingleShortestPathPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SingleShortestPathPipeTest.scala similarity index 88% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/SingleShortestPathPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SingleShortestPathPipeTest.scala index eea3bfab7535d..49d6326fa01ed 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/SingleShortestPathPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SingleShortestPathPipeTest.scala @@ -17,12 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compiler.v3_4 +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.neo4j.cypher.GraphDatabaseFunSuite -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.{ShortestPath, SingleNode} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{FakePipe, ShortestPathPipe} -import org.neo4j.cypher.internal.compiler.v3_4.QueryStateHelper.withQueryState +import org.neo4j.cypher.internal.runtime.interpreted.QueryStateHelper.withQueryState +import org.neo4j.cypher.internal.runtime.interpreted.commands.{ShortestPath, SingleNode} import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.graphdb.Node diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/SkipPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SkipPipeTest.scala similarity index 86% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/SkipPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SkipPipeTest.scala index 3d9e97d5f831c..cab8e0123836e 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/SkipPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SkipPipeTest.scala @@ -17,12 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.mockito.Mockito.{never, verify, when} import org.mockito.internal.stubbing.defaultanswers.ReturnsMocks -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Literal +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Literal import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite class SkipPipeTest extends CypherFunSuite { diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/SortPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SortPipeTest.scala similarity index 96% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/SortPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SortPipeTest.scala index e0d8dc09a15ba..bcb30edcab940 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/SortPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/SortPipeTest.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.junit.Assert._ -import org.neo4j.cypher.ValueComparisonHelper._ +import org.neo4j.cypher.internal.runtime.interpreted.ValueComparisonHelper._ import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/Top1WithTiesPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/Top1WithTiesPipeTest.scala similarity index 96% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/Top1WithTiesPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/Top1WithTiesPipeTest.scala index 10e643881c61d..3ed20374e151b 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/Top1WithTiesPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/Top1WithTiesPipeTest.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.ValueComparisonHelper.beEquivalentTo +import org.neo4j.cypher.internal.runtime.interpreted.ValueComparisonHelper.beEquivalentTo import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/TopPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/TopPipeTest.scala similarity index 98% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/TopPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/TopPipeTest.scala index b3bdb5533f8c2..31100e12ff6b6 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/TopPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/TopPipeTest.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Literal +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Literal import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.kernel.impl.util.ValueUtils diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/TriadicSelectionPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/TriadicSelectionPipeTest.scala similarity index 98% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/TriadicSelectionPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/TriadicSelectionPipeTest.scala index 0a13f6406b27a..c74ad8f75d22c 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/TriadicSelectionPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/TriadicSelectionPipeTest.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.neo4j.collection.primitive.PrimitiveLongIterable -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.kernel.impl.core.NodeProxy diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/UndirectedDirectedRelationshipByIdSeekPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/UndirectedDirectedRelationshipByIdSeekPipeTest.scala similarity index 91% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/UndirectedDirectedRelationshipByIdSeekPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/UndirectedDirectedRelationshipByIdSeekPipeTest.scala index 89767738fb595..7968dfd790e16 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/UndirectedDirectedRelationshipByIdSeekPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/UndirectedDirectedRelationshipByIdSeekPipeTest.scala @@ -17,14 +17,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.mockito.Mockito -import org.neo4j.cypher.ValueComparisonHelper.beEquivalentTo -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{ListLiteral, Literal} +import org.neo4j.cypher.internal.runtime.{Operations, QueryContext} +import org.neo4j.cypher.internal.runtime.interpreted.ValueComparisonHelper.beEquivalentTo +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{ListLiteral, Literal} import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.spi.v3_4.{Operations, QueryContext} import org.neo4j.graphdb.{Node, Relationship} import org.neo4j.kernel.impl.util.ValueUtils.{fromNodeProxy, fromRelationshipProxy} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/UnionIteratorTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/UnionIteratorTest.scala similarity index 96% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/UnionIteratorTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/UnionIteratorTest.scala index 869aa7024add1..465c515df7c38 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/UnionIteratorTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/UnionIteratorTest.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values.intValue diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/UnwindPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/UnwindPipeTest.scala similarity index 93% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/UnwindPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/UnwindPipeTest.scala index 9511565678feb..83a5c62d7d772 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/UnwindPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/UnwindPipeTest.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Variable +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Variable import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values.intValue diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ValueHashJoinPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ValueHashJoinPipeTest.scala similarity index 92% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ValueHashJoinPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ValueHashJoinPipeTest.scala index 04c6778976499..738a392697461 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/ValueHashJoinPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/ValueHashJoinPipeTest.scala @@ -17,15 +17,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.mockito.ArgumentMatchers._ -import org.neo4j.cypher.ValueComparisonHelper.beEquivalentTo -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ImplicitValueConversion._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Variable -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.symbols.SymbolTable -import org.neo4j.cypher.internal.compiler.v3_4.test_helpers.TestableIterator +import org.neo4j.cypher.internal.runtime.interpreted.ValueComparisonHelper.beEquivalentTo +import org.neo4j.cypher.internal.runtime.interpreted.{ExecutionContext, TestableIterator} +import org.neo4j.cypher.internal.runtime.ImplicitValueConversion._ +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Variable +import org.neo4j.cypher.internal.runtime.interpreted.symbols.SymbolTable import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.AnyValue diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/VarLengthExpandPipeTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/VarLengthExpandPipeTest.scala similarity index 99% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/VarLengthExpandPipeTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/VarLengthExpandPipeTest.scala index 6a8501725a109..baa42acf2c689 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/VarLengthExpandPipeTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/VarLengthExpandPipeTest.scala @@ -17,19 +17,19 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes +package org.neo4j.cypher.internal.runtime.interpreted.pipes import org.mockito.ArgumentMatchers._ import org.mockito.Mockito._ import org.mockito.invocation.InvocationOnMock import org.mockito.stubbing.Answer -import org.neo4j.cypher.ValueComparisonHelper._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ImplicitValueConversion._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.symbols.SymbolTable +import org.neo4j.cypher.internal.runtime.interpreted.ValueComparisonHelper._ +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.ImplicitValueConversion._ +import org.neo4j.cypher.internal.runtime.interpreted.symbols.SymbolTable import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.spi.v3_4.QueryContext +import org.neo4j.cypher.internal.runtime.QueryContext import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.graphdb.{Node, Relationship} import org.neo4j.values.AnyValue diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/AggregateTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/AggregateTest.scala similarity index 77% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/AggregateTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/AggregateTest.scala index ee099442eaae2..25424d94de1f9 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/AggregateTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/AggregateTest.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation +package org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Expression, Variable} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryStateHelper +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{Expression, Variable} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.values.AnyValue trait AggregateTest { diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/AvgFunctionTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/AvgFunctionTest.scala similarity index 93% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/AvgFunctionTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/AvgFunctionTest.scala index 92a39a7a83374..59411e6751626 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/AvgFunctionTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/AvgFunctionTest.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation +package org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values.{NO_VALUE, doubleValue, intValue, longValue} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/CollectFunctionTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/CollectFunctionTest.scala similarity index 89% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/CollectFunctionTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/CollectFunctionTest.scala index c27decd1a3cd2..03388d6e56ed3 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/CollectFunctionTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/CollectFunctionTest.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation +package org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values.{NO_VALUE, intValue} import org.neo4j.values.virtual.VirtualValues.{EMPTY_LIST, list} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/CountTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/CountTest.scala similarity index 88% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/CountTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/CountTest.scala index f70eb87e79cc5..7edc09132f547 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/CountTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/CountTest.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation +package org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.LongValue import org.neo4j.values.storable.Values.{NO_VALUE, intValue, stringValue} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/MaxFunctionTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/MaxFunctionTest.scala similarity index 93% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/MaxFunctionTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/MaxFunctionTest.scala index 75b351581fa52..fc6f4112b44e3 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/MaxFunctionTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/MaxFunctionTest.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation +package org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values.{doubleValue, intValue, stringValue} import org.neo4j.values.storable.{DoubleValue, IntValue, Values} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/MinFunctionTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/MinFunctionTest.scala similarity index 93% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/MinFunctionTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/MinFunctionTest.scala index 6e3cfb1c1ea92..beed0a6ba1e23 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/MinFunctionTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/MinFunctionTest.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation +package org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values.{doubleValue, intValue, stringValue} import org.neo4j.values.storable.{IntValue, Values} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/PercentileFunctionsTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/PercentileFunctionsTest.scala similarity index 96% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/PercentileFunctionsTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/PercentileFunctionsTest.scala index 4372818972f14..5ef609bedd4e3 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/PercentileFunctionsTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/PercentileFunctionsTest.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation +package org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Expression, Literal, NumericHelper, Variable} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryStateHelper +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{Expression, Literal, NumericHelper, Variable} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.kernel.impl.util.ValueUtils import org.neo4j.values.AnyValue diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/StdevFunctionTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/StdevFunctionTest.scala similarity index 90% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/StdevFunctionTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/StdevFunctionTest.scala index 10c4357f9ae7f..05773fb508da4 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/StdevFunctionTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/StdevFunctionTest.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation +package org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Expression, NumericHelper, Variable} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryStateHelper +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{Expression, NumericHelper, Variable} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.kernel.impl.util.ValueUtils import org.neo4j.values.storable.DoubleValue diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/SumFunctionTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/SumFunctionTest.scala similarity index 94% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/SumFunctionTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/SumFunctionTest.scala index 6c7263047cdae..c4fc3508a8ad0 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/aggregation/SumFunctionTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/aggregation/SumFunctionTest.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation +package org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation import org.neo4j.cypher.internal.util.v3_4.CypherTypeException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values._ import org.neo4j.values.storable.{DoubleValue, LongValue, Values} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/HistoryTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/HistoryTest.scala similarity index 93% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/HistoryTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/HistoryTest.scala index 3d74aa4cb4de3..e028cb16b2d31 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/HistoryTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/HistoryTest.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.matching +package org.neo4j.cypher.internal.runtime.interpreted.pipes.matching -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.graphdb.{Relationship, RelationshipType} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/PatternRelationshipTest.scala b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/PatternRelationshipTest.scala similarity index 92% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/PatternRelationshipTest.scala rename to community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/PatternRelationshipTest.scala index 11bab2f60fa1e..df04e82f24a39 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/pipes/matching/PatternRelationshipTest.scala +++ b/community/cypher/interpreted-runtime/src/test/scala/org/neo4j/cypher/internal/runtime/interpreted/pipes/matching/PatternRelationshipTest.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.matching +package org.neo4j.cypher.internal.runtime.interpreted.pipes.matching -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Literal +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Literal import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection diff --git a/community/cypher/ir-3.4/src/main/scala/org/neo4j/cypher/internal/ir/v3_4/PlannerQuery.scala b/community/cypher/ir-3.4/src/main/scala/org/neo4j/cypher/internal/ir/v3_4/PlannerQuery.scala index 1531f604589fa..7e48c7fe28ea6 100644 --- a/community/cypher/ir-3.4/src/main/scala/org/neo4j/cypher/internal/ir/v3_4/PlannerQuery.scala +++ b/community/cypher/ir-3.4/src/main/scala/org/neo4j/cypher/internal/ir/v3_4/PlannerQuery.scala @@ -19,7 +19,7 @@ */ package org.neo4j.cypher.internal.ir.v3_4 -import org.neo4j.cypher.internal.util.v3_4.InternalException +import org.neo4j.cypher.internal.util.v3_4.{Cardinality, InternalException} import org.neo4j.cypher.internal.frontend.v3_4.ast.Hint import org.neo4j.cypher.internal.v3_4.expressions.{LabelName, Variable} diff --git a/community/cypher/ir-3.4/src/main/scala/org/neo4j/cypher/internal/ir/v3_4/helpers/ExpressionConverters.scala b/community/cypher/ir-3.4/src/main/scala/org/neo4j/cypher/internal/ir/v3_4/helpers/ExpressionConverters.scala index 5608bdde23aba..a810d77e4aaeb 100644 --- a/community/cypher/ir-3.4/src/main/scala/org/neo4j/cypher/internal/ir/v3_4/helpers/ExpressionConverters.scala +++ b/community/cypher/ir-3.4/src/main/scala/org/neo4j/cypher/internal/ir/v3_4/helpers/ExpressionConverters.scala @@ -22,7 +22,7 @@ package org.neo4j.cypher.internal.ir.v3_4.helpers import org.neo4j.cypher.internal.util.v3_4.{Rewriter, topDown} import org.neo4j.cypher.internal.frontend.v3_4.ast.rewriters.{LabelPredicateNormalizer, MatchPredicateNormalizerChain, PropertyPredicateNormalizer, addUniquenessPredicates} import org.neo4j.cypher.internal.v3_4.expressions.{Ands, Expression, HasLabels, Not, Ors, PatternComprehension, PatternExpression, RelationshipChain, Variable} -import org.neo4j.cypher.internal.frontend.v3_4.helpers.UnNamedNameGenerator._ +import org.neo4j.cypher.internal.util.v3_4.UnNamedNameGenerator._ import org.neo4j.cypher.internal.ir.v3_4._ import org.neo4j.cypher.internal.ir.v3_4.helpers.PatternConverters._ import org.neo4j.cypher.internal.ir.v3_4.QueryGraph diff --git a/community/cypher/ir-3.4/src/main/scala/org/neo4j/cypher/internal/ir/v3_4/helpers/PatternConverters.scala b/community/cypher/ir-3.4/src/main/scala/org/neo4j/cypher/internal/ir/v3_4/helpers/PatternConverters.scala index 4767e61779267..f54edd430ecd0 100644 --- a/community/cypher/ir-3.4/src/main/scala/org/neo4j/cypher/internal/ir/v3_4/helpers/PatternConverters.scala +++ b/community/cypher/ir-3.4/src/main/scala/org/neo4j/cypher/internal/ir/v3_4/helpers/PatternConverters.scala @@ -19,8 +19,7 @@ */ package org.neo4j.cypher.internal.ir.v3_4.helpers -import org.neo4j.cypher.internal.util.v3_4.InternalException -import org.neo4j.cypher.internal.frontend.v3_4.helpers.FreshIdNameGenerator +import org.neo4j.cypher.internal.util.v3_4.{FreshIdNameGenerator, InternalException} import org.neo4j.cypher.internal.ir.v3_4.helpers.ExpressionConverters._ import org.neo4j.cypher.internal.ir.v3_4.{IdName, PatternRelationship, ShortestPathPattern} import org.neo4j.cypher.internal.v3_4.expressions._ diff --git a/community/cypher/ir-3.4/src/test/scala/org/neo4j/cypher/internal/ir/v3_4/SelectivityTest.scala b/community/cypher/ir-3.4/src/test/scala/org/neo4j/cypher/internal/ir/v3_4/SelectivityTest.scala index 8125815d083f3..fda12063abf7b 100644 --- a/community/cypher/ir-3.4/src/test/scala/org/neo4j/cypher/internal/ir/v3_4/SelectivityTest.scala +++ b/community/cypher/ir-3.4/src/test/scala/org/neo4j/cypher/internal/ir/v3_4/SelectivityTest.scala @@ -19,6 +19,7 @@ */ package org.neo4j.cypher.internal.ir.v3_4 +import org.neo4j.cypher.internal.util.v3_4.{Cardinality, Selectivity} import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite class SelectivityTest extends CypherFunSuite { diff --git a/community/cypher/planner-spi-3.4/.gitignore b/community/cypher/planner-spi-3.4/.gitignore new file mode 100644 index 0000000000000..a93ff4661d930 --- /dev/null +++ b/community/cypher/planner-spi-3.4/.gitignore @@ -0,0 +1,5 @@ +*.iml +*.ipr +*.iws +target +.DS_Store diff --git a/community/cypher/planner-spi-3.4/LICENSE.txt b/community/cypher/planner-spi-3.4/LICENSE.txt new file mode 100644 index 0000000000000..8057bca2f9d3d --- /dev/null +++ b/community/cypher/planner-spi-3.4/LICENSE.txt @@ -0,0 +1,695 @@ +NOTICE +This package contains software licensed under different +licenses, please refer to the NOTICE.txt file for further +information and LICENSES.txt for full license texts. + +The software ("Software") developed and owned by Network Engine for +Objects in Lund AB (referred to in this notice as "Neo Technology") is +licensed under the GNU GENERAL PUBLIC LICENSE Version 3 to all third +parties and that license is included below. + +However, if you have executed an End User Software License and Services +Agreement or an OEM Software License and Support Services Agreement, or +another commercial license agreement with Neo Technology or one of its +affiliates (each, a "Commercial Agreement"), the terms of the license in +such Commercial Agreement will supersede the GNU GENERAL PUBLIC LICENSE +Version 3 and you may use the Software solely pursuant to the terms of +the relevant Commercial Agreement. + + + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + diff --git a/community/cypher/planner-spi-3.4/LICENSES.txt b/community/cypher/planner-spi-3.4/LICENSES.txt new file mode 100644 index 0000000000000..0ee24e11c3cc1 --- /dev/null +++ b/community/cypher/planner-spi-3.4/LICENSES.txt @@ -0,0 +1,322 @@ +This file contains the full license text of the included third party +libraries. For an overview of the licenses see the NOTICE.txt file. + +------------------------------------------------------------------------------ +Apache Software License, Version 2.0 + Apache Commons Lang + Lucene Core + Lucene Memory + Netty/All-in-One + parboiled-core + parboiled-scala +------------------------------------------------------------------------------ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. + + +------------------------------------------------------------------------------ +BSD - Scala License + Scala Library +------------------------------------------------------------------------------ + +SCALA LICENSE + +Copyright (c) 2002-2012 EPFL, Lausanne, unless otherwise specified. +All rights reserved. + +This software was developed by the Programming Methods Laboratory of the +Swiss Federal Institute of Technology (EPFL), Lausanne, Switzerland. + +Permission to use, copy, modify, and distribute this software in source +or binary form for any purpose with or without fee is hereby granted, +provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the EPFL nor the names of its contributors + may be used to endorse or promote products derived from this + software without specific prior written permission. + + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + + +------------------------------------------------------------------------------ +BSD License + Scala Compiler +------------------------------------------------------------------------------ + +Copyright (c) , +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------------------ +Bouncy Castle License + Bouncy Castle PKIX, CMS, EAC, TSP, PKCS, OCSP, CMP, and CRMF APIs + Bouncy Castle Provider +------------------------------------------------------------------------------ + +Please note: our license is an adaptation of the MIT X11 License and should be +read as such. + +LICENSE + +Copyright (c) 2000 - 2011 The Legion Of The Bouncy Castle +(http://www.bouncycastle.org) + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + diff --git a/community/cypher/planner-spi-3.4/NOTICE.txt b/community/cypher/planner-spi-3.4/NOTICE.txt new file mode 100644 index 0000000000000..49d2002309ff1 --- /dev/null +++ b/community/cypher/planner-spi-3.4/NOTICE.txt @@ -0,0 +1,45 @@ +Neo4j +Copyright © 2002-2017 Network Engine for Objects in Lund AB (referred to +in this notice as "Neo Technology") + [http://neotechnology.com] + +This product includes software ("Software") developed by Neo Technology. + +The copyright in the bundled Neo4j graph database (including the +Software) is owned by Neo Technology. The Software developed and owned +by Neo Technology is licensed under the GNU GENERAL PUBLIC LICENSE +Version 3 (http://www.fsf.org/licensing/licenses/gpl-3.0.html) ("GPL") +to all third parties and that license, as required by the GPL, is +included in the LICENSE.txt file. + +However, if you have executed an End User Software License and Services +Agreement or an OEM Software License and Support Services Agreement, or +another commercial license agreement with Neo Technology or one of its +affiliates (each, a "Commercial Agreement"), the terms of the license in +such Commercial Agreement will supersede the GPL and you may use the +software solely pursuant to the terms of the relevant Commercial +Agreement. + +Full license texts are found in LICENSES.txt. + +Third-party licenses +-------------------- + +Apache Software License, Version 2.0 + Apache Commons Lang + Lucene Core + Lucene Memory + Netty/All-in-One + parboiled-core + parboiled-scala + +BSD - Scala License + Scala Library + +BSD License + Scala Compiler + +Bouncy Castle License + Bouncy Castle PKIX, CMS, EAC, TSP, PKCS, OCSP, CMP, and CRMF APIs + Bouncy Castle Provider + diff --git a/community/cypher/planner-spi-3.4/pom.xml b/community/cypher/planner-spi-3.4/pom.xml new file mode 100644 index 0000000000000..25e1cb464ab9c --- /dev/null +++ b/community/cypher/planner-spi-3.4/pom.xml @@ -0,0 +1,122 @@ + + + + org.neo4j + cypher-parent + 3.4.0-SNAPSHOT + ../ + + + 4.0.0 + neo4j-cypher-planner-spi-3.4 + jar + 3.4.0-SNAPSHOT + Neo4j - Cypher Planner SPI 3.4 + + Cypher planner SPI + http://components.neo4j.org/${project.artifactId}/${project.version} + + + scm:git:git://github.com/neo4j/neo4j.git + scm:git:git@github.com:neo4j/neo4j.git + https://github.com/neo4j/neo4j + + + + + GNU General Public License, Version 3 + http://www.gnu.org/licenses/gpl-3.0-standalone.html + The software ("Software") developed and owned by Network Engine for + Objects in Lund AB (referred to in this notice as "Neo Technology") is + licensed under the GNU GENERAL PUBLIC LICENSE Version 3 to all third + parties and that license is included below. + + However, if you have executed an End User Software License and Services + Agreement or an OEM Software License and Support Services Agreement, or + another commercial license agreement with Neo Technology or one of its + affiliates (each, a "Commercial Agreement"), the terms of the license in + such Commercial Agreement will supersede the GNU GENERAL PUBLIC LICENSE + Version 3 and you may use the Software solely pursuant to the terms of + the relevant Commercial Agreement. + + + + + + + + org.scalastyle + scalastyle-maven-plugin + + + + + + + + + + + + org.neo4j + neo4j-cypher-util-3.4 + ${project.version} + + + + org.neo4j + neo4j-cypher-logical-plans-3.4 + ${project.version} + + + + org.neo4j + neo4j-kernel + ${project.version} + + + + + + org.scala-lang + scala-library + + + + scala-reflect + org.scala-lang + + + + + + org.scalatest + scalatest_2.11 + test + + + scala-library + org.scala-lang + + + + + org.scalacheck + scalacheck_2.11 + test + + + + + + org.parboiled + parboiled-scala_2.11 + + + + org.apache.commons + commons-lang3 + + + + diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/spi/GraphStatistics.scala b/community/cypher/planner-spi-3.4/src/main/scala/org/neo4j/cypher/internal/planner/v3_4/spi/GraphStatistics.scala similarity index 93% rename from community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/spi/GraphStatistics.scala rename to community/cypher/planner-spi-3.4/src/main/scala/org/neo4j/cypher/internal/planner/v3_4/spi/GraphStatistics.scala index f24bb003d6960..a756247ddfea4 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/spi/GraphStatistics.scala +++ b/community/cypher/planner-spi-3.4/src/main/scala/org/neo4j/cypher/internal/planner/v3_4/spi/GraphStatistics.scala @@ -17,11 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compiler.v3_4.spi +package org.neo4j.cypher.internal.planner.v3_4.spi -import org.neo4j.cypher.internal.compiler.v3_4.IndexDescriptor -import org.neo4j.cypher.internal.frontend.v3_4.{LabelId, RelTypeId} -import org.neo4j.cypher.internal.ir.v3_4.{Cardinality, Selectivity} +import org.neo4j.cypher.internal.util.v3_4.{Cardinality, LabelId, RelTypeId, Selectivity} object GraphStatistics { val DEFAULT_RANGE_SELECTIVITY = Selectivity.of(0.3).get diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/IdempotentResult.scala b/community/cypher/planner-spi-3.4/src/main/scala/org/neo4j/cypher/internal/planner/v3_4/spi/IdempotentResult.scala similarity index 94% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/IdempotentResult.scala rename to community/cypher/planner-spi-3.4/src/main/scala/org/neo4j/cypher/internal/planner/v3_4/spi/IdempotentResult.scala index aef2a8d3e8c84..3c733aa89345d 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/IdempotentResult.scala +++ b/community/cypher/planner-spi-3.4/src/main/scala/org/neo4j/cypher/internal/planner/v3_4/spi/IdempotentResult.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.spi.v3_4 +package org.neo4j.cypher.internal.planner.v3_4.spi final case class IdempotentResult[T](value: T, wasCreated: Boolean = true) { def ifCreated[R](f: => R): Option[R] = if (wasCreated) Some(f) else None diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/IndexDescriptor.scala b/community/cypher/planner-spi-3.4/src/main/scala/org/neo4j/cypher/internal/planner/v3_4/spi/IndexDescriptor.scala similarity index 93% rename from community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/IndexDescriptor.scala rename to community/cypher/planner-spi-3.4/src/main/scala/org/neo4j/cypher/internal/planner/v3_4/spi/IndexDescriptor.scala index 6b7f1f6b6c03d..b64d9319d3907 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/IndexDescriptor.scala +++ b/community/cypher/planner-spi-3.4/src/main/scala/org/neo4j/cypher/internal/planner/v3_4/spi/IndexDescriptor.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compiler.v3_4 +package org.neo4j.cypher.internal.planner.v3_4.spi -import org.neo4j.cypher.internal.frontend.v3_4.{LabelId, PropertyKeyId} +import org.neo4j.cypher.internal.util.v3_4.{LabelId, PropertyKeyId} object IndexDescriptor { def apply(label: Int, property: Int): IndexDescriptor = IndexDescriptor(LabelId(label), Seq(PropertyKeyId(property))) diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/spi/InstrumentedGraphStatistics.scala b/community/cypher/planner-spi-3.4/src/main/scala/org/neo4j/cypher/internal/planner/v3_4/spi/InstrumentedGraphStatistics.scala similarity index 94% rename from community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/spi/InstrumentedGraphStatistics.scala rename to community/cypher/planner-spi-3.4/src/main/scala/org/neo4j/cypher/internal/planner/v3_4/spi/InstrumentedGraphStatistics.scala index bc8c33705fd3c..cd204fa406837 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/spi/InstrumentedGraphStatistics.scala +++ b/community/cypher/planner-spi-3.4/src/main/scala/org/neo4j/cypher/internal/planner/v3_4/spi/InstrumentedGraphStatistics.scala @@ -17,13 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compiler.v3_4.spi +package org.neo4j.cypher.internal.planner.v3_4.spi import java.lang.Math.{abs, max} -import org.neo4j.cypher.internal.compiler.v3_4.IndexDescriptor -import org.neo4j.cypher.internal.frontend.v3_4.{LabelId, RelTypeId} -import org.neo4j.cypher.internal.ir.v3_4.{Cardinality, Selectivity} +import org.neo4j.cypher.internal.util.v3_4.{Cardinality, LabelId, RelTypeId, Selectivity} import scala.collection.mutable diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/spi/KernelStatisticProvider.scala b/community/cypher/planner-spi-3.4/src/main/scala/org/neo4j/cypher/internal/planner/v3_4/spi/KernelStatisticProvider.scala similarity index 96% rename from community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/spi/KernelStatisticProvider.scala rename to community/cypher/planner-spi-3.4/src/main/scala/org/neo4j/cypher/internal/planner/v3_4/spi/KernelStatisticProvider.scala index 5addabea56381..0a90e09bc123d 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/spi/KernelStatisticProvider.scala +++ b/community/cypher/planner-spi-3.4/src/main/scala/org/neo4j/cypher/internal/planner/v3_4/spi/KernelStatisticProvider.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compiler.v3_4.spi +package org.neo4j.cypher.internal.planner.v3_4.spi /** * Expose various query execution kernel statistics diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/spi/PlanContext.scala b/community/cypher/planner-spi-3.4/src/main/scala/org/neo4j/cypher/internal/planner/v3_4/spi/PlanContext.scala similarity index 95% rename from community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/spi/PlanContext.scala rename to community/cypher/planner-spi-3.4/src/main/scala/org/neo4j/cypher/internal/planner/v3_4/spi/PlanContext.scala index a7efc3c6751f2..03d1a16ff324f 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/spi/PlanContext.scala +++ b/community/cypher/planner-spi-3.4/src/main/scala/org/neo4j/cypher/internal/planner/v3_4/spi/PlanContext.scala @@ -17,9 +17,8 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compiler.v3_4.spi +package org.neo4j.cypher.internal.planner.v3_4.spi -import org.neo4j.cypher.internal.compiler.v3_4.IndexDescriptor import org.neo4j.cypher.internal.frontend.v3_4.phases.InternalNotificationLogger import org.neo4j.cypher.internal.v3_4.logical.plans.{ProcedureSignature, QualifiedName, UserFunctionSignature} diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/PlannerName.scala b/community/cypher/planner-spi-3.4/src/main/scala/org/neo4j/cypher/internal/planner/v3_4/spi/PlannerName.scala similarity index 97% rename from community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/PlannerName.scala rename to community/cypher/planner-spi-3.4/src/main/scala/org/neo4j/cypher/internal/planner/v3_4/spi/PlannerName.scala index 49970002c4c1b..e7e9c7be8928b 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/PlannerName.scala +++ b/community/cypher/planner-spi-3.4/src/main/scala/org/neo4j/cypher/internal/planner/v3_4/spi/PlannerName.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compiler.v3_4 +package org.neo4j.cypher.internal.planner.v3_4.spi import org.neo4j.cypher.internal.frontend.v3_4.PlannerName diff --git a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/spi/TokenContext.scala b/community/cypher/planner-spi-3.4/src/main/scala/org/neo4j/cypher/internal/planner/v3_4/spi/TokenContext.scala similarity index 95% rename from community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/spi/TokenContext.scala rename to community/cypher/planner-spi-3.4/src/main/scala/org/neo4j/cypher/internal/planner/v3_4/spi/TokenContext.scala index 42dba3be00a88..bfbbe79901337 100644 --- a/community/cypher/cypher-compiler-3.4/src/main/scala/org/neo4j/cypher/internal/compiler/v3_4/spi/TokenContext.scala +++ b/community/cypher/planner-spi-3.4/src/main/scala/org/neo4j/cypher/internal/planner/v3_4/spi/TokenContext.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compiler.v3_4.spi +package org.neo4j.cypher.internal.planner.v3_4.spi trait TokenContext { def getLabelName(id: Int): String diff --git a/community/cypher/pom.xml b/community/cypher/pom.xml index 67f5299b34c0c..85884cc275a0c 100644 --- a/community/cypher/pom.xml +++ b/community/cypher/pom.xml @@ -41,9 +41,12 @@ util-3.4 ir-3.4 cypher-compiler-3.4 + planner-spi-3.4 expressions-3.4 cypher cypher-logical-plans-3.4 + runtime-util + interpreted-runtime diff --git a/community/cypher/runtime-util/LICENSES.txt b/community/cypher/runtime-util/LICENSES.txt new file mode 100644 index 0000000000000..0ee24e11c3cc1 --- /dev/null +++ b/community/cypher/runtime-util/LICENSES.txt @@ -0,0 +1,322 @@ +This file contains the full license text of the included third party +libraries. For an overview of the licenses see the NOTICE.txt file. + +------------------------------------------------------------------------------ +Apache Software License, Version 2.0 + Apache Commons Lang + Lucene Core + Lucene Memory + Netty/All-in-One + parboiled-core + parboiled-scala +------------------------------------------------------------------------------ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. + + +------------------------------------------------------------------------------ +BSD - Scala License + Scala Library +------------------------------------------------------------------------------ + +SCALA LICENSE + +Copyright (c) 2002-2012 EPFL, Lausanne, unless otherwise specified. +All rights reserved. + +This software was developed by the Programming Methods Laboratory of the +Swiss Federal Institute of Technology (EPFL), Lausanne, Switzerland. + +Permission to use, copy, modify, and distribute this software in source +or binary form for any purpose with or without fee is hereby granted, +provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the EPFL nor the names of its contributors + may be used to endorse or promote products derived from this + software without specific prior written permission. + + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + + +------------------------------------------------------------------------------ +BSD License + Scala Compiler +------------------------------------------------------------------------------ + +Copyright (c) , +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------------------ +Bouncy Castle License + Bouncy Castle PKIX, CMS, EAC, TSP, PKCS, OCSP, CMP, and CRMF APIs + Bouncy Castle Provider +------------------------------------------------------------------------------ + +Please note: our license is an adaptation of the MIT X11 License and should be +read as such. + +LICENSE + +Copyright (c) 2000 - 2011 The Legion Of The Bouncy Castle +(http://www.bouncycastle.org) + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + diff --git a/community/cypher/runtime-util/NOTICE.txt b/community/cypher/runtime-util/NOTICE.txt new file mode 100644 index 0000000000000..49d2002309ff1 --- /dev/null +++ b/community/cypher/runtime-util/NOTICE.txt @@ -0,0 +1,45 @@ +Neo4j +Copyright © 2002-2017 Network Engine for Objects in Lund AB (referred to +in this notice as "Neo Technology") + [http://neotechnology.com] + +This product includes software ("Software") developed by Neo Technology. + +The copyright in the bundled Neo4j graph database (including the +Software) is owned by Neo Technology. The Software developed and owned +by Neo Technology is licensed under the GNU GENERAL PUBLIC LICENSE +Version 3 (http://www.fsf.org/licensing/licenses/gpl-3.0.html) ("GPL") +to all third parties and that license, as required by the GPL, is +included in the LICENSE.txt file. + +However, if you have executed an End User Software License and Services +Agreement or an OEM Software License and Support Services Agreement, or +another commercial license agreement with Neo Technology or one of its +affiliates (each, a "Commercial Agreement"), the terms of the license in +such Commercial Agreement will supersede the GPL and you may use the +software solely pursuant to the terms of the relevant Commercial +Agreement. + +Full license texts are found in LICENSES.txt. + +Third-party licenses +-------------------- + +Apache Software License, Version 2.0 + Apache Commons Lang + Lucene Core + Lucene Memory + Netty/All-in-One + parboiled-core + parboiled-scala + +BSD - Scala License + Scala Library + +BSD License + Scala Compiler + +Bouncy Castle License + Bouncy Castle PKIX, CMS, EAC, TSP, PKCS, OCSP, CMP, and CRMF APIs + Bouncy Castle Provider + diff --git a/community/cypher/runtime-util/pom.xml b/community/cypher/runtime-util/pom.xml new file mode 100644 index 0000000000000..e0b5c61803e62 --- /dev/null +++ b/community/cypher/runtime-util/pom.xml @@ -0,0 +1,161 @@ + + + + org.neo4j + cypher-parent + 3.4.0-SNAPSHOT + ../ + + + 4.0.0 + neo4j-cypher-runtime-util + jar + 3.4.0-SNAPSHOT + Neo4j - Cypher Runtime Utilities + + Cypher runtime utilities + http://components.neo4j.org/${project.artifactId}/${project.version} + + + scm:git:git://github.com/neo4j/neo4j.git + scm:git:git@github.com:neo4j/neo4j.git + https://github.com/neo4j/neo4j + + + + + GNU General Public License, Version 3 + http://www.gnu.org/licenses/gpl-3.0-standalone.html + The software ("Software") developed and owned by Network Engine for + Objects in Lund AB (referred to in this notice as "Neo Technology") is + licensed under the GNU GENERAL PUBLIC LICENSE Version 3 to all third + parties and that license is included below. + + However, if you have executed an End User Software License and Services + Agreement or an OEM Software License and Support Services Agreement, or + another commercial license agreement with Neo Technology or one of its + affiliates (each, a "Commercial Agreement"), the terms of the license in + such Commercial Agreement will supersede the GNU GENERAL PUBLIC LICENSE + Version 3 and you may use the Software solely pursuant to the terms of + the relevant Commercial Agreement. + + + + + + + + org.scalastyle + scalastyle-maven-plugin + + + + + + + + + + + + org.neo4j + neo4j-cypher-logical-plans-3.4 + ${project.version} + + + + org.neo4j + neo4j-cypher-planner-spi-3.4 + ${project.version} + + + + org.neo4j + neo4j-values + ${project.version} + + + + org.neo4j + neo4j-graphdb-api + ${project.version} + + + + org.neo4j + neo4j-kernel + ${project.version} + + + + + + org.scala-lang + scala-library + + + + org.scala-lang + scala-reflect + + + + + + org.scalatest + scalatest_2.11 + test + + + scala-library + org.scala-lang + + + + + org.scalacheck + scalacheck_2.11 + test + + + + + + org.parboiled + parboiled-scala_2.11 + + + + org.apache.commons + commons-lang3 + + + + + + org.neo4j + neo4j-cypher-util-3.4 + ${project.version} + test-jar + test + + + + org.neo4j + neo4j-cypher-expression-3.4 + ${project.version} + test-jar + test + + + + org.neo4j + neo4j-kernel + ${project.version} + test-jar + test + + + + + diff --git a/community/cypher/runtime-util/src/main/java/org/neo4j/cypher/internal/javacompat/GraphDatabaseCypherService.java b/community/cypher/runtime-util/src/main/java/org/neo4j/cypher/internal/javacompat/GraphDatabaseCypherService.java new file mode 100644 index 0000000000000..257e320187078 --- /dev/null +++ b/community/cypher/runtime-util/src/main/java/org/neo4j/cypher/internal/javacompat/GraphDatabaseCypherService.java @@ -0,0 +1,116 @@ +/* + * Copyright (c) 2002-2017 "Neo Technology," + * Network Engine for Objects in Lund AB [http://neotechnology.com] + * + * This file is part of Neo4j. + * + * Neo4j is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package org.neo4j.cypher.internal.javacompat; + +import java.net.URL; +import java.util.concurrent.TimeUnit; + +import org.neo4j.graphdb.DependencyResolver; +import org.neo4j.graphdb.GraphDatabaseService; +import org.neo4j.graphdb.Label; +import org.neo4j.graphdb.Node; +import org.neo4j.graphdb.Relationship; +import org.neo4j.graphdb.security.URLAccessValidationError; +import org.neo4j.kernel.GraphDatabaseQueryService; +import org.neo4j.kernel.api.KernelTransaction; +import org.neo4j.kernel.api.dbms.DbmsOperations; +import org.neo4j.kernel.api.security.SecurityContext; +import org.neo4j.kernel.impl.coreapi.InternalTransaction; +import org.neo4j.kernel.impl.factory.GraphDatabaseFacade; + +public class GraphDatabaseCypherService implements GraphDatabaseQueryService +{ + private final GraphDatabaseFacade graph; + private final DbmsOperations dbmsOperations; + + public GraphDatabaseCypherService( GraphDatabaseService graph ) + { + this.graph = (GraphDatabaseFacade) graph; + this.dbmsOperations = getDependencyResolver().resolveDependency( DbmsOperations.class ); + } + + @Override + public DependencyResolver getDependencyResolver() + { + return graph.getDependencyResolver(); + } + + @Override + public Node createNode() + { + return graph.createNode(); + } + + @Override + public Long createNodeId() + { + return graph.createNodeId(); + } + + @Override + public Node createNode( Label... labels ) + { + return graph.createNode( labels ); + } + + @Override + public Node getNodeById( long id ) + { + return graph.getNodeById( id ); + } + + @Override + public Relationship getRelationshipById( long id ) + { + return graph.getRelationshipById( id ); + } + + @Override + public InternalTransaction beginTransaction( KernelTransaction.Type type, SecurityContext securityContext ) + { + return graph.beginTransaction( type, securityContext ); + } + + @Override + public InternalTransaction beginTransaction( KernelTransaction.Type type, SecurityContext securityContext, + long timeout, TimeUnit unit ) + { + return graph.beginTransaction( type, securityContext, timeout, unit ); + } + + @Override + public URL validateURLAccess( URL url ) throws URLAccessValidationError + { + return graph.validateURLAccess( url ); + } + + @Override + public DbmsOperations getDbmsOperations() + { + return dbmsOperations; + } + + // This provides backwards compatibility to the older API for places that cannot (yet) stop using it. + // TODO: Remove this when possible (remove RULE, remove older compilers) + public GraphDatabaseFacade getGraphDatabaseService() + { + return graph; + } +} diff --git a/community/cypher/runtime-util/src/main/java/org/neo4j/cypher/internal/javacompat/ValueToObjectSerializer.java b/community/cypher/runtime-util/src/main/java/org/neo4j/cypher/internal/javacompat/ValueToObjectSerializer.java new file mode 100644 index 0000000000000..85d5808c0bde5 --- /dev/null +++ b/community/cypher/runtime-util/src/main/java/org/neo4j/cypher/internal/javacompat/ValueToObjectSerializer.java @@ -0,0 +1,64 @@ +/* + * Copyright (c) 2002-2017 "Neo Technology," + * Network Engine for Objects in Lund AB [http://neotechnology.com] + * + * This file is part of Neo4j. + * + * Neo4j is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package org.neo4j.cypher.internal.javacompat; + +import org.neo4j.cypher.internal.runtime.CartesianPoint; +import org.neo4j.cypher.internal.runtime.GeographicPoint; +import org.neo4j.graphdb.Node; +import org.neo4j.graphdb.Relationship; +import org.neo4j.graphdb.spatial.Point; +import org.neo4j.kernel.impl.core.NodeManager; +import org.neo4j.kernel.impl.util.BaseToObjectValueWriter; + +public class ValueToObjectSerializer extends BaseToObjectValueWriter +{ + private final NodeManager nodeManager; + public ValueToObjectSerializer( NodeManager nodeManager ) + { + super(); + this.nodeManager = nodeManager; + } + + @Override + protected Node newNodeProxyById( long id ) + { + return nodeManager.newNodeProxyById( id ); + } + + @Override + protected Relationship newRelationshipProxyById( long id ) + { + return nodeManager.newRelationshipProxyById( id ); + } + + @Override + protected Point newGeographicPoint( double longitude, double latitude, String name, int code, String href ) + { + return new GeographicPoint( longitude, latitude, + new org.neo4j.cypher.internal.runtime.CRS( name, code, href ) ); + } + + @Override + protected Point newCartesianPoint( double x, double y, String name, int code, String href ) + { + return new CartesianPoint( x, y, + new org.neo4j.cypher.internal.runtime.CRS( name, code, href ) ); + } +} diff --git a/community/cypher/cypher/src/main/java/org/neo4j/cypher/result/QueryResult.java b/community/cypher/runtime-util/src/main/java/org/neo4j/cypher/result/QueryResult.java similarity index 97% rename from community/cypher/cypher/src/main/java/org/neo4j/cypher/result/QueryResult.java rename to community/cypher/runtime-util/src/main/java/org/neo4j/cypher/result/QueryResult.java index 23c03a30af862..99c98b8782118 100644 --- a/community/cypher/cypher/src/main/java/org/neo4j/cypher/result/QueryResult.java +++ b/community/cypher/runtime-util/src/main/java/org/neo4j/cypher/result/QueryResult.java @@ -25,6 +25,9 @@ import org.neo4j.graphdb.QueryStatistics; import org.neo4j.values.AnyValue; +/** + * The public Result API of Cypher + */ public interface QueryResult { String[] fieldNames(); diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/CypherException.scala b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/CypherException.scala similarity index 99% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/CypherException.scala rename to community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/CypherException.scala index 58e4615f87cb2..7f98f90cb10d0 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/CypherException.scala +++ b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/CypherException.scala @@ -83,8 +83,8 @@ class MissingConstraintException(cause: Throwable) extends CypherException("Cons class NodeStillHasRelationshipsException(val nodeId: Long, cause: Throwable) extends CypherException("Node with id " + nodeId + " still has relationships, and cannot be deleted.", cause) { - val status = Status.Schema.ConstraintValidationFailed -} + val status = Status.Schema.ConstraintValidationFailed + } class ProfilerStatisticsNotReadyException(cause: Throwable) extends CypherException("This result has not been materialised yet. Iterate over it to get profiler stats.", cause) { val status = Status.Statement.ExecutionFailed diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/SyntaxException.scala b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/SyntaxException.scala similarity index 100% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/SyntaxException.scala rename to community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/SyntaxException.scala diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/exceptionHandler.scala b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/exceptionHandler.scala similarity index 97% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/exceptionHandler.scala rename to community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/exceptionHandler.scala index c5137f1f59a68..1e38093e8ccad 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/exceptionHandler.scala +++ b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/exceptionHandler.scala @@ -17,11 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4 +package org.neo4j.cypher -import org.neo4j.cypher._ import org.neo4j.cypher.internal.util.v3_4.spi.MapToPublicExceptions -import org.neo4j.cypher.internal.compatibility.{ExceptionHandler, _} import org.neo4j.cypher.internal.util.v3_4.{CypherException => InternalCypherException} object exceptionHandler extends MapToPublicExceptions[CypherException] { @@ -99,4 +97,8 @@ object exceptionHandler extends MapToPublicExceptions[CypherException] { } } } + + trait RunSafely { + def apply[T](body: => T)(implicit f: ExceptionHandler = ExceptionHandler.default): T + } } diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/ArrayBackedMap.scala b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/ArrayBackedMap.scala similarity index 98% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/ArrayBackedMap.scala rename to community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/ArrayBackedMap.scala index bdd530085097e..b919be7d5a6ea 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/ArrayBackedMap.scala +++ b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/ArrayBackedMap.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers +package org.neo4j.cypher.internal.runtime import scala.reflect._ diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/Counter.scala b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/Counter.scala similarity index 96% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/Counter.scala rename to community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/Counter.scala index d28f37a606762..daf0df8e89ed5 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/Counter.scala +++ b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/Counter.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers +package org.neo4j.cypher.internal.runtime object Counter { def apply(initialCount: Long = 0) = new Counter(initialCount) diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/ExecutionMode.scala b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/ExecutionMode.scala similarity index 96% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/ExecutionMode.scala rename to community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/ExecutionMode.scala index d42cf011b122a..a7e2de58774e9 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/ExecutionMode.scala +++ b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/ExecutionMode.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime +package org.neo4j.cypher.internal.runtime import org.neo4j.cypher.internal.util.v3_4.InvalidSemanticsException diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/Geometry.scala b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/Geometry.scala similarity index 98% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/Geometry.scala rename to community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/Geometry.scala index a49551c9108a6..2e9dadc6bac28 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/Geometry.scala +++ b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/Geometry.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime +package org.neo4j.cypher.internal.runtime import java.util.Collections diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/InternalExecutionResult.scala b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/InternalExecutionResult.scala similarity index 89% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/InternalExecutionResult.scala rename to community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/InternalExecutionResult.scala index db86369ec53b6..a10e8ac052cd7 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/InternalExecutionResult.scala +++ b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/InternalExecutionResult.scala @@ -17,14 +17,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal +package org.neo4j.cypher.internal.runtime import java.io.PrintWriter import java.lang -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{ExecutionMode, ExplainMode, NormalMode, ProfileMode} +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription import org.neo4j.cypher.result.QueryResult import org.neo4j.graphdb.Result.ResultVisitor import org.neo4j.graphdb._ diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/InternalQueryType.scala b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/InternalQueryType.scala similarity index 89% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/InternalQueryType.scala rename to community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/InternalQueryType.scala index dff58f6275f68..2ea24a75680ca 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/InternalQueryType.scala +++ b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/InternalQueryType.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan +package org.neo4j.cypher.internal.runtime sealed trait InternalQueryType @@ -29,4 +29,4 @@ case object WRITE extends InternalQueryType case object SCHEMA_WRITE extends InternalQueryType -case object DBMS extends InternalQueryType \ No newline at end of file +case object DBMS extends InternalQueryType diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/JavaListWrapper.scala b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/JavaListWrapper.scala similarity index 95% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/JavaListWrapper.scala rename to community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/JavaListWrapper.scala index 07ee5e7fbe868..7e478536f618b 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/JavaListWrapper.scala +++ b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/JavaListWrapper.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers +package org.neo4j.cypher.internal.runtime import scala.collection.immutable.IndexedSeq diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/ProcedureCallMode.scala b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/ProcedureCallMode.scala similarity index 96% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/ProcedureCallMode.scala rename to community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/ProcedureCallMode.scala index f31af8991fb2e..80cae6c58c6ae 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/executionplan/ProcedureCallMode.scala +++ b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/ProcedureCallMode.scala @@ -17,9 +17,8 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan +package org.neo4j.cypher.internal.runtime -import org.neo4j.cypher.internal.spi.v3_4.QueryContext import org.neo4j.cypher.internal.v3_4.logical.plans._ import scala.collection.mutable.ArrayBuffer diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/QueryContext.scala b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/QueryContext.scala similarity index 93% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/QueryContext.scala rename to community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/QueryContext.scala index a92ab4a1ff4a5..68e8517b68f14 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/QueryContext.scala +++ b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/QueryContext.scala @@ -17,18 +17,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.spi.v3_4 +package org.neo4j.cypher.internal.runtime import java.net.URL import org.neo4j.collection.primitive.PrimitiveLongIterator -import org.neo4j.cypher.internal.QueryStatistics -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Expander, KernelPredicate, UserDefinedAggregator} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.matching.PatternNode -import org.neo4j.cypher.internal.compiler.v3_4.IndexDescriptor -import org.neo4j.cypher.internal.compiler.v3_4.spi._ -import org.neo4j.cypher.internal.v3_4.logical.plans.QualifiedName +import org.neo4j.cypher.internal.planner.v3_4.spi.{IdempotentResult, IndexDescriptor, KernelStatisticProvider, TokenContext} import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection +import org.neo4j.cypher.internal.v3_4.logical.plans.QualifiedName import org.neo4j.graphdb.{Node, Path, PropertyContainer, Relationship} import org.neo4j.kernel.impl.api.store.RelationshipIterator import org.neo4j.kernel.impl.factory.DatabaseInfo @@ -163,8 +159,7 @@ trait QueryContext extends TokenContext { def asObject(value: AnyValue): Any // Legacy dependency between kernel and compiler - def variableLengthPathExpand(node: PatternNode, - realNode: Long, + def variableLengthPathExpand(realNode: Long, minHops: Option[Int], maxHops: Option[Int], direction: SemanticDirection, @@ -260,3 +255,19 @@ trait QueryTransactionalContext { def databaseInfo: DatabaseInfo } +trait KernelPredicate[T] { + def test(obj: T): Boolean +} + +trait Expander { + def addRelationshipFilter(newFilter: KernelPredicate[PropertyContainer]): Expander + def addNodeFilter(newFilter: KernelPredicate[PropertyContainer]): Expander + def nodeFilters: Seq[KernelPredicate[PropertyContainer]] + def relFilters: Seq[KernelPredicate[PropertyContainer]] +} + +trait UserDefinedAggregator { + def update(args: IndexedSeq[Any]): Unit + def result: Any +} + diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/QueryStatistics.scala b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/QueryStatistics.scala similarity index 98% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/QueryStatistics.scala rename to community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/QueryStatistics.scala index aff655d04cb79..5409d28b43556 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/QueryStatistics.scala +++ b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/QueryStatistics.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal +package org.neo4j.cypher.internal.runtime import scala.beans.BeanProperty diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/RuntimeJavaValueConverter.scala b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/RuntimeJavaValueConverter.scala similarity index 93% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/RuntimeJavaValueConverter.scala rename to community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/RuntimeJavaValueConverter.scala index 49d6029b94a4e..90948d6571a0d 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/RuntimeJavaValueConverter.scala +++ b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/RuntimeJavaValueConverter.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers +package org.neo4j.cypher.internal.runtime import java.util.{List => JavaList, Map => JavaMap} -import org.neo4j.cypher.internal.frontend.v3_4.helpers.Eagerly.immutableMapValues +import org.neo4j.cypher.internal.util.v3_4.Eagerly.immutableMapValues import org.neo4j.cypher.result.QueryResult.{QueryResultVisitor, Record} import org.neo4j.values.AnyValue diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/RuntimeScalaValueConverter.scala b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/RuntimeScalaValueConverter.scala similarity index 93% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/RuntimeScalaValueConverter.scala rename to community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/RuntimeScalaValueConverter.scala index 53d6301f33e62..0d9c053e0034d 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/RuntimeScalaValueConverter.scala +++ b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/RuntimeScalaValueConverter.scala @@ -17,14 +17,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers +package org.neo4j.cypher.internal.runtime import java.lang.{Iterable => JavaIterable} import java.util import java.util.{Map => JavaMap} -import org.neo4j.cypher.internal.frontend.v3_4.helpers.Eagerly.immutableMapValues -import org.neo4j.values.{AnyValue, AnyValues} +import org.neo4j.cypher.internal.util.v3_4.Eagerly.immutableMapValues import scala.collection.JavaConverters._ import scala.collection.immutable diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/isGraphKernelResultValue.scala b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/isGraphKernelResultValue.scala similarity index 96% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/isGraphKernelResultValue.scala rename to community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/isGraphKernelResultValue.scala index 3830d3a93e459..63e40684dc320 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/isGraphKernelResultValue.scala +++ b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/isGraphKernelResultValue.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal +package org.neo4j.cypher.internal.runtime import org.neo4j.graphdb.{Path, PropertyContainer} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/planDescription/InternalPlanDescription.scala b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/planDescription/InternalPlanDescription.scala similarity index 98% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/planDescription/InternalPlanDescription.scala rename to community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/planDescription/InternalPlanDescription.scala index c90744c731bae..752413c550537 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/planDescription/InternalPlanDescription.scala +++ b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/planDescription/InternalPlanDescription.scala @@ -17,16 +17,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription +package org.neo4j.cypher.internal.runtime.planDescription import java.util +import org.neo4j.cypher.exceptionHandler +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription.Arguments._ import org.neo4j.cypher.internal.util.v3_4.InternalException -import org.neo4j.cypher.internal.compatibility.v3_4.exceptionHandler -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription.Arguments._ -import org.neo4j.cypher.internal.v3_4.logical.plans.{LogicalPlanId, QualifiedName, SeekableArgs} import org.neo4j.cypher.internal.util.v3_4.symbols.CypherType import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection +import org.neo4j.cypher.internal.v3_4.logical.plans.{LogicalPlanId, QualifiedName, SeekableArgs} import org.neo4j.cypher.internal.v3_4.{expressions => ast} import org.neo4j.graphdb.ExecutionPlanDescription import org.neo4j.graphdb.ExecutionPlanDescription.ProfilerStatistics diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/planDescription/LogicalPlan2PlanDescription.scala b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/planDescription/LogicalPlan2PlanDescription.scala similarity index 97% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/planDescription/LogicalPlan2PlanDescription.scala rename to community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/planDescription/LogicalPlan2PlanDescription.scala index 076810111d39a..8178875db5b11 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/planDescription/LogicalPlan2PlanDescription.scala +++ b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/planDescription/LogicalPlan2PlanDescription.scala @@ -17,18 +17,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription +package org.neo4j.cypher.internal.runtime.planDescription -import org.neo4j.cypher.internal.util.v3_4.InternalException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription.Arguments._ -import org.neo4j.cypher.internal.compiler.v3_4._ -import org.neo4j.cypher.internal.compiler.v3_4.ast.{InequalitySeekRangeWrapper, PrefixSeekRangeWrapper} import org.neo4j.cypher.internal.frontend.v3_4.PlannerName -import org.neo4j.cypher.internal.frontend.v3_4.ast.{LabelToken, PropertyKeyToken} import org.neo4j.cypher.internal.ir.v3_4.IdName +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription.Arguments._ +import org.neo4j.cypher.internal.util.v3_4.InternalException +import org.neo4j.cypher.internal.v3_4.expressions.{LabelToken, PropertyKeyToken, Expression => ASTExpression} import org.neo4j.cypher.internal.v3_4.logical.plans import org.neo4j.cypher.internal.v3_4.logical.plans._ -import org.neo4j.cypher.internal.v3_4.expressions.{Expression => ASTExpression} object LogicalPlan2PlanDescription extends ((LogicalPlan, PlannerName) => InternalPlanDescription) { diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/planDescription/PlanDescriptionArgumentSerializer.scala b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/planDescription/PlanDescriptionArgumentSerializer.scala similarity index 94% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/planDescription/PlanDescriptionArgumentSerializer.scala rename to community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/planDescription/PlanDescriptionArgumentSerializer.scala index 79279810b07e9..bc2e1d3e2ddd9 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/planDescription/PlanDescriptionArgumentSerializer.scala +++ b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/planDescription/PlanDescriptionArgumentSerializer.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription +package org.neo4j.cypher.internal.runtime.planDescription -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription.Arguments._ -import org.neo4j.cypher.internal.frontend.v3_4.helpers.UnNamedNameGenerator._ +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription.Arguments._ +import org.neo4j.cypher.internal.util.v3_4.UnNamedNameGenerator._ import org.neo4j.cypher.internal.frontend.v3_4.prettifier.ExpressionStringifier import org.neo4j.cypher.internal.v3_4.expressions import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/planDescription/renderAsTreeTable.scala b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/planDescription/renderAsTreeTable.scala similarity index 98% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/planDescription/renderAsTreeTable.scala rename to community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/planDescription/renderAsTreeTable.scala index eec8a57e990b2..153dbb141fb67 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/planDescription/renderAsTreeTable.scala +++ b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/planDescription/renderAsTreeTable.scala @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription +package org.neo4j.cypher.internal.runtime.planDescription -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription.Arguments._ +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription.Arguments._ import scala.collection.{Map, mutable} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/planDescription/renderSummary.scala b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/planDescription/renderSummary.scala similarity index 92% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/planDescription/renderSummary.scala rename to community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/planDescription/renderSummary.scala index b71dabcfda169..1f16c38703fcf 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/planDescription/renderSummary.scala +++ b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/internal/runtime/planDescription/renderSummary.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription +package org.neo4j.cypher.internal.runtime.planDescription object renderSummary extends (InternalPlanDescription => String) { def apply(plan: InternalPlanDescription): String = diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v2_3/HardcodedGraphStatistics.scala b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/package.scala similarity index 74% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v2_3/HardcodedGraphStatistics.scala rename to community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/package.scala index 494c5d96a6b1b..45891a8476d4e 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v2_3/HardcodedGraphStatistics.scala +++ b/community/cypher/runtime-util/src/main/scala/org/neo4j/cypher/package.scala @@ -17,9 +17,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.spi.v2_3 +package org.neo4j -//This class should live here, but until we have to touch -//disk, let's have it in the compiler. Convenient. -case object HardcodedGraphStatistics - extends org.neo4j.cypher.internal.compiler.v3_4.HardcodedGraphStatisticsValues +package object cypher { + type ExceptionHandler = Throwable => Unit + + object ExceptionHandler { + object default extends ExceptionHandler { + def apply(v: Throwable): Unit = {} + } + } +} diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_1/HardcodedGraphStatistics.scala b/community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/GraphDatabaseFunSuite.scala similarity index 74% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_1/HardcodedGraphStatistics.scala rename to community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/GraphDatabaseFunSuite.scala index a51eed4c8268c..1e331ed63c9a1 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_1/HardcodedGraphStatistics.scala +++ b/community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/GraphDatabaseFunSuite.scala @@ -17,9 +17,8 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.spi.v3_1 +package org.neo4j.cypher -//This class should live here, but until we have to touch -//disk, let's have it in the compiler. Convenient. -case object HardcodedGraphStatistics - extends org.neo4j.cypher.internal.compiler.v3_1.HardcodedGraphStatisticsValues +import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite + +abstract class GraphDatabaseFunSuite extends CypherFunSuite with GraphDatabaseTestSupport diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/GraphDatabaseTestSupport.scala b/community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/GraphDatabaseTestSupport.scala similarity index 84% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/GraphDatabaseTestSupport.scala rename to community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/GraphDatabaseTestSupport.scala index af2100a93470a..570cda12150e0 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/GraphDatabaseTestSupport.scala +++ b/community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/GraphDatabaseTestSupport.scala @@ -19,16 +19,8 @@ */ package org.neo4j.cypher -import org.mockito.Mockito.when -import org.neo4j.cypher.internal.compiler.v3_4.CypherCompilerConfiguration -import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.idp.DefaultIDPSolverConfig -import org.neo4j.cypher.internal.compiler.v3_4.spi.PlanContext -import org.neo4j.cypher.internal.frontend.v3_4.phases.devNullLogger +import org.neo4j.cypher.internal.javacompat.GraphDatabaseCypherService import org.neo4j.cypher.internal.util.v3_4.test_helpers.{CypherFunSuite, CypherTestSupport} -import org.neo4j.cypher.internal.helpers.GraphIcing -import org.neo4j.cypher.internal.spi.v3_4.TransactionBoundQueryContext.IndexSearchMonitor -import org.neo4j.cypher.internal.spi.v3_4.{TransactionBoundPlanContext, TransactionalContextWrapper} -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService import org.neo4j.graphdb._ import org.neo4j.graphdb.config.Setting import org.neo4j.kernel.api.proc._ @@ -261,29 +253,6 @@ trait GraphDatabaseTestSupport extends CypherTestSupport with GraphIcing { def kernelAPI = graph.getDependencyResolver.resolveDependency(classOf[KernelAPI]) - def planContext(statement: Statement): PlanContext = { - val tc = mock[TransactionalContextWrapper] - when(tc.statement).thenReturn(statement) - when(tc.readOperations).thenReturn(statement.readOperations()) - when(tc.graph).thenReturn(graph) - new TransactionBoundPlanContext(tc, devNullLogger) - } - - def indexSearchMonitor = kernelMonitors.newMonitor(classOf[IndexSearchMonitor]) - - val config = CypherCompilerConfiguration( - queryCacheSize = 100, - statsDivergenceThreshold = 0.5, - queryPlanTTL = 1000, - useErrorsOverWarnings = false, - nonIndexedLabelWarningThreshold = 10000, - idpMaxTableSize = DefaultIDPSolverConfig.maxTableSize, - idpIterationDuration = DefaultIDPSolverConfig.iterationDurationLimit, - errorIfShortestPathFallbackUsedAtRuntime = false, - errorIfShortestPathHasCommonNodesAtRuntime = true, - legacyCsvQuoteEscaping = false - ) - case class haveConstraints(expectedConstraints: String*) extends Matcher[GraphDatabaseQueryService] { def apply(graph: GraphDatabaseQueryService): MatchResult = { graph.inTx { diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/helpers/GraphIcing.scala b/community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/GraphIcing.scala similarity index 95% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/helpers/GraphIcing.scala rename to community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/GraphIcing.scala index cb478af6188b6..ce2b75f4e008a 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/helpers/GraphIcing.scala +++ b/community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/GraphIcing.scala @@ -17,14 +17,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.helpers +package org.neo4j.cypher import java.util import java.util.concurrent.TimeUnit -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.RuntimeJavaValueConverter -import org.neo4j.cypher.internal.isGraphKernelResultValue -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService +import org.neo4j.cypher.internal.javacompat.GraphDatabaseCypherService +import org.neo4j.cypher.internal.runtime.{RuntimeJavaValueConverter, isGraphKernelResultValue} import org.neo4j.graphdb.Label._ import org.neo4j.graphdb._ import org.neo4j.kernel.GraphDatabaseQueryService diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/ArrayBackedMapTest.scala b/community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/ArrayBackedMapTest.scala similarity index 98% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/ArrayBackedMapTest.scala rename to community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/ArrayBackedMapTest.scala index 3d6c8681bbab2..287c8541bff95 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/ArrayBackedMapTest.scala +++ b/community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/ArrayBackedMapTest.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers +package org.neo4j.cypher.internal.runtime import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/CounterTest.scala b/community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/CounterTest.scala similarity index 96% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/CounterTest.scala rename to community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/CounterTest.scala index 81501d5574f6c..42637cc747d93 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/CounterTest.scala +++ b/community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/CounterTest.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers +package org.neo4j.cypher.internal.runtime import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/test_helpers/CreateTempFileTestSupport.scala b/community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/CreateTempFileTestSupport.scala similarity index 98% rename from community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/test_helpers/CreateTempFileTestSupport.scala rename to community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/CreateTempFileTestSupport.scala index eb92a98ece886..eeca5c8096957 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/test_helpers/CreateTempFileTestSupport.scala +++ b/community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/CreateTempFileTestSupport.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compiler.v3_4.test_helpers +package org.neo4j.cypher.internal.runtime import java.io.{FileOutputStream, OutputStreamWriter, PrintWriter} import java.nio.file.{Files, Path} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/ImplicitValueConversion.scala b/community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/ImplicitValueConversion.scala similarity index 94% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/ImplicitValueConversion.scala rename to community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/ImplicitValueConversion.scala index d5fab914fd187..9d0c6fb879035 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/ImplicitValueConversion.scala +++ b/community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/ImplicitValueConversion.scala @@ -17,15 +17,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime +package org.neo4j.cypher.internal.runtime -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.PathImpl import org.neo4j.graphdb.{Node, Path, Relationship} import org.neo4j.kernel.impl.util.ValueUtils import org.neo4j.values._ import org.neo4j.values.storable.Values._ import org.neo4j.values.storable._ -import org.neo4j.values.virtual.VirtualValues._ +import org.neo4j.values.virtual.VirtualValues.list import org.neo4j.values.virtual._ import scala.collection.JavaConverters._ diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/PathImpl.scala b/community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/PathImpl.scala similarity index 97% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/PathImpl.scala rename to community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/PathImpl.scala index 0a5b033e23b2b..bee657bf71615 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/commands/expressions/PathImpl.scala +++ b/community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/PathImpl.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions +package org.neo4j.cypher.internal.runtime import java.lang.{Iterable => JavaIterable} import java.util.{Iterator => JavaIterator} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/RuntimeJavaValueConverterTest.scala b/community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/RuntimeJavaValueConverterTest.scala similarity index 95% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/RuntimeJavaValueConverterTest.scala rename to community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/RuntimeJavaValueConverterTest.scala index 8205dd13dfa27..ae4d47cfacd9a 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/RuntimeJavaValueConverterTest.scala +++ b/community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/RuntimeJavaValueConverterTest.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers +package org.neo4j.cypher.internal.runtime import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/RuntimeScalaValueConverterTest.scala b/community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/RuntimeScalaValueConverterTest.scala similarity index 97% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/RuntimeScalaValueConverterTest.scala rename to community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/RuntimeScalaValueConverterTest.scala index 6b52b41859710..43584670427bd 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/helpers/RuntimeScalaValueConverterTest.scala +++ b/community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/RuntimeScalaValueConverterTest.scala @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers +package org.neo4j.cypher.internal.runtime import java.util import java.util.Arrays.asList diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/planDescription/CompactedPlanDescriptionTest.scala b/community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/planDescription/CompactedPlanDescriptionTest.scala similarity index 95% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/planDescription/CompactedPlanDescriptionTest.scala rename to community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/planDescription/CompactedPlanDescriptionTest.scala index 96270b41a645b..ba80dc61c9010 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/planDescription/CompactedPlanDescriptionTest.scala +++ b/community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/planDescription/CompactedPlanDescriptionTest.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription +package org.neo4j.cypher.internal.runtime.planDescription import org.mockito.Mockito._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription.Arguments.{DbHits, Rows, Time} +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription.Arguments.{DbHits, Rows, Time} import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.scalatest.mock.MockitoSugar diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/planDescription/InternalPlanDescriptionTest.scala b/community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/planDescription/InternalPlanDescriptionTest.scala similarity index 97% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/planDescription/InternalPlanDescriptionTest.scala rename to community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/planDescription/InternalPlanDescriptionTest.scala index 9e0b1b92e181c..9f2126162001f 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/planDescription/InternalPlanDescriptionTest.scala +++ b/community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/planDescription/InternalPlanDescriptionTest.scala @@ -17,10 +17,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription +package org.neo4j.cypher.internal.runtime.planDescription -import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite +import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId class InternalPlanDescriptionTest extends CypherFunSuite { diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/planDescription/LogicalPlan2PlanDescriptionTest.scala b/community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/planDescription/LogicalPlan2PlanDescriptionTest.scala similarity index 85% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/planDescription/LogicalPlan2PlanDescriptionTest.scala rename to community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/planDescription/LogicalPlan2PlanDescriptionTest.scala index 84281231699a7..d82aff784dd91 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/planDescription/LogicalPlan2PlanDescriptionTest.scala +++ b/community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/planDescription/LogicalPlan2PlanDescriptionTest.scala @@ -17,16 +17,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription +package org.neo4j.cypher.internal.runtime.planDescription +import org.neo4j.cypher.internal.ir.v3_4.{CardinalityEstimation, IdName, PlannerQuery} +import org.neo4j.cypher.internal.planner.v3_4.spi.IDPPlannerName +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription.Arguments._ +import org.neo4j.cypher.internal.util.v3_4._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.util.v3_4.{DummyPosition, InputPosition} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription.Arguments._ -import org.neo4j.cypher.internal.compiler.v3_4.IDPPlannerName -import org.neo4j.cypher.internal.frontend.v3_4._ -import org.neo4j.cypher.internal.frontend.v3_4.ast.{LabelToken, PropertyKeyToken} import org.neo4j.cypher.internal.v3_4.expressions.{SemanticDirection, LabelName => AstLabelName, _} -import org.neo4j.cypher.internal.ir.v3_4.{Cardinality, CardinalityEstimation, IdName, PlannerQuery} import org.neo4j.cypher.internal.v3_4.logical.plans._ import org.scalatest.prop.TableDrivenPropertyChecks @@ -68,11 +66,11 @@ class LogicalPlan2PlanDescriptionTest extends CypherFunSuite with TableDrivenPro , Expand(lhsLP, IdName("a"), SemanticDirection.OUTGOING, Seq.empty, IdName("b"), IdName("r1"), ExpandAll)(95) -> PlanDescriptionImpl(id, "Expand(All)", SingleChild(lhsPD), Seq(ExpandExpression("a", "r1", Seq.empty, "b", SemanticDirection.OUTGOING, 1, Some(1)), - EstimatedRows(95), Version("CYPHER 3.4"), Planner("COST"), PlannerImpl("IDP")), Set("a", "r1", "b")) + EstimatedRows(95), Version("CYPHER 3.4"), Planner("COST"), PlannerImpl("IDP")), Set("a", "r1", "b")) , Expand(lhsLP, IdName("a"), SemanticDirection.OUTGOING, Seq.empty, IdName("a"), IdName("r1"), ExpandInto)(113) -> PlanDescriptionImpl(id, "Expand(Into)", SingleChild(lhsPD), Seq(ExpandExpression("a", "r1", Seq.empty, "a", SemanticDirection.OUTGOING, 1, Some(1)), - EstimatedRows(113), Version("CYPHER 3.4"), Planner("COST"), PlannerImpl("IDP")), Set("a", "r1")) + EstimatedRows(113), Version("CYPHER 3.4"), Planner("COST"), PlannerImpl("IDP")), Set("a", "r1")) , NodeHashJoin(Set(IdName("a")), lhsLP, rhsLP)(2345) -> PlanDescriptionImpl(id, "NodeHashJoin", TwoChildren(lhsPD, rhsPD), Seq(KeyNames(Seq("a")), EstimatedRows(2345), Version("CYPHER 3.4"), Planner("COST"), PlannerImpl("IDP")), Set("a", "b")) @@ -97,7 +95,7 @@ class LogicalPlan2PlanDescriptionTest extends CypherFunSuite with TableDrivenPro expectedPlanDescription.children should equal(NoChildren) case SingleChild(child) => shouldBeEqual(child, lhsPD) - case TwoChildren(l,r) => + case TwoChildren(l, r) => shouldBeEqual(l, lhsPD) shouldBeEqual(r, rhsPD) } diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/planDescription/PlanDescriptionArgumentSerializerTests.scala b/community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/planDescription/PlanDescriptionArgumentSerializerTests.scala similarity index 82% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/planDescription/PlanDescriptionArgumentSerializerTests.scala rename to community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/planDescription/PlanDescriptionArgumentSerializerTests.scala index c60b20816ba6e..3f87520cd7907 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/planDescription/PlanDescriptionArgumentSerializerTests.scala +++ b/community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/planDescription/PlanDescriptionArgumentSerializerTests.scala @@ -17,18 +17,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription +package org.neo4j.cypher.internal.runtime.planDescription -import org.neo4j.cypher.internal.util.v3_4.DummyPosition +import org.neo4j.cypher.internal.ir.v3_4.{CardinalityEstimation, PlannerQuery} +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription.Arguments._ +import org.neo4j.cypher.internal.runtime.planDescription.PlanDescriptionArgumentSerializer.serialize import org.neo4j.cypher.internal.util.v3_4.symbols.{CTBoolean, CTList, CTNode, CTString} import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription.Arguments._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.PlanDescriptionArgumentSerializer.serialize -import org.neo4j.cypher.internal.compiler.v3_4.ast.NestedPlanExpression -import org.neo4j.cypher.internal.frontend.v3_4.ast.DummyExpression -import org.neo4j.cypher.internal.ir.v3_4.{Cardinality, CardinalityEstimation, PlannerQuery} -import org.neo4j.cypher.internal.v3_4.expressions.{SemanticDirection, SignedDecimalIntegerLiteral} -import org.neo4j.cypher.internal.v3_4.logical.plans.{LogicalPlan, Argument => LPArgument} +import org.neo4j.cypher.internal.util.v3_4.{Cardinality, DummyPosition} +import org.neo4j.cypher.internal.v3_4.expressions.{DummyExpression, SemanticDirection, SignedDecimalIntegerLiteral} +import org.neo4j.cypher.internal.v3_4.logical.plans.{LogicalPlan, NestedPlanExpression, Argument => LPArgument} class PlanDescriptionArgumentSerializerTests extends CypherFunSuite { val solved = CardinalityEstimation.lift(PlannerQuery.empty, Cardinality(1)) diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/planDescription/RenderSummaryTest.scala b/community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/planDescription/RenderSummaryTest.scala similarity index 90% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/planDescription/RenderSummaryTest.scala rename to community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/planDescription/RenderSummaryTest.scala index c99070af26501..e64edd4a05919 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/planDescription/RenderSummaryTest.scala +++ b/community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/planDescription/RenderSummaryTest.scala @@ -17,11 +17,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription +package org.neo4j.cypher.internal.runtime.planDescription -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription.Arguments.{DbHits, Rows} -import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription.Arguments.{DbHits, Rows} import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite +import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId class RenderSummaryTest extends CypherFunSuite { diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/planDescription/RenderTreeTableTest.scala b/community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/planDescription/RenderTreeTableTest.scala similarity index 99% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/planDescription/RenderTreeTableTest.scala rename to community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/planDescription/RenderTreeTableTest.scala index 637f84cc84486..680bc6845080f 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/planDescription/RenderTreeTableTest.scala +++ b/community/cypher/runtime-util/src/test/scala/org/neo4j/cypher/internal/runtime/planDescription/RenderTreeTableTest.scala @@ -17,14 +17,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription +package org.neo4j.cypher.internal.runtime.planDescription import java.util.Locale -import org.neo4j.cypher.internal.util.v3_4.DummyPosition +import org.neo4j.cypher.internal.ir.v3_4.{CardinalityEstimation, IdName, PlannerQuery} +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription.Arguments._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.{CypherFunSuite, WindowsStringSafe} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription.Arguments._ -import org.neo4j.cypher.internal.ir.v3_4.{Cardinality, CardinalityEstimation, IdName, PlannerQuery} +import org.neo4j.cypher.internal.util.v3_4.{Cardinality, DummyPosition} import org.neo4j.cypher.internal.v3_4.expressions.{Expression => ASTExpression, LabelName => ASTLabelName, Range => ASTRange, _} import org.neo4j.cypher.internal.v3_4.logical.plans.{Expand, ExpandAll, LogicalPlanId, SingleRow} import org.scalatest.BeforeAndAfterAll diff --git a/community/cypher/ir-3.4/src/main/scala/org/neo4j/cypher/internal/ir/v3_4/Cardinality.scala b/community/cypher/util-3.4/src/main/scala/org/neo4j/cypher/internal/util/v3_4/Cardinality.scala similarity index 84% rename from community/cypher/ir-3.4/src/main/scala/org/neo4j/cypher/internal/ir/v3_4/Cardinality.scala rename to community/cypher/util-3.4/src/main/scala/org/neo4j/cypher/internal/util/v3_4/Cardinality.scala index a6aff09a15dd3..cf4864dfc9cf6 100644 --- a/community/cypher/ir-3.4/src/main/scala/org/neo4j/cypher/internal/ir/v3_4/Cardinality.scala +++ b/community/cypher/util-3.4/src/main/scala/org/neo4j/cypher/internal/util/v3_4/Cardinality.scala @@ -2,22 +2,19 @@ * Copyright (c) 2002-2017 "Neo Technology," * Network Engine for Objects in Lund AB [http://neotechnology.com] * - * This file is part of Neo4j. + * Licensed 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 * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. + * http://www.apache.org/licenses/LICENSE-2.0 * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . + * 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.neo4j.cypher.internal.ir.v3_4 +package org.neo4j.cypher.internal.util.v3_4 case class Cardinality(amount: Double) extends Ordered[Cardinality] { diff --git a/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/helpers/Eagerly.scala b/community/cypher/util-3.4/src/main/scala/org/neo4j/cypher/internal/util/v3_4/Eagerly.scala similarity index 96% rename from community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/helpers/Eagerly.scala rename to community/cypher/util-3.4/src/main/scala/org/neo4j/cypher/internal/util/v3_4/Eagerly.scala index 7df41c0eb1546..eb9f89aa806e1 100644 --- a/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/helpers/Eagerly.scala +++ b/community/cypher/util-3.4/src/main/scala/org/neo4j/cypher/internal/util/v3_4/Eagerly.scala @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.neo4j.cypher.internal.frontend.v3_4.helpers +package org.neo4j.cypher.internal.util.v3_4 import scala.collection.{immutable, mutable} diff --git a/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/NameId.scala b/community/cypher/util-3.4/src/main/scala/org/neo4j/cypher/internal/util/v3_4/NameId.scala similarity index 95% rename from community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/NameId.scala rename to community/cypher/util-3.4/src/main/scala/org/neo4j/cypher/internal/util/v3_4/NameId.scala index ea6b31f707512..5b11c68ee2951 100644 --- a/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/NameId.scala +++ b/community/cypher/util-3.4/src/main/scala/org/neo4j/cypher/internal/util/v3_4/NameId.scala @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.neo4j.cypher.internal.frontend.v3_4 +package org.neo4j.cypher.internal.util.v3_4 sealed trait NameId { def id: Int diff --git a/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/helpers/PrefixNameGenerator.scala b/community/cypher/util-3.4/src/main/scala/org/neo4j/cypher/internal/util/v3_4/PrefixNameGenerator.scala similarity index 92% rename from community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/helpers/PrefixNameGenerator.scala rename to community/cypher/util-3.4/src/main/scala/org/neo4j/cypher/internal/util/v3_4/PrefixNameGenerator.scala index fc1ed57368166..e39080d5ab764 100644 --- a/community/cypher/frontend-3.4/src/main/scala/org/neo4j/cypher/internal/frontend/v3_4/helpers/PrefixNameGenerator.scala +++ b/community/cypher/util-3.4/src/main/scala/org/neo4j/cypher/internal/util/v3_4/PrefixNameGenerator.scala @@ -14,9 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.neo4j.cypher.internal.frontend.v3_4.helpers - -import org.neo4j.cypher.internal.util.v3_4.InputPosition +package org.neo4j.cypher.internal.util.v3_4 object FreshIdNameGenerator extends PrefixNameGenerator("FRESHID") diff --git a/community/cypher/ir-3.4/src/main/scala/org/neo4j/cypher/internal/ir/v3_4/Selectivity.scala b/community/cypher/util-3.4/src/main/scala/org/neo4j/cypher/internal/util/v3_4/Selectivity.scala similarity index 60% rename from community/cypher/ir-3.4/src/main/scala/org/neo4j/cypher/internal/ir/v3_4/Selectivity.scala rename to community/cypher/util-3.4/src/main/scala/org/neo4j/cypher/internal/util/v3_4/Selectivity.scala index 2edf216f5aa8e..ff31a2ec3ac79 100644 --- a/community/cypher/ir-3.4/src/main/scala/org/neo4j/cypher/internal/ir/v3_4/Selectivity.scala +++ b/community/cypher/util-3.4/src/main/scala/org/neo4j/cypher/internal/util/v3_4/Selectivity.scala @@ -2,22 +2,19 @@ * Copyright (c) 2002-2017 "Neo Technology," * Network Engine for Objects in Lund AB [http://neotechnology.com] * - * This file is part of Neo4j. + * Licensed 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 * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. + * http://www.apache.org/licenses/LICENSE-2.0 * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . + * 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.neo4j.cypher.internal.ir.v3_4 +package org.neo4j.cypher.internal.util.v3_4 case class Selectivity private(factor: Double) extends Ordered[Selectivity] { assert(factor >= 0 && factor <= 1.0) diff --git a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/TaskCloser.scala b/community/cypher/util-3.4/src/main/scala/org/neo4j/cypher/internal/util/v3_4/TaskCloser.scala similarity index 52% rename from community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/TaskCloser.scala rename to community/cypher/util-3.4/src/main/scala/org/neo4j/cypher/internal/util/v3_4/TaskCloser.scala index d7f4973c8cc86..256d6eab70015 100644 --- a/community/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/TaskCloser.scala +++ b/community/cypher/util-3.4/src/main/scala/org/neo4j/cypher/internal/util/v3_4/TaskCloser.scala @@ -2,22 +2,19 @@ * Copyright (c) 2002-2017 "Neo Technology," * Network Engine for Objects in Lund AB [http://neotechnology.com] * - * This file is part of Neo4j. + * Licensed 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 * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. + * http://www.apache.org/licenses/LICENSE-2.0 * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . + * 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.neo4j.cypher.internal.compatibility.v3_4.runtime +package org.neo4j.cypher.internal.util.v3_4 import scala.collection.mutable.ListBuffer diff --git a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/helpers/EagerlyTest.scala b/community/cypher/util-3.4/src/test/scala/org/neo4j/cypher/internal/util/v3_4/EagerlyTest.scala similarity index 70% rename from community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/helpers/EagerlyTest.scala rename to community/cypher/util-3.4/src/test/scala/org/neo4j/cypher/internal/util/v3_4/EagerlyTest.scala index 871d606934dd9..0793915b46212 100644 --- a/community/cypher/cypher-compiler-3.4/src/test/scala/org/neo4j/cypher/internal/compiler/v3_4/helpers/EagerlyTest.scala +++ b/community/cypher/util-3.4/src/test/scala/org/neo4j/cypher/internal/util/v3_4/EagerlyTest.scala @@ -2,25 +2,20 @@ * Copyright (c) 2002-2017 "Neo Technology," * Network Engine for Objects in Lund AB [http://neotechnology.com] * - * This file is part of Neo4j. + * Licensed 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 * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. + * http://www.apache.org/licenses/LICENSE-2.0 * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . + * 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.neo4j.cypher.internal.compiler.v3_4.helpers - +package org.neo4j.cypher.internal.util.v3_4 -import org.neo4j.cypher.internal.frontend.v3_4.helpers.Eagerly import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import scala.collection.{immutable, mutable} diff --git a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/TaskCloserTest.scala b/community/cypher/util-3.4/src/test/scala/org/neo4j/cypher/internal/util/v3_4/TaskCloserTest.scala similarity index 73% rename from community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/TaskCloserTest.scala rename to community/cypher/util-3.4/src/test/scala/org/neo4j/cypher/internal/util/v3_4/TaskCloserTest.scala index ac44ff285deaa..ac13d9b4111fc 100644 --- a/community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/TaskCloserTest.scala +++ b/community/cypher/util-3.4/src/test/scala/org/neo4j/cypher/internal/util/v3_4/TaskCloserTest.scala @@ -2,22 +2,19 @@ * Copyright (c) 2002-2017 "Neo Technology," * Network Engine for Objects in Lund AB [http://neotechnology.com] * - * This file is part of Neo4j. + * Licensed 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 * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. + * http://www.apache.org/licenses/LICENSE-2.0 * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . + * 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.neo4j.cypher.internal.compatibility.v3_4.runtime +package org.neo4j.cypher.internal.util.v3_4 import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.scalatest.BeforeAndAfter diff --git a/community/neo4j/src/test/java/org/neo4j/locking/QueryExecutionLocksIT.java b/community/neo4j/src/test/java/org/neo4j/locking/QueryExecutionLocksIT.java index f633414fc049f..3d8a50226fd0b 100644 --- a/community/neo4j/src/test/java/org/neo4j/locking/QueryExecutionLocksIT.java +++ b/community/neo4j/src/test/java/org/neo4j/locking/QueryExecutionLocksIT.java @@ -38,7 +38,7 @@ import org.neo4j.collection.primitive.PrimitiveIntIterator; import org.neo4j.collection.primitive.PrimitiveLongIterator; import org.neo4j.cursor.Cursor; -import org.neo4j.cypher.internal.javacompat.ExecutionEngine; +//import org.neo4j.cypher.internal.javacompat.ExecutionEngine; import org.neo4j.graphdb.Direction; import org.neo4j.graphdb.Label; import org.neo4j.graphdb.Lock; @@ -80,6 +80,7 @@ import org.neo4j.kernel.impl.coreapi.PropertyContainerLocker; import org.neo4j.kernel.impl.locking.ResourceTypes; import org.neo4j.kernel.impl.query.Neo4jTransactionalContextFactory; +import org.neo4j.kernel.impl.query.QueryExecutionEngine; import org.neo4j.kernel.impl.query.QueryExecutionKernelException; import org.neo4j.kernel.impl.query.TransactionalContext; import org.neo4j.kernel.impl.query.TransactionalContextFactory; @@ -202,7 +203,7 @@ private List traceQueryLocks( String query, LockOperationLi throws QueryExecutionKernelException { GraphDatabaseQueryService graph = databaseRule.resolveDependency( GraphDatabaseQueryService.class ); - ExecutionEngine executionEngine = databaseRule.resolveDependency( ExecutionEngine.class ); + QueryExecutionEngine executionEngine = databaseRule.resolveDependency( QueryExecutionEngine.class ); try ( InternalTransaction tx = graph .beginTransaction( KernelTransaction.Type.implicit, SecurityContext.AUTH_DISABLED ) ) { diff --git a/enterprise/cypher/acceptance-spec-suite/pom.xml b/enterprise/cypher/acceptance-spec-suite/pom.xml index 0b1e92e9cccaf..be7a9c0133c44 100644 --- a/enterprise/cypher/acceptance-spec-suite/pom.xml +++ b/enterprise/cypher/acceptance-spec-suite/pom.xml @@ -174,6 +174,14 @@ test-jar + + org.neo4j + neo4j-cypher-runtime-util + ${project.version} + test-jar + test + + diff --git a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/AggregationAcceptanceTest.scala b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/AggregationAcceptanceTest.scala index b8501c6fe94ef..ae70c73cec47d 100644 --- a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/AggregationAcceptanceTest.scala +++ b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/AggregationAcceptanceTest.scala @@ -23,6 +23,7 @@ import org.neo4j.cypher.ExecutionEngineFunSuite import org.neo4j.internal.cypher.acceptance.CypherComparisonSupport._ import org.neo4j.internal.cypher.acceptance.CypherComparisonSupport.Versions.V2_3 + class AggregationAcceptanceTest extends ExecutionEngineFunSuite with CypherComparisonSupport { // Non-deterministic query -- needs TCK design diff --git a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/CartesianProductNotificationAcceptanceTest.scala b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/CartesianProductNotificationAcceptanceTest.scala index 33b15ec80c236..06ded29ab8c64 100644 --- a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/CartesianProductNotificationAcceptanceTest.scala +++ b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/CartesianProductNotificationAcceptanceTest.scala @@ -31,8 +31,11 @@ import org.neo4j.cypher.internal.compiler.v3_4._ import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.{CachedMetricsFactory, SimpleMetricsFactory} import org.neo4j.cypher.internal.frontend.v3_4.helpers.rewriting.RewriterStepSequencer import org.neo4j.cypher.internal.frontend.v3_4.notification.CartesianProductNotification -import org.neo4j.cypher.internal.frontend.v3_4.phases.{CompilationPhaseTracer, InternalNotificationLogger} +import org.neo4j.cypher.internal.frontend.v3_4.phases.{CompilationPhaseTracer, InternalNotificationLogger, devNullLogger} +import org.neo4j.cypher.internal.planner.v3_4.spi.{IDPPlannerName, PlanContext} +import org.neo4j.cypher.internal.runtime.interpreted.{TransactionBoundPlanContext, TransactionalContextWrapper} import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite +import org.neo4j.kernel.api.Statement import org.neo4j.kernel.impl.core.ThreadToStatementContextBridge class CartesianProductNotificationAcceptanceTest extends CypherFunSuite with GraphDatabaseTestSupport { @@ -136,4 +139,12 @@ class CartesianProductNotificationAcceptanceTest extends CypherFunSuite with Gra contextCreator = CommunityRuntimeContextCreator ) } + + private def planContext(statement: Statement): PlanContext = { + val tc = mock[TransactionalContextWrapper] + when(tc.statement).thenReturn(statement) + when(tc.readOperations).thenReturn(statement.readOperations()) + when(tc.graph).thenReturn(graph) + new TransactionBoundPlanContext(tc, devNullLogger) + } } diff --git a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/CompositeNodeKeyConstraintAcceptanceTest.scala b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/CompositeNodeKeyConstraintAcceptanceTest.scala index 534e7196da465..0a8b9555d4c15 100644 --- a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/CompositeNodeKeyConstraintAcceptanceTest.scala +++ b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/CompositeNodeKeyConstraintAcceptanceTest.scala @@ -21,7 +21,7 @@ package org.neo4j.internal.cypher.acceptance import org.neo4j.cypher._ import org.neo4j.cypher.internal.frontend.v3_4.helpers.StringHelper._ -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService +import org.neo4j.cypher.internal.javacompat.GraphDatabaseCypherService import org.neo4j.graphdb.ConstraintViolationException import org.neo4j.graphdb.config.Setting import org.neo4j.internal.cypher.acceptance.CypherComparisonSupport._ diff --git a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/CompositeUniquenessConstraintAcceptanceTest.scala b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/CompositeUniquenessConstraintAcceptanceTest.scala index e3a8a241d4c74..f326a34cd8b54 100644 --- a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/CompositeUniquenessConstraintAcceptanceTest.scala +++ b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/CompositeUniquenessConstraintAcceptanceTest.scala @@ -20,7 +20,7 @@ package org.neo4j.internal.cypher.acceptance import org.neo4j.cypher._ -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService +import org.neo4j.cypher.internal.javacompat.GraphDatabaseCypherService import org.neo4j.graphdb.config.Setting import org.neo4j.internal.cypher.acceptance.CypherComparisonSupport.Versions.{Default, v3_4} import org.neo4j.internal.cypher.acceptance.CypherComparisonSupport._ diff --git a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/CreateAcceptanceTest.scala b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/CreateAcceptanceTest.scala index 9afcbf1f1ba46..1afa86a7d9118 100644 --- a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/CreateAcceptanceTest.scala +++ b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/CreateAcceptanceTest.scala @@ -19,7 +19,7 @@ */ package org.neo4j.internal.cypher.acceptance -import org.neo4j.cypher.internal.compiler.v3_4.test_helpers.CreateTempFileTestSupport +import org.neo4j.cypher.internal.runtime.CreateTempFileTestSupport import org.neo4j.cypher.{ExecutionEngineFunSuite, QueryStatisticsTestSupport} import org.neo4j.internal.cypher.acceptance.CypherComparisonSupport.Configs diff --git a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/CypherComparisonSupport.scala b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/CypherComparisonSupport.scala index 59ac65ced2904..20f576a1b6820 100644 --- a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/CypherComparisonSupport.scala +++ b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/CypherComparisonSupport.scala @@ -20,19 +20,18 @@ package org.neo4j.internal.cypher.acceptance import org.neo4j.cypher._ -import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherTestSupport -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription.Arguments.{Planner => IPDPlanner, Runtime => IPDRuntime, Version => IPDVersion} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{CRS, CartesianPoint, GeographicPoint} +import org.neo4j.cypher.internal.RewindableExecutionResult import org.neo4j.cypher.internal.compiler.v3_1.{CartesianPoint => CartesianPointv3_1, GeographicPoint => GeographicPointv3_1} -import org.neo4j.cypher.internal.frontend.v3_4.helpers.Eagerly -import org.neo4j.cypher.internal.{InternalExecutionResult, RewindableExecutionResult} -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService +import org.neo4j.cypher.internal.javacompat.GraphDatabaseCypherService +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription.Arguments.{Planner => IPDPlanner, Runtime => IPDRuntime, Version => IPDVersion} +import org.neo4j.cypher.internal.runtime.{CRS, CartesianPoint, GeographicPoint, InternalExecutionResult} +import org.neo4j.cypher.internal.util.v3_4.Eagerly +import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherTestSupport import org.neo4j.graphdb.Result import org.neo4j.graphdb.config.Setting import org.neo4j.graphdb.factory.GraphDatabaseSettings import org.neo4j.test.TestEnterpriseGraphDatabaseFactory -import org.scalacheck.Prop.True import org.scalatest.Assertions import org.scalatest.matchers.{MatchResult, Matcher} diff --git a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/EagerizationAcceptanceTest.scala b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/EagerizationAcceptanceTest.scala index 4662e93f2b126..da2cfbf9c44a3 100644 --- a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/EagerizationAcceptanceTest.scala +++ b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/EagerizationAcceptanceTest.scala @@ -20,10 +20,8 @@ package org.neo4j.internal.cypher.acceptance import org.neo4j.collection.RawIterator -import org.neo4j.cypher.internal.InternalExecutionResult -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.Counter -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription -import org.neo4j.cypher.internal.compiler.v3_4.test_helpers.CreateTempFileTestSupport +import org.neo4j.cypher.internal.runtime.{Counter, CreateTempFileTestSupport, InternalExecutionResult} +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription import org.neo4j.cypher.{ExecutionEngineFunSuite, QueryStatisticsTestSupport} import org.neo4j.graphdb.{Direction, Node} import org.neo4j.internal.cypher.acceptance.CypherComparisonSupport._ diff --git a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/LdbcAcceptanceTest.scala b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/LdbcAcceptanceTest.scala index 3ddbbedebfa29..0aa6b5d0631dd 100644 --- a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/LdbcAcceptanceTest.scala +++ b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/LdbcAcceptanceTest.scala @@ -20,8 +20,8 @@ package org.neo4j.internal.cypher.acceptance import org.neo4j.cypher.ExecutionEngineFunSuite -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription.Arguments.EstimatedRows +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription.Arguments.EstimatedRows +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription /** * Runs the 14 LDBC queries and checks so that the result is what is expected. diff --git a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/LoadCsvAcceptanceTest.scala b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/LoadCsvAcceptanceTest.scala index 610623ca86e97..e24d8190590c3 100644 --- a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/LoadCsvAcceptanceTest.scala +++ b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/LoadCsvAcceptanceTest.scala @@ -24,8 +24,8 @@ import java.net.{URL, URLConnection, URLStreamHandler, URLStreamHandlerFactory} import java.util.Collections.emptyMap import org.neo4j.cypher._ -import org.neo4j.cypher.internal.compiler.v3_4.test_helpers.CreateTempFileTestSupport import org.neo4j.cypher.internal.frontend.v3_4.helpers.StringHelper.RichString +import org.neo4j.cypher.internal.runtime.CreateTempFileTestSupport import org.neo4j.cypher.internal.v3_4.logical.plans.NodeIndexSeek import org.neo4j.graphdb.QueryExecutionException import org.neo4j.graphdb.config.Configuration diff --git a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/LoadCsvAcceptanceUserAgentTest.scala b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/LoadCsvAcceptanceUserAgentTest.scala index d4796d0a2b08f..bac7854a1b15c 100644 --- a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/LoadCsvAcceptanceUserAgentTest.scala +++ b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/LoadCsvAcceptanceUserAgentTest.scala @@ -21,7 +21,7 @@ package org.neo4j.internal.cypher.acceptance import org.neo4j.cypher._ import org.neo4j.cypher.internal.frontend.v3_4.helpers.StringHelper.RichString -import org.neo4j.cypher.internal.spi.v3_4.CSVResources +import org.neo4j.cypher.internal.runtime.interpreted.CSVResources import org.neo4j.internal.cypher.acceptance.CypherComparisonSupport.{Configs, TestConfiguration} import org.scalatest.BeforeAndAfterAll import sun.net.www.protocol.http.HttpURLConnection diff --git a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/LoadCsvWithQuotesAcceptanceTest.scala b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/LoadCsvWithQuotesAcceptanceTest.scala index d800307f716e0..901c505e9baae 100644 --- a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/LoadCsvWithQuotesAcceptanceTest.scala +++ b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/LoadCsvWithQuotesAcceptanceTest.scala @@ -22,9 +22,9 @@ package org.neo4j.internal.cypher.acceptance import java.io.PrintWriter import org.neo4j.csv.reader.MissingEndQuoteException -import org.neo4j.cypher.internal.{InternalExecutionResult, RewindableExecutionResult} -import org.neo4j.cypher.internal.compiler.v3_4.test_helpers.CreateTempFileTestSupport -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService +import org.neo4j.cypher.internal.RewindableExecutionResult +import org.neo4j.cypher.internal.javacompat.GraphDatabaseCypherService +import org.neo4j.cypher.internal.runtime.{CreateTempFileTestSupport, InternalExecutionResult} import org.neo4j.cypher.{ExecutionEngineFunSuite, ExecutionEngineHelper, RunWithConfigTestSupport} import org.neo4j.graphdb.factory.GraphDatabaseSettings diff --git a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/MatchAcceptanceTest.scala b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/MatchAcceptanceTest.scala index 3649240c5b2dc..85c9968291555 100644 --- a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/MatchAcceptanceTest.scala +++ b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/MatchAcceptanceTest.scala @@ -20,7 +20,7 @@ package org.neo4j.internal.cypher.acceptance import org.neo4j.cypher._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.PathImpl +import org.neo4j.cypher.internal.runtime.PathImpl import org.neo4j.graphdb._ import org.neo4j.helpers.collection.Iterators.single import org.neo4j.internal.cypher.acceptance.CypherComparisonSupport.Configs diff --git a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/MatchAggregationsBackedByCountStoreAcceptanceTest.scala b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/MatchAggregationsBackedByCountStoreAcceptanceTest.scala index 7d54cc69ff31c..b09cdc6d3d821 100644 --- a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/MatchAggregationsBackedByCountStoreAcceptanceTest.scala +++ b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/MatchAggregationsBackedByCountStoreAcceptanceTest.scala @@ -19,8 +19,8 @@ */ package org.neo4j.internal.cypher.acceptance -import org.neo4j.cypher.internal.InternalExecutionResult -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription +import org.neo4j.cypher.internal.runtime.InternalExecutionResult +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription import org.neo4j.cypher.{ExecutionEngineFunSuite, QueryPlanTestSupport, QueryStatisticsTestSupport} import org.scalatest.matchers.{MatchResult, Matcher} import org.neo4j.internal.cypher.acceptance.CypherComparisonSupport.{ComparePlansWithAssertion, Configs, TestConfiguration} diff --git a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/MatchLongPatternAcceptanceTest.scala b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/MatchLongPatternAcceptanceTest.scala index fdfff878b41cf..6cfc8d95679d1 100644 --- a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/MatchLongPatternAcceptanceTest.scala +++ b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/MatchLongPatternAcceptanceTest.scala @@ -23,10 +23,10 @@ import java.io.File import java.util import org.neo4j.cypher._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.idp.IDPSolverMonitor +import org.neo4j.cypher.internal.javacompat.GraphDatabaseCypherService +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription import org.neo4j.cypher.internal.{CommunityCompatibilityFactory, ExecutionEngine} -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService import org.neo4j.graphdb.config.Setting import org.neo4j.graphdb.factory.GraphDatabaseSettings import org.neo4j.graphdb.factory.GraphDatabaseSettings.{cypher_idp_solver_duration_threshold, cypher_idp_solver_table_threshold} diff --git a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/MergeIntoPlanningAcceptanceTest.scala b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/MergeIntoPlanningAcceptanceTest.scala index a3661284471c9..9e5be3de64269 100644 --- a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/MergeIntoPlanningAcceptanceTest.scala +++ b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/MergeIntoPlanningAcceptanceTest.scala @@ -20,7 +20,7 @@ package org.neo4j.internal.cypher.acceptance import org.neo4j.cypher.ExecutionEngineFunSuite -import org.neo4j.cypher.internal.InternalExecutionResult +import org.neo4j.cypher.internal.runtime.InternalExecutionResult class MergeIntoPlanningAcceptanceTest extends ExecutionEngineFunSuite{ diff --git a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/MergeNodeCompatibilityAcceptanceTest.scala b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/MergeNodeCompatibilityAcceptanceTest.scala index d3b0c3b54d3a0..b1c523e51de8c 100644 --- a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/MergeNodeCompatibilityAcceptanceTest.scala +++ b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/MergeNodeCompatibilityAcceptanceTest.scala @@ -20,7 +20,7 @@ package org.neo4j.internal.cypher.acceptance import org.neo4j.cypher.internal.helpers.{NodeKeyConstraintCreator, UniquenessConstraintCreator} -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService +import org.neo4j.cypher.internal.javacompat.GraphDatabaseCypherService import org.neo4j.cypher.{ExecutionEngineFunSuite, MergeConstraintConflictException, QueryStatisticsTestSupport} import org.neo4j.graphdb.Node import org.neo4j.graphdb.config.Setting diff --git a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/NodeIndexSeekByRangeAcceptanceTest.scala b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/NodeIndexSeekByRangeAcceptanceTest.scala index b59205a83da3c..55d8e3eba1ec6 100644 --- a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/NodeIndexSeekByRangeAcceptanceTest.scala +++ b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/NodeIndexSeekByRangeAcceptanceTest.scala @@ -19,7 +19,7 @@ */ package org.neo4j.internal.cypher.acceptance -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{IndexSeekByRange, UniqueIndexSeekByRange} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{IndexSeekByRange, UniqueIndexSeekByRange} import org.neo4j.cypher.{ExecutionEngineFunSuite, SyntaxException} import org.neo4j.internal.cypher.acceptance.CypherComparisonSupport._ diff --git a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/PatternComprehensionAcceptanceTest.scala b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/PatternComprehensionAcceptanceTest.scala index 0880774d0e3cc..f677276b8e67f 100644 --- a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/PatternComprehensionAcceptanceTest.scala +++ b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/PatternComprehensionAcceptanceTest.scala @@ -20,7 +20,7 @@ package org.neo4j.internal.cypher.acceptance import org.neo4j.cypher.ExecutionEngineFunSuite -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.PathImpl +import org.neo4j.cypher.internal.runtime.PathImpl import org.neo4j.internal.cypher.acceptance.CypherComparisonSupport.Versions.V3_1 import org.neo4j.internal.cypher.acceptance.CypherComparisonSupport._ import org.neo4j.kernel.impl.proc.Procedures diff --git a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/PatternExpressionImplementationAcceptanceTest.scala b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/PatternExpressionImplementationAcceptanceTest.scala index 428da46f8baee..e35642a1a11e3 100644 --- a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/PatternExpressionImplementationAcceptanceTest.scala +++ b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/PatternExpressionImplementationAcceptanceTest.scala @@ -19,10 +19,10 @@ */ package org.neo4j.internal.cypher.acceptance -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.PathImpl -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription.Arguments.{EstimatedRows, ExpandExpression} import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.cypher.ExecutionEngineFunSuite +import org.neo4j.cypher.internal.runtime.PathImpl +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription.Arguments.{EstimatedRows, ExpandExpression} import org.neo4j.graphdb.Node import org.neo4j.internal.cypher.acceptance.CypherComparisonSupport._ import org.scalatest.Matchers diff --git a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/PeriodicCommitAcceptanceTest.scala b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/PeriodicCommitAcceptanceTest.scala index 4ce3147a131f5..b2c957c1368b8 100644 --- a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/PeriodicCommitAcceptanceTest.scala +++ b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/PeriodicCommitAcceptanceTest.scala @@ -22,10 +22,9 @@ package org.neo4j.internal.cypher.acceptance import java.io.PrintWriter import org.neo4j.cypher._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription.Arguments.{PageCacheHits, PageCacheMisses, Planner, PlannerImpl} -import org.neo4j.cypher.internal.compiler.v3_4.test_helpers.CreateTempFileTestSupport import org.neo4j.cypher.internal.frontend.v3_4.helpers.StringHelper.RichString -import org.neo4j.cypher.internal.helpers.TxCounts +import org.neo4j.cypher.internal.runtime.CreateTempFileTestSupport +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription.Arguments.{PageCacheHits, PageCacheMisses, PlannerImpl} import org.neo4j.graphdb.Node import org.neo4j.kernel.api.KernelTransaction import org.neo4j.kernel.impl.transaction.log.TransactionIdStore diff --git a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/PreParsingAcceptanceTest.scala b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/PreParsingAcceptanceTest.scala index ee09de2abf159..4903440014bb6 100644 --- a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/PreParsingAcceptanceTest.scala +++ b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/PreParsingAcceptanceTest.scala @@ -20,10 +20,10 @@ package org.neo4j.internal.cypher.acceptance import org.neo4j.cypher.ExecutionEngineFunSuite -import org.neo4j.cypher.internal.InternalExecutionResult -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription.Arguments -import org.neo4j.cypher.internal.compiler.v3_4._ import org.neo4j.cypher.internal.frontend.v3_4.PlannerName +import org.neo4j.cypher.internal.planner.v3_4.spi.{DPPlannerName, IDPPlannerName} +import org.neo4j.cypher.internal.runtime.InternalExecutionResult +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription.Arguments import org.scalatest.matchers.{MatchResult, Matcher} class PreParsingAcceptanceTest extends ExecutionEngineFunSuite { diff --git a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/ProfilerAcceptanceTest.scala b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/ProfilerAcceptanceTest.scala index 10b8662f3208d..52ccdd72b59cd 100644 --- a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/ProfilerAcceptanceTest.scala +++ b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/ProfilerAcceptanceTest.scala @@ -19,16 +19,14 @@ */ package org.neo4j.internal.cypher.acceptance -import org.neo4j.cypher.internal.InternalExecutionResult -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription.Arguments.{DbHits, EstimatedRows, Rows, Signature} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.{Argument, InternalPlanDescription} -import org.neo4j.cypher.internal.compiler.v3_4.spi.GraphStatistics -import org.neo4j.cypher.internal.compiler.v3_4.test_helpers.CreateTempFileTestSupport import org.neo4j.cypher.internal.frontend.v3_4.helpers.StringHelper.RichString -import org.neo4j.cypher.internal.helpers.TxCounts +import org.neo4j.cypher.internal.planner.v3_4.spi.GraphStatistics +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription.Arguments.{DbHits, EstimatedRows, Rows, Signature} import org.neo4j.cypher.internal.util.v3_4.symbols._ +import org.neo4j.cypher.internal.runtime.{CreateTempFileTestSupport, InternalExecutionResult} +import org.neo4j.cypher.internal.runtime.planDescription.{Argument, InternalPlanDescription} import org.neo4j.cypher.internal.v3_4.logical.plans.QualifiedName -import org.neo4j.cypher.{ExecutionEngineFunSuite, ProfilerStatisticsNotReadyException} +import org.neo4j.cypher.{ExecutionEngineFunSuite, ProfilerStatisticsNotReadyException, TxCounts} import org.neo4j.graphdb.QueryExecutionException import org.neo4j.internal.cypher.acceptance.CypherComparisonSupport.{Configs, TestConfiguration} diff --git a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/QueryPlanCompatibilityTest.scala b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/QueryPlanCompatibilityTest.scala index 0bfac868e5f55..0f509270c1919 100644 --- a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/QueryPlanCompatibilityTest.scala +++ b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/QueryPlanCompatibilityTest.scala @@ -20,7 +20,7 @@ package org.neo4j.internal.cypher.acceptance import org.neo4j.cypher.ExecutionEngineFunSuite -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription import org.neo4j.internal.cypher.acceptance.CypherComparisonSupport.{ComparePlansWithAssertion, Configs} class QueryPlanCompatibilityTest extends ExecutionEngineFunSuite with CypherComparisonSupport { diff --git a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/ShortestPathAcceptanceTest.scala b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/ShortestPathAcceptanceTest.scala index f45a5e4cc63a1..1e02a2ef98706 100644 --- a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/ShortestPathAcceptanceTest.scala +++ b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/ShortestPathAcceptanceTest.scala @@ -19,8 +19,8 @@ */ package org.neo4j.internal.cypher.acceptance -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.PathImpl -import org.neo4j.cypher.{ExecutionEngineFunSuite} +import org.neo4j.cypher.ExecutionEngineFunSuite +import org.neo4j.cypher.internal.runtime.PathImpl import org.neo4j.graphdb.factory.GraphDatabaseSettings import org.neo4j.graphdb.{Node, Path} import org.neo4j.internal.cypher.acceptance.CypherComparisonSupport._ diff --git a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/ShortestPathLongerAcceptanceTest.scala b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/ShortestPathLongerAcceptanceTest.scala index b2f88cd0e0815..ba61e1c12a98d 100644 --- a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/ShortestPathLongerAcceptanceTest.scala +++ b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/ShortestPathLongerAcceptanceTest.scala @@ -22,11 +22,12 @@ package org.neo4j.internal.cypher.acceptance import java.util import org.neo4j.cypher.internal.util.v3_4.InternalException -import org.neo4j.cypher.internal.{InternalExecutionResult, RewindableExecutionResult} +import org.neo4j.cypher.internal.RewindableExecutionResult import org.neo4j.cypher.internal.compatibility.ClosingExecutionResult -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription.Arguments.Rows import org.neo4j.cypher.ExecutionEngineFunSuite +import org.neo4j.cypher.internal.runtime.InternalExecutionResult +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription.Arguments.Rows import org.neo4j.graphalgo.impl.path.ShortestPath import org.neo4j.graphalgo.impl.path.ShortestPath.DataMonitor import org.neo4j.graphdb.factory.GraphDatabaseSettings diff --git a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/ShortestPathSameNodeAcceptanceTest.scala b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/ShortestPathSameNodeAcceptanceTest.scala index 187d6c77562d7..2e692e6521c92 100644 --- a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/ShortestPathSameNodeAcceptanceTest.scala +++ b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/ShortestPathSameNodeAcceptanceTest.scala @@ -19,8 +19,9 @@ */ package org.neo4j.internal.cypher.acceptance -import org.neo4j.cypher.internal.{CompatibilityFactory, ExecutionEngine, InternalExecutionResult, RewindableExecutionResult} -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService +import org.neo4j.cypher.internal.javacompat.GraphDatabaseCypherService +import org.neo4j.cypher.internal.runtime.InternalExecutionResult +import org.neo4j.cypher.internal.{CompatibilityFactory, ExecutionEngine, RewindableExecutionResult} import org.neo4j.cypher.{ExecutionEngineFunSuite, RunWithConfigTestSupport, ShortestPathCommonEndNodesForbiddenException} import org.neo4j.graphdb.RelationshipType import org.neo4j.graphdb.factory.GraphDatabaseSettings diff --git a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/SpatialFunctionsAcceptanceTest.scala b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/SpatialFunctionsAcceptanceTest.scala index 3292de660bc24..511677bfff101 100644 --- a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/SpatialFunctionsAcceptanceTest.scala +++ b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/SpatialFunctionsAcceptanceTest.scala @@ -20,7 +20,7 @@ package org.neo4j.internal.cypher.acceptance import org.neo4j.cypher.ExecutionEngineFunSuite -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{CRS, CartesianPoint, GeographicPoint} +import org.neo4j.cypher.internal.runtime.{CRS, CartesianPoint, GeographicPoint} import org.neo4j.internal.cypher.acceptance.CypherComparisonSupport.Versions.V3_1 import org.neo4j.internal.cypher.acceptance.CypherComparisonSupport._ diff --git a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/StartsWithImplementationAcceptanceTest.scala b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/StartsWithImplementationAcceptanceTest.scala index 4a3038bda6991..8863334572bf4 100644 --- a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/StartsWithImplementationAcceptanceTest.scala +++ b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/StartsWithImplementationAcceptanceTest.scala @@ -19,7 +19,7 @@ */ package org.neo4j.internal.cypher.acceptance -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.IndexSeekByRange +import org.neo4j.cypher.internal.runtime.interpreted.pipes.IndexSeekByRange import org.neo4j.cypher.{ExecutionEngineFunSuite, QueryStatisticsTestSupport} import org.neo4j.graphdb.{Node, ResourceIterator} import org.neo4j.internal.cypher.acceptance.CypherComparisonSupport.Configs diff --git a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/UniqueIndexAcceptanceTest.scala b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/UniqueIndexAcceptanceTest.scala index 359d286dc5e3d..8a99c7942900e 100644 --- a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/UniqueIndexAcceptanceTest.scala +++ b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/UniqueIndexAcceptanceTest.scala @@ -20,7 +20,7 @@ package org.neo4j.internal.cypher.acceptance import org.neo4j.cypher.internal.helpers.{NodeKeyConstraintCreator, UniquenessConstraintCreator} -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService +import org.neo4j.cypher.internal.javacompat.GraphDatabaseCypherService import org.neo4j.cypher.{ExecutionEngineFunSuite, NewPlannerTestSupport} import org.neo4j.graphdb.config.Setting import org.neo4j.internal.cypher.acceptance.CypherComparisonSupport.{ComparePlansWithAssertion, Configs} diff --git a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/UniqueIndexUsageAcceptanceTest.scala b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/UniqueIndexUsageAcceptanceTest.scala index fae5fd48bf3c5..728245ea4c826 100644 --- a/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/UniqueIndexUsageAcceptanceTest.scala +++ b/enterprise/cypher/acceptance-spec-suite/src/test/scala/org/neo4j/internal/cypher/acceptance/UniqueIndexUsageAcceptanceTest.scala @@ -19,9 +19,9 @@ */ package org.neo4j.internal.cypher.acceptance -import org.neo4j.cypher.internal.compiler.v3_4.IndexDescriptor -import org.neo4j.cypher.internal.spi.v3_4.TransactionBoundQueryContext.IndexSearchMonitor import org.neo4j.cypher.ExecutionEngineFunSuite +import org.neo4j.cypher.internal.planner.v3_4.spi.IndexDescriptor +import org.neo4j.cypher.internal.runtime.interpreted.TransactionBoundQueryContext.IndexSearchMonitor import org.neo4j.internal.cypher.acceptance.CypherComparisonSupport.{ComparePlansWithAssertion, Configs} class UniqueIndexUsageAcceptanceTest extends ExecutionEngineFunSuite with CypherComparisonSupport { diff --git a/enterprise/cypher/cypher/pom.xml b/enterprise/cypher/cypher/pom.xml index fe2f1ffd4882b..d52da562c95bc 100644 --- a/enterprise/cypher/cypher/pom.xml +++ b/enterprise/cypher/cypher/pom.xml @@ -305,6 +305,14 @@ test + + org.neo4j + neo4j-cypher-runtime-util + ${project.version} + test-jar + test + + diff --git a/enterprise/cypher/cypher/src/main/java/org/neo4j/cypher/internal/javacompat/EnterpriseCypherEngineProvider.java b/enterprise/cypher/cypher/src/main/java/org/neo4j/cypher/internal/javacompat/EnterpriseCypherEngineProvider.java index 5aeade0631f1b..3444ad18ea9aa 100644 --- a/enterprise/cypher/cypher/src/main/java/org/neo4j/cypher/internal/javacompat/EnterpriseCypherEngineProvider.java +++ b/enterprise/cypher/cypher/src/main/java/org/neo4j/cypher/internal/javacompat/EnterpriseCypherEngineProvider.java @@ -21,7 +21,6 @@ import org.neo4j.cypher.internal.CommunityCompatibilityFactory; import org.neo4j.cypher.internal.EnterpriseCompatibilityFactory; -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService; import org.neo4j.graphdb.DependencyResolver; import org.neo4j.helpers.Service; import org.neo4j.kernel.api.KernelAPI; diff --git a/enterprise/cypher/cypher/src/main/java/org/neo4j/cypher/internal/v3_4/codegen/profiling/ProfilingTracer.java b/enterprise/cypher/cypher/src/main/java/org/neo4j/cypher/internal/v3_4/codegen/profiling/ProfilingTracer.java index d561ab83645ee..b03f9c8fc71c0 100644 --- a/enterprise/cypher/cypher/src/main/java/org/neo4j/cypher/internal/v3_4/codegen/profiling/ProfilingTracer.java +++ b/enterprise/cypher/cypher/src/main/java/org/neo4j/cypher/internal/v3_4/codegen/profiling/ProfilingTracer.java @@ -23,7 +23,7 @@ import java.util.Map; import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.codegen.QueryExecutionEvent; -import org.neo4j.cypher.internal.compiler.v3_4.spi.KernelStatisticProvider; +import org.neo4j.cypher.internal.planner.v3_4.spi.KernelStatisticProvider; import org.neo4j.cypher.internal.v3_4.codegen.QueryExecutionTracer; import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId; import org.neo4j.helpers.MathUtil; diff --git a/enterprise/cypher/cypher/src/main/java/org/neo4j/cypher/internal/v3_4/executionplan/GeneratedQuery.java b/enterprise/cypher/cypher/src/main/java/org/neo4j/cypher/internal/v3_4/executionplan/GeneratedQuery.java index 92a024210f3da..d279989cf220b 100644 --- a/enterprise/cypher/cypher/src/main/java/org/neo4j/cypher/internal/v3_4/executionplan/GeneratedQuery.java +++ b/enterprise/cypher/cypher/src/main/java/org/neo4j/cypher/internal/v3_4/executionplan/GeneratedQuery.java @@ -19,11 +19,11 @@ */ package org.neo4j.cypher.internal.v3_4.executionplan; -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionMode; -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.TaskCloser; import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.Provider; -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription; -import org.neo4j.cypher.internal.spi.v3_4.QueryContext; +import org.neo4j.cypher.internal.runtime.ExecutionMode; +import org.neo4j.cypher.internal.runtime.QueryContext; +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription; +import org.neo4j.cypher.internal.util.v3_4.TaskCloser; import org.neo4j.cypher.internal.v3_4.codegen.QueryExecutionTracer; import org.neo4j.values.virtual.MapValue; diff --git a/enterprise/cypher/cypher/src/main/java/org/neo4j/cypher/internal/v3_4/executionplan/GeneratedQueryExecution.java b/enterprise/cypher/cypher/src/main/java/org/neo4j/cypher/internal/v3_4/executionplan/GeneratedQueryExecution.java index 38b659db568f8..47e4ee1661622 100644 --- a/enterprise/cypher/cypher/src/main/java/org/neo4j/cypher/internal/v3_4/executionplan/GeneratedQueryExecution.java +++ b/enterprise/cypher/cypher/src/main/java/org/neo4j/cypher/internal/v3_4/executionplan/GeneratedQueryExecution.java @@ -19,9 +19,9 @@ */ package org.neo4j.cypher.internal.v3_4.executionplan; -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionMode; +import org.neo4j.cypher.internal.runtime.ExecutionMode; import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.Completable; -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription; +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription; import org.neo4j.cypher.result.QueryResult; public interface GeneratedQueryExecution diff --git a/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/BuildSlottedExecutionPlan.scala b/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/BuildSlottedExecutionPlan.scala index 37b2c98c965c4..07d971b290f58 100644 --- a/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/BuildSlottedExecutionPlan.scala +++ b/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/BuildSlottedExecutionPlan.scala @@ -21,22 +21,22 @@ package org.neo4j.cypher.internal import org.neo4j.cypher.internal.util.v3_4.CypherException import org.neo4j.cypher.internal.compatibility.v3_4.runtime._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.convert.{CommunityExpressionConverter, ExpressionConverters} +import org.neo4j.cypher.internal.runtime.interpreted.commands.convert.{CommunityExpressionConverter, ExpressionConverters} import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.EnterpriseRuntimeContext import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan._ import org.neo4j.cypher.internal.compatibility.v3_4.runtime.phases.CompilationState -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.Pipe +import org.neo4j.cypher.internal.runtime.interpreted.pipes.Pipe import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.SlottedPipeBuilder import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.expressions.SlottedExpressionConverters import org.neo4j.cypher.internal.compiler.v3_4.CypherCompilerConfiguration import org.neo4j.cypher.internal.compiler.v3_4.phases.{CompilationContains, LogicalPlanState} import org.neo4j.cypher.internal.compiler.v3_4.planner.CantCompileQueryException -import org.neo4j.cypher.internal.compiler.v3_4.spi.{GraphStatistics, PlanContext} import org.neo4j.cypher.internal.frontend.v3_4.notification.InternalNotification import org.neo4j.cypher.internal.frontend.v3_4.phases.CompilationPhaseTracer.CompilationPhase.PIPE_BUILDING import org.neo4j.cypher.internal.frontend.v3_4.phases.{CompilationPhaseTracer, Monitors, Phase} import org.neo4j.cypher.internal.frontend.v3_4.PlannerName -import org.neo4j.cypher.internal.spi.v3_4.QueryContext +import org.neo4j.cypher.internal.planner.v3_4.spi.{GraphStatistics, PlanContext} +import org.neo4j.cypher.internal.runtime.{ExecutionMode, InternalExecutionResult, QueryContext, interpreted} import org.neo4j.cypher.internal.v3_4.logical.plans.{IndexUsage, LogicalPlan, LogicalPlanId} import org.neo4j.values.virtual.MapValue diff --git a/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/compiled/BuildCompiledExecutionPlan.scala b/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/compiled/BuildCompiledExecutionPlan.scala index 77643662f8c23..a0ecd38ade69a 100644 --- a/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/compiled/BuildCompiledExecutionPlan.scala +++ b/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/compiled/BuildCompiledExecutionPlan.scala @@ -19,23 +19,23 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled -import org.neo4j.cypher.internal.InternalExecutionResult import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.ExecutionPlanBuilder.DescriptionProvider import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.codegen._ import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan._ import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.InternalWrapping.asKernelNotification import org.neo4j.cypher.internal.compatibility.v3_4.runtime.phases.CompilationState -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription.Arguments -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{TaskCloser, _} +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription.Arguments +import org.neo4j.cypher.internal.compatibility.v3_4.runtime._ import org.neo4j.cypher.internal.compiler.v3_4.phases.LogicalPlanState import org.neo4j.cypher.internal.compiler.v3_4.planner.CantCompileQueryException -import org.neo4j.cypher.internal.compiler.v3_4.spi.{GraphStatistics, PlanContext} import org.neo4j.cypher.internal.frontend.v3_4.PlannerName import org.neo4j.cypher.internal.frontend.v3_4.notification.InternalNotification import org.neo4j.cypher.internal.frontend.v3_4.phases.CompilationPhaseTracer.CompilationPhase.CODE_GENERATION import org.neo4j.cypher.internal.frontend.v3_4.phases.Phase -import org.neo4j.cypher.internal.spi.v3_4.QueryContext +import org.neo4j.cypher.internal.planner.v3_4.spi.{GraphStatistics, PlanContext} +import org.neo4j.cypher.internal.runtime._ +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription +import org.neo4j.cypher.internal.util.v3_4.TaskCloser import org.neo4j.cypher.internal.v3_4.codegen.profiling.ProfilingTracer import org.neo4j.cypher.internal.v3_4.logical.plans.IndexUsage import org.neo4j.values.virtual.MapValue diff --git a/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/compiled/CompiledExecutionResult.scala b/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/compiled/CompiledExecutionResult.scala index 8cad51922ec49..c04d8e82135a9 100644 --- a/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/compiled/CompiledExecutionResult.scala +++ b/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/compiled/CompiledExecutionResult.scala @@ -19,14 +19,13 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled -import org.neo4j.cypher.internal.util.v3_4.ProfilerStatisticsNotReadyException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.{InternalQueryType, Provider, READ_ONLY, StandardInternalExecutionResult} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription.Arguments.{Runtime, RuntimeImpl} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{CompiledRuntimeName, ExecutionMode, TaskCloser} -import org.neo4j.cypher.internal.spi.v3_4.QueryContext +import org.neo4j.cypher.internal.util.v3_4.{ProfilerStatisticsNotReadyException, TaskCloser} +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.{Provider, StandardInternalExecutionResult} +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.CompiledRuntimeName import org.neo4j.cypher.internal.v3_4.executionplan.GeneratedQueryExecution -import org.neo4j.cypher.internal.{InternalExecutionResult, QueryStatistics} +import org.neo4j.cypher.internal.runtime._ +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription.Arguments.{Runtime, RuntimeImpl} import org.neo4j.cypher.result.QueryResult.QueryResultVisitor import org.neo4j.graphdb.Notification diff --git a/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/compiled/EnterpriseRuntimeContext.scala b/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/compiled/EnterpriseRuntimeContext.scala index bd5223ddf3378..6faad20a851a7 100644 --- a/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/compiled/EnterpriseRuntimeContext.scala +++ b/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/compiled/EnterpriseRuntimeContext.scala @@ -25,9 +25,9 @@ import org.neo4j.cypher.internal.util.v3_4.{CypherException, InputPosition} import org.neo4j.cypher.internal.compatibility.v3_4.runtime.CommunityRuntimeContext import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.codegen.spi.CodeStructure import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.{ExpressionEvaluator, Metrics, MetricsFactory, QueryGraphSolver} -import org.neo4j.cypher.internal.compiler.v3_4.spi.PlanContext import org.neo4j.cypher.internal.compiler.v3_4.{ContextCreator, CypherCompilerConfiguration, SyntaxExceptionCreator, UpdateStrategy} import org.neo4j.cypher.internal.frontend.v3_4.phases.{CompilationPhaseTracer, InternalNotificationLogger, Monitors} +import org.neo4j.cypher.internal.planner.v3_4.spi.PlanContext import org.neo4j.cypher.internal.v3_4.executionplan.GeneratedQuery class EnterpriseRuntimeContext(override val exceptionCreator: (String, InputPosition) => CypherException, diff --git a/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/compiled/ExecutionPlanBuilder.scala b/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/compiled/ExecutionPlanBuilder.scala index d0b6d9592cc8d..ecba455277029 100644 --- a/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/compiled/ExecutionPlanBuilder.scala +++ b/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/compiled/ExecutionPlanBuilder.scala @@ -19,14 +19,15 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled -import org.neo4j.cypher.internal.InternalExecutionResult import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.ExecutionPlanBuilder.DescriptionProvider import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.{PeriodicCommitInfo, PlanFingerprint, Provider} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription.Arguments -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{CompiledRuntimeName, ExecutionMode, ProfileMode, TaskCloser} +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.CompiledRuntimeName import org.neo4j.cypher.internal.frontend.v3_4.PlannerName -import org.neo4j.cypher.internal.spi.v3_4.QueryContext +import org.neo4j.cypher.internal.runtime.{ExecutionMode, InternalExecutionResult, ProfileMode, QueryContext} +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription.Arguments +import org.neo4j.cypher.internal.spi.v3_4 +import org.neo4j.cypher.internal.util.v3_4.TaskCloser import org.neo4j.cypher.internal.v3_4.codegen.QueryExecutionTracer import org.neo4j.cypher.internal.v3_4.codegen.profiling.ProfilingTracer import org.neo4j.cypher.internal.v3_4.logical.plans.IndexUsage diff --git a/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/compiled/codegen/CodeGenerator.scala b/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/compiled/codegen/CodeGenerator.scala index 8ad577321ae41..e88a981b17400 100644 --- a/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/compiled/codegen/CodeGenerator.scala +++ b/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/compiled/codegen/CodeGenerator.scala @@ -22,21 +22,20 @@ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.codegen import java.time.Clock import java.util -import org.neo4j.cypher.internal.InternalExecutionResult import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.ExecutionPlanBuilder.DescriptionProvider import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.codegen.ir._ import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.codegen.spi.{CodeStructure, CodeStructureResult} import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.{CompiledExecutionResult, CompiledPlan, RunnablePlan} import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.{PlanFingerprint, Provider} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription.Arguments.{Runtime, RuntimeImpl} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.{InternalPlanDescription, LogicalPlan2PlanDescription} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{CompiledRuntimeName, ExecutionMode, TaskCloser} +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.CompiledRuntimeName import org.neo4j.cypher.internal.compiler.v3_4.planner.CantCompileQueryException -import org.neo4j.cypher.internal.compiler.v3_4.spi.{InstrumentedGraphStatistics, PlanContext} -import org.neo4j.cypher.internal.frontend.v3_4.helpers.Eagerly import org.neo4j.cypher.internal.frontend.v3_4.PlannerName import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable -import org.neo4j.cypher.internal.spi.v3_4.QueryContext +import org.neo4j.cypher.internal.planner.v3_4.spi.{InstrumentedGraphStatistics, PlanContext} +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription.Arguments.{Runtime, RuntimeImpl} +import org.neo4j.cypher.internal.runtime.{ExecutionMode, InternalExecutionResult, QueryContext} +import org.neo4j.cypher.internal.runtime.planDescription.{InternalPlanDescription, LogicalPlan2PlanDescription} +import org.neo4j.cypher.internal.util.v3_4.{Eagerly, TaskCloser} import org.neo4j.cypher.internal.v3_4.codegen.QueryExecutionTracer import org.neo4j.cypher.internal.v3_4.executionplan.{GeneratedQuery, GeneratedQueryExecution} import org.neo4j.cypher.internal.v3_4.logical.plans.{LogicalPlan, LogicalPlanId, ProduceResult} diff --git a/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/compiled/codegen/LogicalPlanConverter.scala b/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/compiled/codegen/LogicalPlanConverter.scala index e7b2b113a84ad..2e0c2645e519f 100644 --- a/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/compiled/codegen/LogicalPlanConverter.scala +++ b/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/compiled/codegen/LogicalPlanConverter.scala @@ -29,7 +29,7 @@ import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.codegen.spi import org.neo4j.cypher.internal.compiler.v3_4.planner.CantCompileQueryException import org.neo4j.cypher.internal.util.v3_4.Foldable._ import org.neo4j.cypher.internal.v3_4.expressions.Expression -import org.neo4j.cypher.internal.frontend.v3_4.helpers.Eagerly.immutableMapValues +import org.neo4j.cypher.internal.util.v3_4.Eagerly.immutableMapValues import org.neo4j.cypher.internal.v3_4.{expressions => ast} import org.neo4j.cypher.internal.ir.v3_4.IdName import org.neo4j.cypher.internal.v3_4.logical.plans diff --git a/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/compiled/codegen/spi/CodeStructureResult.scala b/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/compiled/codegen/spi/CodeStructureResult.scala index 3663ecb5e7e1c..fbb58819ac321 100644 --- a/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/compiled/codegen/spi/CodeStructureResult.scala +++ b/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/compiled/codegen/spi/CodeStructureResult.scala @@ -19,8 +19,8 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.codegen.spi -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.Argument -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription.Arguments.{ByteCode, SourceCode} +import org.neo4j.cypher.internal.runtime.planDescription.Argument +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription.Arguments.{ByteCode, SourceCode} trait CodeStructureResult[T] { def query: T diff --git a/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/compiled/helpers/LiteralTypeSupport.scala b/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/compiled/helpers/LiteralTypeSupport.scala index 7449cd332ef86..2453726516cf6 100644 --- a/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/compiled/helpers/LiteralTypeSupport.scala +++ b/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/compiled/helpers/LiteralTypeSupport.scala @@ -21,8 +21,8 @@ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.helpers import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.codegen.ir.expressions import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.codegen.ir.expressions.{BoolType, CypherCodeGenType, ListReferenceType, LongType, ReferenceType, RepresentationType} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.IsMap import org.neo4j.cypher.internal.compiler.v3_4.helpers.IsList +import org.neo4j.cypher.internal.runtime.interpreted.IsMap import org.neo4j.cypher.internal.util.v3_4.symbols._ object LiteralTypeSupport { diff --git a/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/codegen/GeneratedMethodStructure.scala b/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/codegen/GeneratedMethodStructure.scala index 2bc2019917542..4fcaae2ce8255 100644 --- a/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/codegen/GeneratedMethodStructure.scala +++ b/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/codegen/GeneratedMethodStructure.scala @@ -33,7 +33,7 @@ import org.neo4j.cypher.internal.util.v3_4.{ParameterNotFoundException, symbols} import org.neo4j.cypher.internal.util.v3_4.symbols.{CTInteger, CTNode, CTRelationship, ListType} import org.neo4j.cypher.internal.codegen.CompiledConversionUtils.CompositeKey import org.neo4j.cypher.internal.codegen._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.convert.DirectionConverter.toGraphDb +import org.neo4j.cypher.internal.runtime.interpreted.commands.convert.DirectionConverter.toGraphDb import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.codegen.ir.expressions.{BoolType, CodeGenType, CypherCodeGenType, FloatType, ListReferenceType, LongType, ReferenceType, RepresentationType, Parameter => _} import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.codegen.spi._ import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.codegen.{CodeGenContext, QueryExecutionEvent} diff --git a/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/codegen/GeneratedQueryStructure.scala b/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/codegen/GeneratedQueryStructure.scala index 73e93536c85b1..96f78fc54dcfb 100644 --- a/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/codegen/GeneratedQueryStructure.scala +++ b/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/codegen/GeneratedQueryStructure.scala @@ -29,18 +29,17 @@ import org.neo4j.codegen.bytecode.ByteCode.{BYTECODE, VERIFY_GENERATED_BYTECODE} import org.neo4j.codegen.source.SourceCode.SOURCECODE import org.neo4j.codegen.source.{SourceCode, SourceVisitor} import org.neo4j.codegen.{CodeGenerator, Parameter, _} -import org.neo4j.cypher.internal.util.v3_4.symbols +import org.neo4j.cypher.internal.util.v3_4.{TaskCloser, symbols} import org.neo4j.cypher.internal.codegen.{PrimitiveNodeStream, PrimitiveRelationshipStream} import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.codegen._ import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.codegen.ir.expressions._ import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.codegen.spi.{CodeStructure, CodeStructureResult, MethodStructure} import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.{Completable, Provider} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{ExecutionMode, TaskCloser} import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.cypher.internal.frontend.v3_4.helpers.using import org.neo4j.cypher.internal.javacompat.ResultRecord -import org.neo4j.cypher.internal.spi.v3_4.QueryContext +import org.neo4j.cypher.internal.runtime.{ExecutionMode, QueryContext} +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription import org.neo4j.cypher.internal.v3_4.codegen.QueryExecutionTracer import org.neo4j.cypher.internal.v3_4.executionplan.{GeneratedQuery, GeneratedQueryExecution} import org.neo4j.cypher.result.QueryResult.QueryResultVisitor diff --git a/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/codegen/Templates.scala b/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/codegen/Templates.scala index 0d4351f8cf5b4..f78e7899200bb 100644 --- a/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/codegen/Templates.scala +++ b/enterprise/cypher/cypher/src/main/scala/org/neo4j/cypher/internal/spi/v3_4/codegen/Templates.scala @@ -29,14 +29,13 @@ import org.neo4j.codegen.MethodDeclaration.Builder import org.neo4j.codegen.MethodReference._ import org.neo4j.codegen._ import org.neo4j.collection.primitive.{Primitive, PrimitiveLongIntMap, PrimitiveLongObjectMap} -import org.neo4j.cypher.internal.util.v3_4.CypherExecutionException +import org.neo4j.cypher.internal.util.v3_4.{CypherExecutionException, TaskCloser} import org.neo4j.cypher.internal.codegen.{PrimitiveNodeStream, PrimitiveRelationshipStream} import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.{Completable, Provider} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{ExecutionMode, TaskCloser} import org.neo4j.cypher.internal.frontend.v3_4.helpers.using import org.neo4j.cypher.internal.javacompat.ResultRowImpl -import org.neo4j.cypher.internal.spi.v3_4.{QueryContext, QueryTransactionalContext} +import org.neo4j.cypher.internal.runtime.{ExecutionMode, QueryContext, QueryTransactionalContext} +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription import org.neo4j.cypher.internal.v3_4.codegen.QueryExecutionTracer import org.neo4j.graphdb.Direction import org.neo4j.internal.kernel.api.TokenNameLookup diff --git a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/CloseTransactionTest.scala b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/CloseTransactionTest.scala index ba4df60ca7c02..9ce5007bccaf4 100644 --- a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/CloseTransactionTest.scala +++ b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/CloseTransactionTest.scala @@ -25,9 +25,8 @@ import org.neo4j.collection.RawIterator import org.neo4j.collection.primitive.PrimitiveLongCollections import org.neo4j.cypher.ExecutionEngineHelper.createEngine import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.helpers.GraphIcing import org.neo4j.cypher.internal.ExecutionEngine -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService +import org.neo4j.cypher.internal.javacompat.GraphDatabaseCypherService import org.neo4j.graphdb.{GraphDatabaseService, Result} import org.neo4j.graphdb.Result.{ResultRow, ResultVisitor} import org.neo4j.kernel.GraphDatabaseQueryService diff --git a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/CypherCompatibilityTest.scala b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/CypherCompatibilityTest.scala index 01645c5656676..e72c3f200a371 100644 --- a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/CypherCompatibilityTest.scala +++ b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/CypherCompatibilityTest.scala @@ -19,7 +19,7 @@ */ package org.neo4j.cypher -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService +import org.neo4j.cypher.internal.javacompat.GraphDatabaseCypherService import org.neo4j.graphdb.QueryExecutionException import org.neo4j.graphdb.factory.GraphDatabaseSettings import org.neo4j.kernel.api.exceptions.Status diff --git a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/ExecutionEngineIT.scala b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/ExecutionEngineIT.scala index b9d6e9aa82c99..310af0e508a9f 100644 --- a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/ExecutionEngineIT.scala +++ b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/ExecutionEngineIT.scala @@ -23,9 +23,8 @@ import java.util import org.neo4j.collection.RawIterator import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.helpers.GraphIcing import org.neo4j.cypher.internal.ExecutionEngine -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService +import org.neo4j.cypher.internal.javacompat.GraphDatabaseCypherService import org.neo4j.graphdb.{ExecutionPlanDescription, Result} import org.neo4j.graphdb.Result.{ResultRow, ResultVisitor} import org.neo4j.kernel.api.Statement diff --git a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/ExecutionEngineTest.scala b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/ExecutionEngineTest.scala index e6efda1f74a50..9acc4e4914537 100644 --- a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/ExecutionEngineTest.scala +++ b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/ExecutionEngineTest.scala @@ -23,11 +23,11 @@ import java.io.{File, PrintWriter} import org.neo4j.cypher.ExecutionEngineHelper.createEngine import org.neo4j.cypher.internal.ExecutionEngine -import org.neo4j.cypher.internal.compiler.v3_4.test_helpers.CreateTempFileTestSupport import org.neo4j.cypher.internal.frontend.v3_4.phases.CompilationPhaseTracer.CompilationPhase +import org.neo4j.cypher.internal.javacompat.GraphDatabaseCypherService +import org.neo4j.cypher.internal.runtime.CreateTempFileTestSupport import org.neo4j.cypher.internal.tracing.TimingCompilationTracer import org.neo4j.cypher.internal.tracing.TimingCompilationTracer.QueryEvent -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService import org.neo4j.graphdb._ import org.neo4j.graphdb.config.Setting import org.neo4j.graphdb.factory.GraphDatabaseSettings diff --git a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/NewPlannerTestSupport.scala b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/NewPlannerTestSupport.scala index 0b3bc813475cb..921c16915581b 100644 --- a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/NewPlannerTestSupport.scala +++ b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/NewPlannerTestSupport.scala @@ -22,21 +22,17 @@ package org.neo4j.cypher import org.neo4j.cypher.NewPlannerMonitor.{NewPlannerMonitorCall, UnableToHandleQuery} import org.neo4j.cypher.NewRuntimeMonitor.{NewPlanSeen, NewRuntimeMonitorCall, UnableToCompileQuery} import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.NewRuntimeSuccessRateMonitor -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{CRS, CartesianPoint, GeographicPoint} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.NewRuntimeSuccessRateMonitor -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{CRS, CartesianPoint, GeographicPoint} import org.neo4j.cypher.internal.compiler.v3_1.{CartesianPoint => CartesianPointv3_1, GeographicPoint => GeographicPointv3_1} import org.neo4j.cypher.internal.compiler.v3_4.planner.CantCompileQueryException -import org.neo4j.cypher.internal.frontend.v3_4.helpers.Eagerly import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlan import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherTestSupport -import org.neo4j.cypher.internal.{InternalExecutionResult, RewindableExecutionResult} +import org.neo4j.cypher.internal.RewindableExecutionResult +import org.neo4j.cypher.internal.runtime.{CRS, CartesianPoint, GeographicPoint, InternalExecutionResult} +import org.neo4j.cypher.internal.util.v3_4.Eagerly import org.neo4j.graphdb.Result import org.neo4j.graphdb.config.Setting import org.neo4j.graphdb.factory.GraphDatabaseSettings import org.neo4j.helpers.Exceptions -import org.scalatest.matchers.{MatchResult, Matcher} import scala.util.{Failure, Success, Try} diff --git a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/RootPlanAcceptanceTest.scala b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/RootPlanAcceptanceTest.scala index e12622be3fbd9..75446440de752 100644 --- a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/RootPlanAcceptanceTest.scala +++ b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/RootPlanAcceptanceTest.scala @@ -19,9 +19,10 @@ */ package org.neo4j.cypher -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{CompiledRuntimeName, SlottedRuntimeName, InterpretedRuntimeName, RuntimeName} +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{CompiledRuntimeName, InterpretedRuntimeName, RuntimeName, SlottedRuntimeName} import org.neo4j.cypher.internal.compiler.v3_4._ import org.neo4j.cypher.internal.frontend.v3_4.PlannerName +import org.neo4j.cypher.internal.planner.v3_4.spi.{CostBasedPlannerName, DPPlannerName, IDPPlannerName} import org.neo4j.graphdb.ExecutionPlanDescription class RootPlanAcceptanceTest extends ExecutionEngineFunSuite { @@ -114,7 +115,7 @@ class RootPlanAcceptanceTest extends ExecutionEngineFunSuite { !code.isEmpty case _ => false }) { - fail("no $argument present: " + planDescription) + fail(s"no $argument present: $planDescription") } } diff --git a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/VarLengthPlanningTest.scala b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/VarLengthPlanningTest.scala index 80e15b124cd0d..c3822f8dd15a5 100644 --- a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/VarLengthPlanningTest.scala +++ b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/VarLengthPlanningTest.scala @@ -19,9 +19,9 @@ */ package org.neo4j.cypher -import org.neo4j.cypher.internal.InternalExecutionResult -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription.Arguments +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription.Arguments +import org.neo4j.cypher.internal.runtime.InternalExecutionResult +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription import org.neo4j.cypher.internal.v3_4.expressions.NoneIterablePredicate import org.neo4j.graphdb.Direction._ import org.neo4j.graphdb.{Direction, Node} diff --git a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/SlottedPipeBuilderTest.scala b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/SlottedPipeBuilderTest.scala index f1140ca789334..caa6ae576582a 100644 --- a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/SlottedPipeBuilderTest.scala +++ b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/SlottedPipeBuilderTest.scala @@ -23,25 +23,24 @@ import org.mockito.Mockito._ import org.neo4j.cypher.internal.BuildSlottedExecutionPlan.EnterprisePipeBuilderFactory import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.cypher.internal.compatibility.v3_4.runtime._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.convert.{CommunityExpressionConverter, ExpressionConverters} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Literal, Property, Variable} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values.KeyToken -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.values.TokenType.PropertyKey +import org.neo4j.cypher.internal.runtime.interpreted.commands +import org.neo4j.cypher.internal.runtime.interpreted.commands.convert.{CommunityExpressionConverter, ExpressionConverters} +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{Literal, Property, Variable} +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates +import org.neo4j.cypher.internal.runtime.interpreted.commands.values.KeyToken +import org.neo4j.cypher.internal.runtime.interpreted.commands.values.TokenType.PropertyKey import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.EnterpriseRuntimeContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes._ +import org.neo4j.cypher.internal.runtime.interpreted.pipes._ import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.expressions._ import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes._ import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.{pipes => slottedPipes} import org.neo4j.cypher.internal.compiled_runtime.v3_4.codegen.CompiledRuntimeContextHelper -import org.neo4j.cypher.internal.compiler.v3_4.planner.LogicalPlanningTestSupport2 -import org.neo4j.cypher.internal.compiler.v3_4.spi.PlanContext -import org.neo4j.cypher.internal.compiler.v3_4.{HardcodedGraphStatistics, IDPPlannerName} -import org.neo4j.cypher.internal.frontend.v3_4.ast._ +import org.neo4j.cypher.internal.compiler.v3_4.planner.{HardcodedGraphStatistics, LogicalPlanningTestSupport2} import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable import org.neo4j.cypher.internal.util.v3_4.symbols.{CTAny, CTList, CTNode, CTRelationship} -import org.neo4j.cypher.internal.frontend.v3_4.{LabelId, PropertyKeyId, ast} import org.neo4j.cypher.internal.ir.v3_4.{IdName, VarPatternLength} +import org.neo4j.cypher.internal.planner.v3_4.spi.{IDPPlannerName, PlanContext} +import org.neo4j.cypher.internal.util.v3_4.{LabelId, PropertyKeyId} import org.neo4j.cypher.internal.v3_4.logical.plans import org.neo4j.cypher.internal.v3_4.logical.plans._ import org.neo4j.cypher.internal.v3_4.expressions._ diff --git a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/spi/v3_4/GeneratedMethodStructureTest.scala b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/spi/v3_4/GeneratedMethodStructureTest.scala index 02d359dc7e070..8ffab3dd35834 100644 --- a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/spi/v3_4/GeneratedMethodStructureTest.scala +++ b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/spi/v3_4/GeneratedMethodStructureTest.scala @@ -29,12 +29,11 @@ import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.codegen.Cod import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.codegen.ir.expressions.{CodeGenType, CypherCodeGenType, ReferenceType} import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.codegen.spi._ import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.{Completable, Provider} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{ExecutionMode, TaskCloser} import org.neo4j.cypher.internal.frontend.v3_4.helpers._ import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable -import org.neo4j.cypher.internal.util.v3_4.symbols -import org.neo4j.cypher.internal.spi.v3_4.QueryContext +import org.neo4j.cypher.internal.runtime.{ExecutionMode, QueryContext} +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription +import org.neo4j.cypher.internal.util.v3_4.{TaskCloser, symbols} import org.neo4j.cypher.internal.spi.v3_4.codegen.GeneratedQueryStructure.typeRef import org.neo4j.cypher.internal.spi.v3_4.codegen.{GeneratedMethodStructure, Methods, _} import org.neo4j.cypher.internal.v3_4.codegen.QueryExecutionTracer diff --git a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/v3_4/BuildCompiledExecutionPlanTest.scala b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/v3_4/BuildCompiledExecutionPlanTest.scala index edd1fa5215bf5..2fdd425ac0f49 100644 --- a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/v3_4/BuildCompiledExecutionPlanTest.scala +++ b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/v3_4/BuildCompiledExecutionPlanTest.scala @@ -23,12 +23,12 @@ import org.neo4j.cypher.internal.compatibility.v3_4.WrappedMonitors import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.BuildCompiledExecutionPlan import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.NewRuntimeSuccessRateMonitor import org.neo4j.cypher.internal.compiler.v3_4.phases.LogicalPlanState -import org.neo4j.cypher.internal.compiler.v3_4.planner.CantCompileQueryException -import org.neo4j.cypher.internal.compiler.v3_4.spi.GraphStatistics -import org.neo4j.cypher.internal.compiler.v3_4.{CostBasedPlannerName, HardcodedGraphStatistics, NotImplementedPlanContext} +import org.neo4j.cypher.internal.compiler.v3_4.planner.{CantCompileQueryException, HardcodedGraphStatistics} +import org.neo4j.cypher.internal.compiler.v3_4.NotImplementedPlanContext import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable import org.neo4j.cypher.internal.ir.v3_4.{CardinalityEstimation, QueryGraph, RegularPlannerQuery} +import org.neo4j.cypher.internal.planner.v3_4.spi.{CostBasedPlannerName, GraphStatistics} import org.neo4j.cypher.internal.spi.v3_4.codegen.GeneratedQueryStructure import org.neo4j.cypher.internal.v3_4.logical.plans.{LogicalPlan, ProduceResult, SingleRow} import org.neo4j.kernel.monitoring.Monitors diff --git a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/v3_4/TypeConversionTest.scala b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/v3_4/TypeConversionTest.scala index f67a1bb555fd8..8b6e8947932a8 100644 --- a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/v3_4/TypeConversionTest.scala +++ b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/v3_4/TypeConversionTest.scala @@ -19,7 +19,7 @@ */ package org.neo4j.cypher.internal.compiled_runtime.v3_4 -import org.neo4j.cypher.internal.InternalExecutionResult +import org.neo4j.cypher.internal.runtime.InternalExecutionResult import org.neo4j.cypher.{CypherTypeException, ExecutionEngineFunSuite} class TypeConversionTest extends ExecutionEngineFunSuite { diff --git a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/v3_4/codegen/CodeGeneratorTest.scala b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/v3_4/codegen/CodeGeneratorTest.scala index f7418f06e41bb..236a7c1c15c10 100644 --- a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/v3_4/codegen/CodeGeneratorTest.scala +++ b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/v3_4/codegen/CodeGeneratorTest.scala @@ -27,22 +27,20 @@ import org.mockito.Mockito._ import org.mockito.invocation.InvocationOnMock import org.mockito.stubbing.Answer import org.neo4j.collection.primitive.PrimitiveLongIterator -import org.neo4j.cypher.internal.InternalExecutionResult -import org.neo4j.cypher.internal.util.v3_4.ParameterNotFoundException +import org.neo4j.cypher.internal.util.v3_4.{ParameterNotFoundException, PropertyKeyId, TaskCloser} import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.ExecutionPlanBuilder.tracer import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.codegen.{ByteCodeMode, CodeGenConfiguration, CodeGenerator, SourceCodeMode} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{NormalMode, TaskCloser} -import org.neo4j.cypher.internal.compiler.v3_4.CostBasedPlannerName import org.neo4j.cypher.internal.compiler.v3_4.planner.LogicalPlanningTestSupport -import org.neo4j.cypher.internal.frontend.v3_4.PropertyKeyId import org.neo4j.cypher.internal.frontend.v3_4.ast._ import org.neo4j.cypher.internal.frontend.v3_4.ast import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.ir.v3_4.IdName +import org.neo4j.cypher.internal.planner.v3_4.spi.CostBasedPlannerName +import org.neo4j.cypher.internal.runtime.interpreted.TransactionalContextWrapper +import org.neo4j.cypher.internal.runtime.{InternalExecutionResult, NormalMode, QueryContext} import org.neo4j.cypher.internal.spi.v3_4.codegen.GeneratedQueryStructure -import org.neo4j.cypher.internal.spi.v3_4.{QueryContext, TransactionalContextWrapper} import org.neo4j.cypher.internal.v3_4.logical.plans import org.neo4j.cypher.internal.v3_4.logical.plans.{Ascending, Descending, _} import org.neo4j.cypher.internal.v3_4.expressions._ diff --git a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/v3_4/codegen/CompiledExecutionResultTest.scala b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/v3_4/codegen/CompiledExecutionResultTest.scala index 014108353b944..5ba21d6af3b6d 100644 --- a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/v3_4/codegen/CompiledExecutionResultTest.scala +++ b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/v3_4/codegen/CompiledExecutionResultTest.scala @@ -28,11 +28,11 @@ import org.mockito.invocation.InvocationOnMock import org.mockito.stubbing.Answer import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.CompiledExecutionResult import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.Completable -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{ExecutionMode, NormalMode, TaskCloser} import org.neo4j.cypher.internal.javacompat.ResultRecord +import org.neo4j.cypher.internal.runtime.{ExecutionMode, NormalMode, QueryContext} +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.spi.v3_4.QueryContext +import org.neo4j.cypher.internal.util.v3_4.TaskCloser import org.neo4j.cypher.internal.v3_4.executionplan.GeneratedQueryExecution import org.neo4j.cypher.result.QueryResult.QueryResultVisitor import org.neo4j.graphdb.NotFoundException diff --git a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/v3_4/codegen/CompiledRuntimeContextHelper.scala b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/v3_4/codegen/CompiledRuntimeContextHelper.scala index 2cc2eb2b33f77..fa8317ee5e8c4 100644 --- a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/v3_4/codegen/CompiledRuntimeContextHelper.scala +++ b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/v3_4/codegen/CompiledRuntimeContextHelper.scala @@ -26,10 +26,10 @@ import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.EnterpriseR import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.codegen.spi.CodeStructure import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.{PlanFingerprint, PlanFingerprintReference} import org.neo4j.cypher.internal.compiler.v3_4.planner.logical.{Metrics, QueryGraphSolver} -import org.neo4j.cypher.internal.compiler.v3_4.spi.PlanContext import org.neo4j.cypher.internal.compiler.v3_4.{CypherCompilerConfiguration, NotImplementedPlanContext, UpdateStrategy} import org.neo4j.cypher.internal.frontend.v3_4.phases.CompilationPhaseTracer.NO_TRACING import org.neo4j.cypher.internal.frontend.v3_4.phases.{CompilationPhaseTracer, InternalNotificationLogger, Monitors, devNullLogger} +import org.neo4j.cypher.internal.planner.v3_4.spi.PlanContext import org.neo4j.cypher.internal.v3_4.executionplan.GeneratedQuery import org.scalatest.mock.MockitoSugar diff --git a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/v3_4/codegen/ir/BuildProbeTableInstructionsTest.scala b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/v3_4/codegen/ir/BuildProbeTableInstructionsTest.scala index fc20002382fc9..0287682c13322 100644 --- a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/v3_4/codegen/ir/BuildProbeTableInstructionsTest.scala +++ b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/v3_4/codegen/ir/BuildProbeTableInstructionsTest.scala @@ -34,7 +34,8 @@ import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.codegen.{Co import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable -import org.neo4j.cypher.internal.spi.v3_4.{QueryContext, TransactionalContextWrapper} +import org.neo4j.cypher.internal.runtime.QueryContext +import org.neo4j.cypher.internal.runtime.interpreted.TransactionalContextWrapper import org.neo4j.graphdb.Node import org.neo4j.kernel.api.ReadOperations import org.neo4j.kernel.impl.core.{NodeManager, NodeProxy} diff --git a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/v3_4/codegen/ir/CodeGenSugar.scala b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/v3_4/codegen/ir/CodeGenSugar.scala index 0aa3fffc490ae..99a9a9db22e4e 100644 --- a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/v3_4/codegen/ir/CodeGenSugar.scala +++ b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/v3_4/codegen/ir/CodeGenSugar.scala @@ -22,20 +22,19 @@ package org.neo4j.cypher.internal.compiled_runtime.v3_4.codegen.ir import java.util.concurrent.atomic.AtomicInteger import org.mockito.Mockito._ -import org.neo4j.cypher.internal.InternalExecutionResult import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.ExecutionPlanBuilder.tracer import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.codegen._ import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.codegen.ir.Instruction import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.{CompiledExecutionResult, CompiledPlan} import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.Provider -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{ExecutionMode, NormalMode, TaskCloser} -import org.neo4j.cypher.internal.compiler.v3_4.CostBasedPlannerName -import org.neo4j.cypher.internal.compiler.v3_4.spi._ import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable -import org.neo4j.cypher.internal.spi.v3_4.TransactionBoundQueryContext.IndexSearchMonitor +import org.neo4j.cypher.internal.planner.v3_4.spi.{CostBasedPlannerName, GraphStatistics, PlanContext} +import org.neo4j.cypher.internal.runtime.interpreted.TransactionBoundQueryContext.IndexSearchMonitor +import org.neo4j.cypher.internal.runtime.interpreted.{TransactionBoundQueryContext, TransactionalContextWrapper} +import org.neo4j.cypher.internal.runtime.{ExecutionMode, InternalExecutionResult, NormalMode, QueryContext} +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription import org.neo4j.cypher.internal.spi.v3_4.codegen.GeneratedQueryStructure -import org.neo4j.cypher.internal.spi.v3_4.{QueryContext, TransactionBoundQueryContext, TransactionalContextWrapper} +import org.neo4j.cypher.internal.util.v3_4.TaskCloser import org.neo4j.cypher.internal.v3_4.codegen.QueryExecutionTracer import org.neo4j.cypher.internal.v3_4.executionplan.{GeneratedQuery, GeneratedQueryExecution} import org.neo4j.cypher.internal.v3_4.logical.plans.{LogicalPlan, LogicalPlanId} diff --git a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/v3_4/codegen/ir/CompiledProfilingTest.scala b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/v3_4/codegen/ir/CompiledProfilingTest.scala index 7ab51cbce1eb1..f51768b247970 100644 --- a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/v3_4/codegen/ir/CompiledProfilingTest.scala +++ b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiled_runtime/v3_4/codegen/ir/CompiledProfilingTest.scala @@ -22,22 +22,23 @@ package org.neo4j.cypher.internal.compiled_runtime.v3_4.codegen.ir import org.mockito.ArgumentMatchers._ import org.mockito.Mockito._ import org.neo4j.collection.primitive.PrimitiveLongIterator -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ProfileMode import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.codegen.Variable import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.codegen.ir.expressions.{CodeGenType, NodeProjection} import org.neo4j.cypher.internal.compatibility.v3_4.runtime.compiled.codegen.ir.{AcceptVisitor, ScanAllNodes, WhileLoop} import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.Provider -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription.InternalPlanDescription.Arguments.{DbHits, Rows} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.planDescription._ -import org.neo4j.cypher.internal.compiler.v3_4.spi.KernelStatisticProvider import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.ir.v3_4.{Cardinality, CardinalityEstimation, IdName, PlannerQuery} -import org.neo4j.cypher.internal.spi.v3_4.{QueryContext, QueryTransactionalContext, TransactionalContextWrapper} +import org.neo4j.cypher.internal.ir.v3_4.{CardinalityEstimation, IdName, PlannerQuery} +import org.neo4j.cypher.internal.javacompat.GraphDatabaseCypherService +import org.neo4j.cypher.internal.planner.v3_4.spi.KernelStatisticProvider +import org.neo4j.cypher.internal.runtime.{ProfileMode, QueryContext, QueryTransactionalContext} +import org.neo4j.cypher.internal.runtime.interpreted.TransactionalContextWrapper +import org.neo4j.cypher.internal.runtime.planDescription.InternalPlanDescription.Arguments.{DbHits, Rows} +import org.neo4j.cypher.internal.runtime.planDescription.{InternalPlanDescription, NoChildren, PlanDescriptionImpl, SingleChild} +import org.neo4j.cypher.internal.util.v3_4.Cardinality import org.neo4j.cypher.internal.v3_4.codegen.profiling.ProfilingTracer import org.neo4j.cypher.internal.v3_4.logical.plans._ import org.neo4j.cypher.internal.v3_4.logical.plans import org.neo4j.cypher.internal.v3_4.expressions.SignedDecimalIntegerLiteral -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService import org.neo4j.io.pagecache.tracing.cursor.DefaultPageCursorTracer import org.neo4j.kernel.api._ import org.neo4j.kernel.api.security.AnonymousContext diff --git a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/v3_4/codegen/profiling/ProfilingTracerTest.scala b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/v3_4/codegen/profiling/ProfilingTracerTest.scala index c4cd908175d0f..b28314f778503 100644 --- a/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/v3_4/codegen/profiling/ProfilingTracerTest.scala +++ b/enterprise/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/v3_4/codegen/profiling/ProfilingTracerTest.scala @@ -19,8 +19,8 @@ */ package org.neo4j.cypher.internal.v3_4.codegen.profiling +import org.neo4j.cypher.internal.planner.v3_4.spi.{EmptyKernelStatisticProvider, KernelStatisticProvider} import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId -import org.neo4j.cypher.internal.compiler.v3_4.spi.{EmptyKernelStatisticProvider, KernelStatisticProvider} import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.io.pagecache.tracing.cursor.DefaultPageCursorTracer diff --git a/enterprise/cypher/physical-planning/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/SlottedRewriter.scala b/enterprise/cypher/physical-planning/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/SlottedRewriter.scala index 71a8b57a1c4d6..0286b958f7839 100644 --- a/enterprise/cypher/physical-planning/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/SlottedRewriter.scala +++ b/enterprise/cypher/physical-planning/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/SlottedRewriter.scala @@ -21,11 +21,10 @@ package org.neo4j.cypher.internal.compatibility.v3_4.runtime import org.neo4j.cypher.internal.util.v3_4.{InternalException, Rewriter, topDown} import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ast._ -import org.neo4j.cypher.internal.compiler.v3_4.ast.NestedPlanExpression import org.neo4j.cypher.internal.compiler.v3_4.planner.CantCompileQueryException -import org.neo4j.cypher.internal.compiler.v3_4.spi.TokenContext +import org.neo4j.cypher.internal.planner.v3_4.spi.TokenContext import org.neo4j.cypher.internal.util.v3_4.Foldable._ -import org.neo4j.cypher.internal.v3_4.logical.plans.{LogicalPlan, LogicalPlanId, Projection, VarExpand, _} +import org.neo4j.cypher.internal.v3_4.logical.plans.{LogicalPlan, LogicalPlanId, NestedPlanExpression, Projection, VarExpand, _} import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.v3_4.{functions => frontendFunctions} import org.neo4j.cypher.internal.v3_4.expressions._ diff --git a/enterprise/cypher/physical-planning/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/SlotAllocationTest.scala b/enterprise/cypher/physical-planning/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/SlotAllocationTest.scala index 1fd3bb60e7292..ecd0b9c9c57d9 100644 --- a/enterprise/cypher/physical-planning/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/SlotAllocationTest.scala +++ b/enterprise/cypher/physical-planning/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/SlotAllocationTest.scala @@ -20,12 +20,11 @@ package org.neo4j.cypher.internal.compatibility.v3_4.runtime import org.neo4j.cypher.internal.compiler.v3_4.planner.LogicalPlanningTestSupport2 -import org.neo4j.cypher.internal.frontend.v3_4.LabelId -import org.neo4j.cypher.internal.frontend.v3_4.ast._ import org.neo4j.cypher.internal.ir.v3_4.{CardinalityEstimation, IdName, PlannerQuery, VarPatternLength} import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.cypher.internal.v3_4.expressions._ +import org.neo4j.cypher.internal.util.v3_4.LabelId import org.neo4j.cypher.internal.v3_4.logical.plans.{Ascending, _} import org.neo4j.cypher.internal.v3_4.logical.{plans => logicalPlans} diff --git a/enterprise/cypher/physical-planning/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/SlottedRewriterTest.scala b/enterprise/cypher/physical-planning/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/SlottedRewriterTest.scala index e34db77fb2c0f..f14b16d26d080 100644 --- a/enterprise/cypher/physical-planning/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/SlottedRewriterTest.scala +++ b/enterprise/cypher/physical-planning/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/SlottedRewriterTest.scala @@ -21,11 +21,12 @@ package org.neo4j.cypher.internal.compatibility.v3_4.runtime import org.mockito.Mockito._ import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ast._ -import org.neo4j.cypher.internal.compiler.v3_4.spi.TokenContext import org.neo4j.cypher.internal.frontend.v3_4.ast._ import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.ir.v3_4.{Cardinality, CardinalityEstimation, IdName, PlannerQuery} +import org.neo4j.cypher.internal.ir.v3_4.{CardinalityEstimation, IdName, PlannerQuery} +import org.neo4j.cypher.internal.planner.v3_4.spi.TokenContext +import org.neo4j.cypher.internal.util.v3_4.Cardinality import org.neo4j.cypher.internal.v3_4.logical.plans.{AllNodesScan, ProduceResult, Selection, _} import org.neo4j.cypher.internal.v3_4.expressions._ diff --git a/enterprise/cypher/slotted-runtime/pom.xml b/enterprise/cypher/slotted-runtime/pom.xml index 2cea5af15f85f..d828f635da50a 100644 --- a/enterprise/cypher/slotted-runtime/pom.xml +++ b/enterprise/cypher/slotted-runtime/pom.xml @@ -300,6 +300,14 @@ test + + org.neo4j + neo4j-cypher-interpreted-runtime + ${project.version} + test-jar + test + + diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/PrimitiveExecutionContext.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/PrimitiveExecutionContext.scala index 16686030cffa4..c4eb8e6562220 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/PrimitiveExecutionContext.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/PrimitiveExecutionContext.scala @@ -19,9 +19,10 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{ExecutionContext, PipelineInformation} +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.PipelineInformation import org.neo4j.cypher.internal.util.v3_4.InternalException import org.neo4j.kernel.impl.util.ValueUtils +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.values.AnyValue object PrimitiveExecutionContext { diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/SlottedPipeBuilder.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/SlottedPipeBuilder.scala index adcf1826fadd2..c4009455245e8 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/SlottedPipeBuilder.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/SlottedPipeBuilder.scala @@ -19,21 +19,21 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.convert.ExpressionConverters -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{AggregationExpression, Expression} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.{Predicate, True} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.{expressions => commandExpressions} +import org.neo4j.cypher.internal.compatibility.v3_4.runtime._ import org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.builders.prepare.KeyTokenResolver -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{ColumnOrder => _, _} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.SlottedPipeBuilder.computeUnionMapping +import org.neo4j.cypher.internal.runtime.interpreted.commands.convert.ExpressionConverters +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.AggregationExpression +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.{Predicate, True} +import org.neo4j.cypher.internal.runtime.interpreted.commands.{expressions => commandExpressions} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{ColumnOrder => _, _} import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes._ import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.{expressions => slottedExpressions} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{LongSlot, PipeBuilder, PipeExecutionBuilderContext, PipelineInformation, _} import org.neo4j.cypher.internal.compiler.v3_4.planner.CantCompileQueryException -import org.neo4j.cypher.internal.compiler.v3_4.spi.PlanContext import org.neo4j.cypher.internal.frontend.v3_4.phases.Monitors import org.neo4j.cypher.internal.frontend.v3_4.semantics.SemanticTable import org.neo4j.cypher.internal.ir.v3_4.{IdName, VarPatternLength} +import org.neo4j.cypher.internal.planner.v3_4.spi.PlanContext +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.util.v3_4.InternalException import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.v3_4.expressions.SignedDecimalIntegerLiteral @@ -357,7 +357,9 @@ class SlottedPipeBuilder(fallback: PipeBuilder, case Union(_, _) => val lhsInfo = pipelines(lhs.id) val rhsInfo = pipelines(rhs.id) - UnionSlottedPipe(lhs, rhs, computeUnionMapping(lhsInfo, pipeline), computeUnionMapping(rhsInfo, pipeline))(id = id) + UnionSlottedPipe(lhs, rhs, + SlottedPipeBuilder.computeUnionMapping(lhsInfo, pipeline), + SlottedPipeBuilder.computeUnionMapping(rhsInfo, pipeline))(id = id) case _ => throw new CantCompileQueryException(s"Unsupported logical plan operator: $plan") } @@ -365,7 +367,9 @@ class SlottedPipeBuilder(fallback: PipeBuilder, } object SlottedPipeBuilder { - private def createProjectionsForResult(columns: Seq[String], pipelineInformation1: PipelineInformation): Seq[(String, Expression)] = { + private def createProjectionsForResult(columns: Seq[String], + pipelineInformation1: PipelineInformation + ): Seq[(String, commandExpressions.Expression)] = { val runtimeColumns: Seq[(String, commandExpressions.Expression)] = columns map { k => pipelineInformation1(k) match { @@ -418,7 +422,7 @@ object SlottedPipeBuilder { }.flatten.toIndexedSeq //projections contains methods for turning longslots to refslots - val projections: Seq[Expression] = createProjectionsForResult(slots.map(_.name), in).map(_._2) + val projections: Seq[commandExpressions.Expression] = createProjectionsForResult(slots.map(_.name), in).map(_._2) //ZIP [slot1, slot2,...] with [e1, e2, ...] to get a mapping from slot to expression val expressions = slots.zip(projections).toMap diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/GetDegreePrimitive.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/GetDegreePrimitive.scala index 34de47cd56516..020e753aa0c2e 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/GetDegreePrimitive.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/GetDegreePrimitive.scala @@ -19,9 +19,9 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/IdFromSlot.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/IdFromSlot.scala index 86e0fdf1da941..4e9b3c5ed8e87 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/IdFromSlot.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/IdFromSlot.scala @@ -19,9 +19,9 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values.longValue diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/NodeFromSlot.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/NodeFromSlot.scala index f52181f8276c2..7fe95ba73bcc4 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/NodeFromSlot.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/NodeFromSlot.scala @@ -19,10 +19,10 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState import org.neo4j.kernel.impl.util.ValueUtils.fromNodeProxy +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.values.virtual.NodeValue case class NodeFromSlot(offset: Int) extends Expression with SlottedExpression { diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/NodeProperty.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/NodeProperty.scala index 6e9f627de36d9..734542171a202 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/NodeProperty.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/NodeProperty.scala @@ -19,10 +19,10 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.Predicate -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.Predicate +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/NullCheck.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/NullCheck.scala index 86bc9ec80a1ab..cde3d4955740d 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/NullCheck.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/NullCheck.scala @@ -19,10 +19,10 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.helpers.NullChecker.nodeIsNull +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/PrimitiveEquals.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/PrimitiveEquals.scala index 375c45c96d9dc..92d27c933c385 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/PrimitiveEquals.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/PrimitiveEquals.scala @@ -19,10 +19,10 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.Predicate -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.Predicate +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext case class PrimitiveEquals(a: Expression, b: Expression) extends Predicate with SlottedExpression { diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/ReferenceFromSlot.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/ReferenceFromSlot.scala index bca07ca1d84e5..d41d28a1bac98 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/ReferenceFromSlot.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/ReferenceFromSlot.scala @@ -19,9 +19,9 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.values.AnyValue case class ReferenceFromSlot(offset: Int) extends Expression with SlottedExpression { @@ -29,4 +29,4 @@ case class ReferenceFromSlot(offset: Int) extends Expression with SlottedExpress override def apply(ctx: ExecutionContext, state: QueryState): AnyValue = ctx.getRefAt(offset) -} \ No newline at end of file +} diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/RelationshipFromSlot.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/RelationshipFromSlot.scala index 65732b978150e..18d0204a89b65 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/RelationshipFromSlot.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/RelationshipFromSlot.scala @@ -19,10 +19,10 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState import org.neo4j.kernel.impl.util.ValueUtils +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.values.virtual.EdgeValue case class RelationshipFromSlot(offset: Int) extends Expression with SlottedExpression { diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/RelationshipProperty.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/RelationshipProperty.scala index 6dfb36005d828..091e8282bebe3 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/RelationshipProperty.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/RelationshipProperty.scala @@ -19,10 +19,10 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.Predicate -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.Predicate +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/SlottedExpression.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/SlottedExpression.scala index 86ddcecd728b0..74df3d8b8b6f6 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/SlottedExpression.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/SlottedExpression.scala @@ -19,7 +19,7 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression trait SlottedExpression { self: Expression => diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/SlottedExpressionConverters.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/SlottedExpressionConverters.scala index 72b5289e4744d..f48ec413f2994 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/SlottedExpressionConverters.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/SlottedExpressionConverters.scala @@ -19,8 +19,8 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.convert.{ExpressionConverter, ExpressionConverters} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.{expressions => commands} +import org.neo4j.cypher.internal.runtime.interpreted.commands.convert.{ExpressionConverter, ExpressionConverters} +import org.neo4j.cypher.internal.runtime.interpreted.commands.{expressions => commands} import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.expressions.SlottedProjectedPath._ import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.{expressions => runtimeExpression} import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{ast => runtimeAst} diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/SlottedProjectedPath.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/SlottedProjectedPath.scala index 9c2620806bf37..1ad8cf44a7a99 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/SlottedProjectedPath.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/expressions/SlottedProjectedPath.scala @@ -19,9 +19,9 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.expressions -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{Expression, PathValueBuilder} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{Expression, PathValueBuilder} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryState +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.values.virtual.{EdgeValue, ListValue, NodeValue} object SlottedProjectedPath { diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/AllNodesScanSlottedPipe.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/AllNodesScanSlottedPipe.scala index fb6d707744cfb..7bc162b6e1f0a 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/AllNodesScanSlottedPipe.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/AllNodesScanSlottedPipe.scala @@ -19,10 +19,11 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.PipelineInformation import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.PrimitiveLongHelper -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{Pipe, QueryState} import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.PrimitiveExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{ExecutionContext, PipelineInformation} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{Pipe, QueryState} +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId case class AllNodesScanSlottedPipe(ident: String, pipelineInformation: PipelineInformation) diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/ApplySlottedPipe.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/ApplySlottedPipe.scala index 14732c5c0c2d3..b1ac0c70f2ffa 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/ApplySlottedPipe.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/ApplySlottedPipe.scala @@ -19,8 +19,8 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{Pipe, PipeWithSource, QueryState} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{Pipe, PipeWithSource, QueryState} +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId case class ApplySlottedPipe(lhs: Pipe, rhs: Pipe) diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/ArgumentSlottedPipe.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/ArgumentSlottedPipe.scala index 1af35abd2cea2..163db9c6753ea 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/ArgumentSlottedPipe.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/ArgumentSlottedPipe.scala @@ -19,9 +19,10 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{Pipe, QueryState} +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.PipelineInformation import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.PrimitiveExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{ExecutionContext, PipelineInformation} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{Pipe, QueryState} +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId case class ArgumentSlottedPipe(pipelineInformation: PipelineInformation) diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/BaseRelationshipSlottedPipe.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/BaseRelationshipSlottedPipe.scala index ccea5431f3823..13eb437ddfcfb 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/BaseRelationshipSlottedPipe.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/BaseRelationshipSlottedPipe.scala @@ -21,14 +21,13 @@ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes import java.util.function.BiConsumer +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.PipelineInformation +import org.neo4j.cypher.internal.runtime.QueryContext import org.neo4j.cypher.internal.util.v3_4.{CypherTypeException, InvalidSemanticsException} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.IsMap -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.mutation.makeValueNeoSafe -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{LazyType, Pipe, PipeWithSource, QueryState} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{ExecutionContext, PipelineInformation} +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{LazyType, Pipe, PipeWithSource, QueryState} +import org.neo4j.cypher.internal.runtime.interpreted.{ExecutionContext, IsMap, makeValueNeoSafe} import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId -import org.neo4j.cypher.internal.spi.v3_4.QueryContext import org.neo4j.graphdb.{Node, Relationship} import org.neo4j.values.AnyValue import org.neo4j.values.virtual.MapValue diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/CartesianProductSlottedPipe.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/CartesianProductSlottedPipe.scala index fe5ffc468b41c..248c735f76901 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/CartesianProductSlottedPipe.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/CartesianProductSlottedPipe.scala @@ -19,9 +19,10 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{Pipe, QueryState} +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.PipelineInformation import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.PrimitiveExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{ExecutionContext, PipelineInformation} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{Pipe, QueryState} +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId case class CartesianProductSlottedPipe(lhs: Pipe, rhs: Pipe, diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/ConditionalApplySlottedPipe.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/ConditionalApplySlottedPipe.scala index f7032ee5d766c..cd1ab7577f2db 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/ConditionalApplySlottedPipe.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/ConditionalApplySlottedPipe.scala @@ -19,10 +19,11 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{Pipe, PipeWithSource, QueryState} +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.PipelineInformation import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.PrimitiveExecutionContext import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.helpers.NullChecker -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{ExecutionContext, PipelineInformation} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{Pipe, PipeWithSource, QueryState} +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.values.storable.Values diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/CreateNodeSlottedPipe.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/CreateNodeSlottedPipe.scala index bd4f8bf90ee55..bb6e976d949e9 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/CreateNodeSlottedPipe.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/CreateNodeSlottedPipe.scala @@ -21,14 +21,13 @@ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes import java.util.function.BiConsumer +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.PipelineInformation +import org.neo4j.cypher.internal.runtime.QueryContext import org.neo4j.cypher.internal.util.v3_4.{CypherTypeException, InvalidSemanticsException} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.IsMap -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.mutation.makeValueNeoSafe -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{LazyLabel, Pipe, PipeWithSource, QueryState} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{ExecutionContext, PipelineInformation} +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{LazyLabel, Pipe, PipeWithSource, QueryState} +import org.neo4j.cypher.internal.runtime.interpreted.{ExecutionContext, IsMap, makeValueNeoSafe} import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId -import org.neo4j.cypher.internal.spi.v3_4.QueryContext import org.neo4j.graphdb.{Node, Relationship} import org.neo4j.values.AnyValue import org.neo4j.values.storable.Values diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/DistinctSlottedPipe.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/DistinctSlottedPipe.scala index 0617c9cc3ea16..eec8f6cc84894 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/DistinctSlottedPipe.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/DistinctSlottedPipe.scala @@ -19,10 +19,11 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{Pipe, PipeWithSource, QueryState} +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.PipelineInformation import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.PrimitiveExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{Pipe, PipeWithSource, QueryState} +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.values.AnyValue import org.neo4j.values.virtual.VirtualValues diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/EagerAggregationSlottedPipe.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/EagerAggregationSlottedPipe.scala index 148b4ae7aedd1..0a66c7151c14b 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/EagerAggregationSlottedPipe.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/EagerAggregationSlottedPipe.scala @@ -19,11 +19,12 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.{AggregationExpression, Expression} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation.AggregationFunction -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{Pipe, PipeWithSource, QueryState} +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.PipelineInformation import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.PrimitiveExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.{AggregationExpression, Expression} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation.AggregationFunction +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{Pipe, PipeWithSource, QueryState} +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.values.AnyValue import org.neo4j.values.virtual.{ListValue, MapValue, VirtualValues} diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/EagerAggregationWithoutGroupingSlottedPipe.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/EagerAggregationWithoutGroupingSlottedPipe.scala index 8e19bee2c2d3c..012baa32a1bea 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/EagerAggregationWithoutGroupingSlottedPipe.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/EagerAggregationWithoutGroupingSlottedPipe.scala @@ -19,11 +19,12 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.AggregationExpression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.aggregation.AggregationFunction -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{Pipe, PipeWithSource, QueryState} +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.PipelineInformation import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.PrimitiveExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{ExecutionContext, PipelineInformation} +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.AggregationExpression +import org.neo4j.cypher.internal.runtime.interpreted.pipes.aggregation.AggregationFunction +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{Pipe, PipeWithSource, QueryState} +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId /* diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/EagerSlottedPipe.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/EagerSlottedPipe.scala index 01726411e8a48..208cc2e3ff167 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/EagerSlottedPipe.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/EagerSlottedPipe.scala @@ -19,9 +19,10 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{Pipe, PipeWithSource, QueryState} +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.PipelineInformation import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.PrimitiveExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{ExecutionContext, PipelineInformation} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{Pipe, PipeWithSource, QueryState} +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId case class EagerSlottedPipe(source: Pipe, pipelineInformation: PipelineInformation)(val id: LogicalPlanId = LogicalPlanId.DEFAULT) diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/ExpandAllSlottedPipe.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/ExpandAllSlottedPipe.scala index 457ae43b42f8f..7a8a8822217e0 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/ExpandAllSlottedPipe.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/ExpandAllSlottedPipe.scala @@ -19,12 +19,13 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes -import org.neo4j.cypher.internal.util.v3_4.InternalException +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.PipelineInformation import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.PrimitiveLongHelper -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes._ import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.PrimitiveExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.helpers.NullChecker.nodeIsNull -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{ExecutionContext, PipelineInformation} +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.helpers.NullChecker +import org.neo4j.cypher.internal.util.v3_4.InternalException +import org.neo4j.cypher.internal.runtime.interpreted.pipes._ +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.kernel.impl.api.RelationshipVisitor @@ -44,7 +45,7 @@ case class ExpandAllSlottedPipe(source: Pipe, (inputRow: ExecutionContext) => val fromNode = inputRow.getLongAt(fromOffset) - if (nodeIsNull(fromNode)) + if (NullChecker.nodeIsNull(fromNode)) Iterator.empty else { val relationships: RelationshipIterator = state.query.getRelationshipsForIdsPrimitive(fromNode, dir, types.types(state.query)) diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/ExpandIntoSlottedPipe.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/ExpandIntoSlottedPipe.scala index 316fd0cab998e..0e0d2ed56434d 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/ExpandIntoSlottedPipe.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/ExpandIntoSlottedPipe.scala @@ -20,11 +20,12 @@ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes import org.neo4j.collection.primitive.PrimitiveLongIterator +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.PipelineInformation import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.PrimitiveLongHelper -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes._ import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.PrimitiveExecutionContext import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.helpers.NullChecker.nodeIsNull -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{ExecutionContext, PipelineInformation} +import org.neo4j.cypher.internal.runtime.interpreted.pipes._ +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/NodeIndexScanSlottedPipe.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/NodeIndexScanSlottedPipe.scala index 91abe40b456f4..f7203d4bda5ed 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/NodeIndexScanSlottedPipe.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/NodeIndexScanSlottedPipe.scala @@ -19,12 +19,13 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.PipelineInformation import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.PrimitiveLongHelper -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes._ import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.PrimitiveExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{ExecutionContext, PipelineInformation} -import org.neo4j.cypher.internal.compiler.v3_4.IndexDescriptor -import org.neo4j.cypher.internal.frontend.v3_4.ast.{LabelToken, PropertyKeyToken} +import org.neo4j.cypher.internal.planner.v3_4.spi.IndexDescriptor +import org.neo4j.cypher.internal.runtime.interpreted.pipes._ +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.v3_4.expressions.{LabelToken, PropertyKeyToken} import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId case class NodeIndexScanSlottedPipe(ident: String, diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/NodeIndexSeekSlottedPipe.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/NodeIndexSeekSlottedPipe.scala index bed683323108f..7c2633f3e02d2 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/NodeIndexSeekSlottedPipe.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/NodeIndexSeekSlottedPipe.scala @@ -19,13 +19,14 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.indexQuery -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes._ +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.PipelineInformation import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.PrimitiveExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{ExecutionContext, PipelineInformation} -import org.neo4j.cypher.internal.compiler.v3_4.IndexDescriptor -import org.neo4j.cypher.internal.frontend.v3_4.ast.{LabelToken, PropertyKeyToken} +import org.neo4j.cypher.internal.planner.v3_4.spi.IndexDescriptor +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.commands.indexQuery +import org.neo4j.cypher.internal.runtime.interpreted.pipes._ +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.v3_4.expressions.{LabelToken, PropertyKeyToken} import org.neo4j.cypher.internal.v3_4.logical.plans.{LogicalPlanId, QueryExpression} case class NodeIndexSeekSlottedPipe(ident: String, diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/NodesByLabelScanSlottedPipe.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/NodesByLabelScanSlottedPipe.scala index eae3a945dbc4a..c449231f76ad9 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/NodesByLabelScanSlottedPipe.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/NodesByLabelScanSlottedPipe.scala @@ -19,10 +19,11 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.PipelineInformation import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.PrimitiveLongHelper -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{LazyLabel, Pipe, QueryState} import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.PrimitiveExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{ExecutionContext, PipelineInformation} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{LazyLabel, Pipe, QueryState} +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId case class NodesByLabelScanSlottedPipe(ident: String, label: LazyLabel, pipelineInformation: PipelineInformation) diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/OptionalExpandAllSlottedPipe.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/OptionalExpandAllSlottedPipe.scala index a6e18ba33344b..94c034ebdf178 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/OptionalExpandAllSlottedPipe.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/OptionalExpandAllSlottedPipe.scala @@ -19,13 +19,14 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes -import org.neo4j.cypher.internal.util.v3_4.InternalException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.Predicate +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.PipelineInformation import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.PrimitiveLongHelper -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes._ import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.PrimitiveExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.helpers.NullChecker.nodeIsNull -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{ExecutionContext, PipelineInformation} +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.helpers.NullChecker +import org.neo4j.cypher.internal.util.v3_4.InternalException +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.Predicate +import org.neo4j.cypher.internal.runtime.interpreted.pipes._ +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.kernel.impl.api.RelationshipVisitor @@ -46,7 +47,7 @@ case class OptionalExpandAllSlottedPipe(source: Pipe, (inputRow: ExecutionContext) => val fromNode = inputRow.getLongAt(fromOffset) - if (nodeIsNull(fromNode)) { + if (NullChecker.nodeIsNull(fromNode)) { Iterator(withNulls(inputRow)) } else { val relationships: RelationshipIterator = state.query.getRelationshipsForIdsPrimitive(fromNode, dir, types.types(state.query)) diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/OptionalExpandIntoSlottedPipe.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/OptionalExpandIntoSlottedPipe.scala index 0c59e4cdae10e..2154a46293868 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/OptionalExpandIntoSlottedPipe.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/OptionalExpandIntoSlottedPipe.scala @@ -20,12 +20,13 @@ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes import org.neo4j.collection.primitive.PrimitiveLongIterator -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.Predicate +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.PipelineInformation import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.PrimitiveLongHelper -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes._ import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.PrimitiveExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.Predicate +import org.neo4j.cypher.internal.runtime.interpreted.pipes._ import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.helpers.NullChecker.nodeIsNull -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{ExecutionContext, PipelineInformation} +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/OptionalSlottedPipe.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/OptionalSlottedPipe.scala index 7a546e242900f..f3206aeca1854 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/OptionalSlottedPipe.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/OptionalSlottedPipe.scala @@ -19,9 +19,10 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{Pipe, PipeWithSource, QueryState} +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.PipelineInformation import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.PrimitiveExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{ExecutionContext, PipelineInformation} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{Pipe, PipeWithSource, QueryState} +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId case class OptionalSlottedPipe(source: Pipe, nullableOffsets: Seq[Int], diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/PrimitiveCachingExpandInto.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/PrimitiveCachingExpandInto.scala index fd6a1e362bc68..16b226cc57811 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/PrimitiveCachingExpandInto.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/PrimitiveCachingExpandInto.scala @@ -20,8 +20,8 @@ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes import org.neo4j.collection.primitive.PrimitiveLongIterator +import org.neo4j.cypher.internal.runtime.QueryContext import org.neo4j.cypher.internal.util.v3_4.InternalException -import org.neo4j.cypher.internal.spi.v3_4.QueryContext import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.kernel.impl.api.RelationshipVisitor import org.neo4j.kernel.impl.api.store.RelationshipIterator diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/ProduceResultSlottedPipe.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/ProduceResultSlottedPipe.scala index 07f74a227ea21..0f1035ba48f8f 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/ProduceResultSlottedPipe.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/ProduceResultSlottedPipe.scala @@ -19,9 +19,9 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes._ +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.pipes._ +import org.neo4j.cypher.internal.runtime.interpreted.{ExecutionContext, MutableMaps} import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId case class ProduceResultSlottedPipe(source: Pipe, columns: Seq[(String, Expression)]) diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/ProjectionSlottedPipe.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/ProjectionSlottedPipe.scala index f878d9e236589..147ad69cc2177 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/ProjectionSlottedPipe.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/ProjectionSlottedPipe.scala @@ -19,9 +19,10 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{Pipe, PipeWithSource, QueryState} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{ExecutionContext, LongSlot, RefSlot, Slot} +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{LongSlot, RefSlot, Slot} +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{Pipe, PipeWithSource, QueryState} +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId /* diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/RollUpApplySlottedPipe.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/RollUpApplySlottedPipe.scala index 1ace4ba85faf8..8762cd35043b1 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/RollUpApplySlottedPipe.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/RollUpApplySlottedPipe.scala @@ -19,9 +19,10 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{Pipe, PipeWithSource, QueryState} +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{LongSlot, PipelineInformation, RefSlot} +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{Pipe, PipeWithSource, QueryState} +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.values.storable.Values.NO_VALUE import org.neo4j.values.virtual.VirtualValues diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/SingleRowSlottedPipe.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/SingleRowSlottedPipe.scala index a327b27ec7a0e..62a914bc63b0b 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/SingleRowSlottedPipe.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/SingleRowSlottedPipe.scala @@ -20,8 +20,8 @@ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes import org.neo4j.cypher.internal.compatibility.v3_4.runtime.PipelineInformation -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{Pipe, QueryState} import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.PrimitiveExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{Pipe, QueryState} import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId case class SingleRowSlottedPipe(pipelineInformation: PipelineInformation)(val id: LogicalPlanId = LogicalPlanId.DEFAULT) extends Pipe { diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/SortSlottedPipe.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/SortSlottedPipe.scala index 28fac2a37be73..27a21b8b82383 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/SortSlottedPipe.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/SortSlottedPipe.scala @@ -21,8 +21,9 @@ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes import java.util.Comparator -import org.neo4j.cypher.internal.compatibility.v3_4.runtime._ -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{Pipe, PipeWithSource, QueryState} +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{LongSlot, PipelineInformation, RefSlot, Slot} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{Pipe, PipeWithSource, QueryState} +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.values.{AnyValue, AnyValues} diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/TopSlottedPipe.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/TopSlottedPipe.scala index e22edaebb2daf..f06840c529c30 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/TopSlottedPipe.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/TopSlottedPipe.scala @@ -21,10 +21,10 @@ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes import java.util.Comparator -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{Pipe, PipeWithSource, QueryState} import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.DefaultComparatorTopTable +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{Pipe, PipeWithSource, QueryState} +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.values.storable.NumberValue @@ -139,4 +139,4 @@ case class Top1WithTiesSlottedPipe(source: Pipe, orderBy: List[ColumnOrder]) builder += first builder } -} \ No newline at end of file +} diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/UnionSlottedPipe.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/UnionSlottedPipe.scala index d106ff4c91922..6c246d9814544 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/UnionSlottedPipe.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/UnionSlottedPipe.scala @@ -19,9 +19,9 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.ExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{Pipe, QueryState} import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.SlottedPipeBuilder.RowMapping +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{Pipe, QueryState} import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId case class UnionSlottedPipe(lhs: Pipe, rhs: Pipe, diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/UnwindSlottedPipe.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/UnwindSlottedPipe.scala index fd72e7f1c4c6f..74421e413b425 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/UnwindSlottedPipe.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/UnwindSlottedPipe.scala @@ -19,11 +19,11 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Expression -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.ListSupport -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{Pipe, PipeWithSource, QueryState} +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.PipelineInformation import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.PrimitiveExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{ExecutionContext, PipelineInformation} +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Expression +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{Pipe, PipeWithSource, QueryState} +import org.neo4j.cypher.internal.runtime.interpreted.{ExecutionContext, ListSupport} import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.values.AnyValue diff --git a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/VarLengthExpandSlottedPipe.scala b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/VarLengthExpandSlottedPipe.scala index 8f73466603051..704dd0fd2f6a5 100644 --- a/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/VarLengthExpandSlottedPipe.scala +++ b/enterprise/cypher/slotted-runtime/src/main/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/VarLengthExpandSlottedPipe.scala @@ -19,11 +19,12 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes -import org.neo4j.cypher.internal.util.v3_4.InternalException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.predicates.Predicate -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{LazyTypes, Pipe, PipeWithSource, QueryState} +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.PipelineInformation import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.PrimitiveExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{ExecutionContext, PipelineInformation} +import org.neo4j.cypher.internal.util.v3_4.InternalException +import org.neo4j.cypher.internal.runtime.interpreted.commands.predicates.Predicate +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{LazyTypes, Pipe, PipeWithSource, QueryState} +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.neo4j.cypher.internal.v3_4.expressions.SemanticDirection import org.neo4j.graphdb.Relationship diff --git a/enterprise/cypher/slotted-runtime/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/PrimitiveExecutionContextTest.scala b/enterprise/cypher/slotted-runtime/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/PrimitiveExecutionContextTest.scala index 9bc433513eb87..d341545e926f0 100644 --- a/enterprise/cypher/slotted-runtime/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/PrimitiveExecutionContextTest.scala +++ b/enterprise/cypher/slotted-runtime/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/PrimitiveExecutionContextTest.scala @@ -19,8 +19,8 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted -import org.neo4j.cypher.internal.util.v3_4.InternalException import org.neo4j.cypher.internal.compatibility.v3_4.runtime.PipelineInformation +import org.neo4j.cypher.internal.util.v3_4.InternalException import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values.stringValue diff --git a/enterprise/cypher/slotted-runtime/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/FakeSlottedPipe.scala b/enterprise/cypher/slotted-runtime/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/FakeSlottedPipe.scala index 4f2382da18df5..624f4052da11c 100644 --- a/enterprise/cypher/slotted-runtime/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/FakeSlottedPipe.scala +++ b/enterprise/cypher/slotted-runtime/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/FakeSlottedPipe.scala @@ -19,10 +19,11 @@ */ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.helpers.ValueConversion.asValue -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{Pipe, QueryState} +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{LongSlot, PipelineInformation, RefSlot} import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.PrimitiveExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{ExecutionContext, LongSlot, PipelineInformation, RefSlot} +import org.neo4j.cypher.internal.runtime.interpreted.ValueConversion.asValue +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{Pipe, QueryState} +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext import org.neo4j.cypher.internal.v3_4.logical.plans.LogicalPlanId import org.scalatest.mock.MockitoSugar diff --git a/enterprise/cypher/slotted-runtime/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/RollUpApplyPipeTest.scala b/enterprise/cypher/slotted-runtime/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/RollUpApplyPipeTest.scala index 77dcb3386f3ad..eba363cf79245 100644 --- a/enterprise/cypher/slotted-runtime/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/RollUpApplyPipeTest.scala +++ b/enterprise/cypher/slotted-runtime/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/RollUpApplyPipeTest.scala @@ -24,13 +24,14 @@ import org.mockito.Mockito import org.mockito.Mockito._ import org.mockito.invocation.InvocationOnMock import org.mockito.stubbing.Answer -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.FakeEntityTestSupport -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{Pipe, PipeTestSupport, QueryState, QueryStateHelper} +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.PipelineInformation import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.expressions.{NodeFromSlot, ReferenceFromSlot} -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{ExecutionContext, PipelineInformation} +import org.neo4j.cypher.internal.runtime.{Operations, QueryContext} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{Pipe, PipeTestSupport, QueryState, QueryStateHelper} +import org.neo4j.cypher.internal.runtime.interpreted.ExecutionContext +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.FakeEntityTestSupport import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.internal.spi.v3_4.{Operations, QueryContext} import org.neo4j.graphdb.Node import org.neo4j.kernel.impl.util.ValueUtils import org.neo4j.values.storable.Values diff --git a/enterprise/cypher/slotted-runtime/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/TopSlottedPipeTest.scala b/enterprise/cypher/slotted-runtime/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/TopSlottedPipeTest.scala index 6446f5ccf7e73..2bbcedbf40bf2 100644 --- a/enterprise/cypher/slotted-runtime/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/TopSlottedPipeTest.scala +++ b/enterprise/cypher/slotted-runtime/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/TopSlottedPipeTest.scala @@ -20,11 +20,11 @@ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes import org.neo4j.cypher.InternalException -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.commands.expressions.Literal -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes.{Pipe, QueryStateHelper} import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.PrimitiveExecutionContext -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes.TopSlottedPipeTestSupport._ import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{LongSlot, PipelineInformation, RefSlot} +import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes.TopSlottedPipeTestSupport._ +import org.neo4j.cypher.internal.runtime.interpreted.commands.expressions.Literal +import org.neo4j.cypher.internal.runtime.interpreted.pipes.{Pipe, QueryStateHelper} import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.kernel.impl.util.ValueUtils diff --git a/enterprise/cypher/slotted-runtime/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/UnionSlottedPipeTest.scala b/enterprise/cypher/slotted-runtime/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/UnionSlottedPipeTest.scala index fc054d44e41ba..11eba10a721e2 100644 --- a/enterprise/cypher/slotted-runtime/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/UnionSlottedPipeTest.scala +++ b/enterprise/cypher/slotted-runtime/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/UnionSlottedPipeTest.scala @@ -23,11 +23,11 @@ import org.mockito.ArgumentMatchers.any import org.mockito.Mockito.when import org.mockito.invocation.InvocationOnMock import org.mockito.stubbing.Answer -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes._ import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.PrimitiveExecutionContext import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.SlottedPipeBuilder.computeUnionMapping import org.neo4j.cypher.internal.compatibility.v3_4.runtime.{LongSlot, PipelineInformation} -import org.neo4j.cypher.internal.spi.v3_4.{Operations, QueryContext} +import org.neo4j.cypher.internal.runtime.interpreted.pipes.QueryStateHelper +import org.neo4j.cypher.internal.runtime.{Operations, QueryContext} import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.graphdb.{Node, Relationship} diff --git a/enterprise/cypher/slotted-runtime/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/UnwindSlottedPipeTest.scala b/enterprise/cypher/slotted-runtime/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/UnwindSlottedPipeTest.scala index c6408c4e5ae6f..8c776a6d70cfb 100644 --- a/enterprise/cypher/slotted-runtime/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/UnwindSlottedPipeTest.scala +++ b/enterprise/cypher/slotted-runtime/src/test/scala/org/neo4j/cypher/internal/compatibility/v3_4/runtime/slotted/pipes/UnwindSlottedPipeTest.scala @@ -20,9 +20,9 @@ package org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.pipes import org.neo4j.cypher.internal.compatibility.v3_4.runtime.PipelineInformation -import org.neo4j.cypher.internal.compatibility.v3_4.runtime.pipes._ import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.PrimitiveExecutionContext import org.neo4j.cypher.internal.compatibility.v3_4.runtime.slotted.expressions.ReferenceFromSlot +import org.neo4j.cypher.internal.runtime.interpreted.pipes._ import org.neo4j.cypher.internal.util.v3_4.symbols._ import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite import org.neo4j.values.storable.Values.intValue diff --git a/enterprise/kernel/src/test/scala/org/neo4j/cypher/EnterpriseGraphDatabaseTestSupport.scala b/enterprise/kernel/src/test/scala/org/neo4j/cypher/EnterpriseGraphDatabaseTestSupport.scala index 5b6fa014aed89..14ad7f9385127 100644 --- a/enterprise/kernel/src/test/scala/org/neo4j/cypher/EnterpriseGraphDatabaseTestSupport.scala +++ b/enterprise/kernel/src/test/scala/org/neo4j/cypher/EnterpriseGraphDatabaseTestSupport.scala @@ -19,8 +19,8 @@ */ package org.neo4j.cypher +import org.neo4j.cypher.internal.javacompat.GraphDatabaseCypherService import org.neo4j.cypher.internal.util.v3_4.test_helpers.CypherFunSuite -import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService import org.neo4j.graphdb.config.Setting import org.neo4j.test.TestEnterpriseGraphDatabaseFactory