diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/ReattachAliasedExpressions.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/ReattachAliasedExpressions.scala index 99be4f4cd..51b461295 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/ReattachAliasedExpressions.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/ReattachAliasedExpressions.scala @@ -20,7 +20,7 @@ package org.neo4j.cypher.internal import commands._ -import expressions.{Entity, Expression} +import expressions.{Identifier, Expression} /* @@ -39,7 +39,7 @@ object ReattachAliasedExpressions { } private def expressionRewriter(returnColumns: Seq[ReturnColumn])(expression: Expression): Expression = expression match { - case e@Entity(entityName) => + case e@Identifier(entityName) => val returnItems = keepReturnItems(returnColumns) val found = returnItems.find(_.name == e.entityName) diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/ComparablePredicate.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/ComparablePredicate.scala index 2812bd453..586f899d5 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/ComparablePredicate.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/ComparablePredicate.scala @@ -45,7 +45,7 @@ abstract sealed class ComparablePredicate(left: Expression, right: Expression) e def containsIsNull = false def filter(f: (Expression) => Boolean): Seq[Expression] = left.filter(f) ++ right.filter(f) - def assertTypes(symbols: SymbolTable2) { + def assertTypes(symbols: SymbolTable) { left.assertTypes(symbols) right.assertTypes(symbols) } @@ -62,7 +62,7 @@ case class Equals(a: Expression, b: Expression) extends Predicate with Comparer def rewrite(f: (Expression) => Expression) = Equals(a.rewrite(f), b.rewrite(f)) def filter(f: (Expression) => Boolean): Seq[Expression] = a.filter(f) ++ b.filter(f) - def assertTypes(symbols: SymbolTable2) { + def assertTypes(symbols: SymbolTable) { a.assertTypes(symbols) b.assertTypes(symbols) } diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/InIterable.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/InIterable.scala index 3061d5912..98bbd618b 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/InIterable.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/InIterable.scala @@ -54,7 +54,7 @@ abstract class InIterable(collection: Expression, id: String, predicate: Predica def filter(f: (Expression) => Boolean): Seq[Expression] = collection.filter(f) ++ predicate.filter(f) - def assertTypes(symbols: SymbolTable2) { + def assertTypes(symbols: SymbolTable) { val innerType = collection.evaluateType(AnyIterableType(), symbols).iteratedType predicate.assertTypes(symbols.add(id, innerType)) } diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/MathFunction.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/MathFunction.scala index 4b2bb065a..6389dc6e6 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/MathFunction.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/MathFunction.scala @@ -33,7 +33,7 @@ abstract class MathFunction(arg: Expression) extends Expression with NumericHelp else arg.filter(f) - def calculateType(symbols: SymbolTable2) = arg.evaluateType(NumberType(), symbols) + def calculateType(symbols: SymbolTable) = arg.evaluateType(NumberType(), symbols) def symbolTableDependencies = arg.symbolTableDependencies } @@ -76,7 +76,7 @@ case class RangeFunction(start: Expression, end: Expression, step: Expression) e def rewrite(f: (Expression) => Expression) = f(RangeFunction(start.rewrite(f), end.rewrite(f), step.rewrite(f))) - def calculateType(symbols: SymbolTable2): CypherType = { + def calculateType(symbols: SymbolTable): CypherType = { start.evaluateType(NumberType(), symbols) end.evaluateType(NumberType(), symbols) step.evaluateType(NumberType(), symbols) diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/PathExpression.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/PathExpression.scala index b748f0f89..869c82848 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/PathExpression.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/PathExpression.scala @@ -33,7 +33,7 @@ case class PathExpression(pathPattern: Seq[Pattern]) with PatternGraphBuilder { val identifiers: Seq[(String, CypherType)] = pathPattern.flatMap(pattern => pattern.possibleStartPoints.filterNot(p => p._1.startsWith(" UNNAMED"))) - val symbols2 = new SymbolTable2(identifiers.toMap) + val symbols2 = new SymbolTable(identifiers.toMap) val matchingContext = new MatchingContext(symbols2, Seq(), buildPatternGraph(symbols2, pathPattern)) val interestingPoints: Seq[String] = pathPattern. flatMap(_.possibleStartPoints.map(_._1)). @@ -63,7 +63,7 @@ case class PathExpression(pathPattern: Seq[Pattern]) def rewrite(f: (Expression) => Expression): Expression = f(PathExpression(pathPattern.map(_.rewrite(f)))) - def calculateType(symbols: SymbolTable2): CypherType = { + def calculateType(symbols: SymbolTable): CypherType = { pathPattern.foreach(_.assertTypes(symbols)) new IterableType( PathType() ) } diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/Pattern.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/Pattern.scala index f74bbc29f..1b0f4d1fd 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/Pattern.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/Pattern.scala @@ -84,7 +84,7 @@ case class RelatedTo(left: String, def rels = Seq(relName) - def assertTypes(symbols: SymbolTable2) { + def assertTypes(symbols: SymbolTable) { predicate.assertTypes(symbols) } @@ -163,7 +163,7 @@ case class VarLengthRelatedTo(pathName: String, def rels = Seq() - def assertTypes(symbols: SymbolTable2) { + def assertTypes(symbols: SymbolTable) { predicate.assertTypes(symbols) } } @@ -204,7 +204,7 @@ case class ShortestPath(pathName: String, def nodes = Seq(start,end) - def assertTypes(symbols: SymbolTable2) { + def assertTypes(symbols: SymbolTable) { possibleStartPoints.foreach(p => symbols.evaluateType(p._1, p._2)) predicate.assertTypes(symbols) } diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/Predicate.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/Predicate.scala index 72dbb359c..09dfcea99 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/Predicate.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/Predicate.scala @@ -65,7 +65,7 @@ case class NullablePredicate(inner: Predicate, exp: Seq[(Expression, Boolean)]) def filter(f: (Expression) => Boolean) = exp.flatMap { case (e,_) => e.filter(f) } - def assertTypes(symbols: SymbolTable2) { + def assertTypes(symbols: SymbolTable) { inner.assertTypes(symbols) } @@ -82,7 +82,7 @@ case class And(a: Predicate, b: Predicate) extends Predicate { def rewrite(f: (Expression) => Expression) = And(a.rewrite(f), b.rewrite(f)) def filter(f: (Expression) => Boolean) = a.filter(f) ++ b.filter(f) - def assertTypes(symbols: SymbolTable2) { + def assertTypes(symbols: SymbolTable) { a.assertTypes(symbols) b.assertTypes(symbols) } @@ -99,7 +99,7 @@ case class Or(a: Predicate, b: Predicate) extends Predicate { def rewrite(f: (Expression) => Expression) = Or(a.rewrite(f), b.rewrite(f)) def filter(f: (Expression) => Boolean) = a.filter(f) ++ b.filter(f) - def assertTypes(symbols: SymbolTable2) { + def assertTypes(symbols: SymbolTable) { a.assertTypes(symbols) b.assertTypes(symbols) } @@ -115,7 +115,7 @@ case class Not(a: Predicate) extends Predicate { def containsIsNull = a.containsIsNull def rewrite(f: (Expression) => Expression) = Not(a.rewrite(f)) def filter(f: (Expression) => Boolean) = a.filter(f) - def assertTypes(symbols: SymbolTable2) { + def assertTypes(symbols: SymbolTable) { a.assertTypes(symbols) } @@ -146,7 +146,7 @@ case class HasRelationshipTo(from: Expression, to: Expression, dir: Direction, r def rewrite(f: (Expression) => Expression) = HasRelationshipTo(from.rewrite(f), to.rewrite(f), dir, relType) def filter(f: (Expression) => Boolean) = from.filter(f) ++ to.filter(f) - def assertTypes(symbols: SymbolTable2) { + def assertTypes(symbols: SymbolTable) { from.assertTypes(symbols) to.assertTypes(symbols) } @@ -173,7 +173,7 @@ case class HasRelationship(from: Expression, dir: Direction, relType: Seq[String def containsIsNull = false def filter(f: (Expression) => Boolean) = from.filter(f) def rewrite(f: (Expression) => Expression) = HasRelationship(from.rewrite(f), dir, relType) - def assertTypes(symbols: SymbolTable2) { + def assertTypes(symbols: SymbolTable) { from.assertTypes(symbols) } @@ -188,7 +188,7 @@ case class IsNull(expression: Expression) extends Predicate { def containsIsNull = true def rewrite(f: (Expression) => Expression) = IsNull(expression.rewrite(f)) def filter(f: (Expression) => Boolean) = expression.filter(f) - def assertTypes(symbols: SymbolTable2) { + def assertTypes(symbols: SymbolTable) { expression.assertTypes(symbols) } def symbolTableDependencies = expression.symbolTableDependencies @@ -202,7 +202,7 @@ case class True() extends Predicate { def containsIsNull = false def rewrite(f: (Expression) => Expression) = True() def filter(f: (Expression) => Boolean) = Seq() - def assertTypes(symbols: SymbolTable2) {} + def assertTypes(symbols: SymbolTable) {} def symbolTableDependencies = Set() } @@ -223,7 +223,7 @@ case class Has(property: Property) extends Predicate { case _ => throw new ThisShouldNotHappenError("Andres", "Something went wrong rewriting a Has(Property)") } def filter(f: (Expression) => Boolean) = property.filter(f) - def assertTypes(symbols: SymbolTable2) { + def assertTypes(symbols: SymbolTable) { property.assertTypes(symbols) } @@ -243,7 +243,7 @@ case class LiteralRegularExpression(a: Expression, regex: Literal) extends Predi } def filter(f: (Expression) => Boolean) = a.filter(f) ++ regex.filter(f) - def assertTypes(symbols: SymbolTable2) { + def assertTypes(symbols: SymbolTable) { a.evaluateType(StringType(), symbols) regex.evaluateType(StringType(), symbols) } @@ -269,7 +269,7 @@ case class RegularExpression(a: Expression, regex: Expression) extends Predicate } def filter(f: (Expression) => Boolean) = a.filter(f) ++ regex.filter(f) - def assertTypes(symbols: SymbolTable2) { + def assertTypes(symbols: SymbolTable) { a.evaluateType(StringType(), symbols) regex.evaluateType(StringType(), symbols) } @@ -292,7 +292,7 @@ case class NonEmpty(collection:Expression) extends Predicate with IterableSuppor def rewrite(f: (Expression) => Expression) = NonEmpty(collection.rewrite(f)) def filter(f: (Expression) => Boolean) = collection.filter(f) - def assertTypes(symbols: SymbolTable2) { + def assertTypes(symbols: SymbolTable) { collection.evaluateType(AnyIterableType(), symbols) } diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/ReturnItem.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/ReturnItem.scala index fedaf9b92..e468e6aa8 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/ReturnItem.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/ReturnItem.scala @@ -19,27 +19,27 @@ */ package org.neo4j.cypher.internal.commands -import expressions.{Entity, Expression} +import expressions.{Identifier, Expression} import org.neo4j.cypher.internal.symbols._ import collection.Map abstract class ReturnColumn { - def expressions(symbols: SymbolTable2): Map[String,Expression] + def expressions(symbols: SymbolTable): Map[String,Expression] def name: String } case class AllIdentifiers() extends ReturnColumn { - def expressions(symbols: SymbolTable2): Map[String, Expression] = symbols.identifiers.keys. + def expressions(symbols: SymbolTable): Map[String, Expression] = symbols.identifiers.keys. filterNot(_.startsWith(" UNNAMED")). - map(n => n -> Entity(n)).toMap + map(n => n -> Identifier(n)).toMap def name = "*" } case class ReturnItem(expression: Expression, name: String, renamed: Boolean = false) extends ReturnColumn { - def expressions(symbols: SymbolTable2) = Map(name -> expression) + def expressions(symbols: SymbolTable) = Map(name -> expression) override def toString = name diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/SortItem.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/SortItem.scala index 02cc82547..737e00c59 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/SortItem.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/SortItem.scala @@ -19,13 +19,13 @@ */ package org.neo4j.cypher.internal.commands -import expressions.{CachedExpression, Entity, Expression} +import expressions.{CachedExpression, Identifier, Expression} import java.lang.String import org.neo4j.helpers.ThisShouldNotHappenError case class SortItem(expression: Expression, ascending: Boolean) { def columnName : String = expression match { - case Entity(x) => x + case Identifier(x) => x case CachedExpression(x, _) => x case x => throw new ThisShouldNotHappenError("Andres", "ORDER BY should only work already computed values " + x.getClass) } diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/StartItem.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/StartItem.scala index 8d0b3f32a..d2ad203a8 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/StartItem.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/StartItem.scala @@ -19,7 +19,7 @@ */ package org.neo4j.cypher.internal.commands -import expressions.{Entity, Literal, Expression} +import expressions.{Identifier, Literal, Expression} import org.neo4j.cypher.internal.pipes.{QueryState, ExecutionContext} import org.neo4j.cypher.internal.mutation.{GraphElementPropertyFunctions, UpdateAction} import scala.Long @@ -85,7 +85,7 @@ case class CreateNodeStartItem(key: String, props: Map[String, Expression]) def rewrite(f: (Expression) => Expression): UpdateAction = CreateNodeStartItem(key, rewrite(props, f)) - def assertTypes(symbols: SymbolTable2) { + def assertTypes(symbols: SymbolTable) { checkTypes(props, symbols) } @@ -115,7 +115,7 @@ case class CreateRelationshipStartItem(key: String, from: (Expression, Map[Strin def identifier2 = Seq(key-> RelationshipType()) - def assertTypes(symbols: SymbolTable2) { + def assertTypes(symbols: SymbolTable) { checkTypes(from._2, symbols) checkTypes(to._2, symbols) checkTypes(props, symbols) diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Add.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Add.scala index f982c1180..98e5736de 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Add.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Add.scala @@ -46,7 +46,7 @@ case class Add(a: Expression, b: Expression) extends Expression { else a.filter(f) ++ b.filter(f) - def calculateType(symbols: SymbolTable2): CypherType = { + def calculateType(symbols: SymbolTable): CypherType = { val aT = a.getType(symbols) val bT = a.getType(symbols) diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Avg.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Avg.scala index 8423cf24d..30d34c6c2 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Avg.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Avg.scala @@ -19,7 +19,7 @@ */ package org.neo4j.cypher.internal.commands.expressions -import org.neo4j.cypher.internal.symbols.{CypherType, SymbolTable2, NumberType} +import org.neo4j.cypher.internal.symbols.{CypherType, SymbolTable, NumberType} import org.neo4j.cypher.internal.pipes.aggregation.AvgFunction case class Avg(anInner: Expression) extends AggregationWithInnerExpression(anInner) { @@ -29,5 +29,5 @@ case class Avg(anInner: Expression) extends AggregationWithInnerExpression(anInn def rewrite(f: (Expression) => Expression) = f(Avg(anInner.rewrite(f))) - def calculateType(symbols: SymbolTable2): CypherType = NumberType() + def calculateType(symbols: SymbolTable): CypherType = NumberType() } \ No newline at end of file diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/CoalesceFunction.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/CoalesceFunction.scala index 6e30c53c5..74f4c3d1c 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/CoalesceFunction.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/CoalesceFunction.scala @@ -41,7 +41,7 @@ case class CoalesceFunction(expressions: Expression*) extends Expression { else expressions.flatMap(_.filter(f)) - def calculateType(symbols: SymbolTable2) = { + def calculateType(symbols: SymbolTable) = { expressions.map(_.getType(symbols)) match { case Seq() => ScalarType() case types => types.foldLeft(AnyType().asInstanceOf[CypherType])(_ mergeWith _) diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Collect.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Collect.scala index 14de057e4..2732b4dea 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Collect.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Collect.scala @@ -19,7 +19,7 @@ */ package org.neo4j.cypher.internal.commands.expressions -import org.neo4j.cypher.internal.symbols.{SymbolTable2, AnyType, IterableType} +import org.neo4j.cypher.internal.symbols.{SymbolTable, AnyType, IterableType} import org.neo4j.cypher.internal.pipes.aggregation.CollectFunction case class Collect(anInner: Expression) extends AggregationWithInnerExpression(anInner) { @@ -29,5 +29,5 @@ case class Collect(anInner: Expression) extends AggregationWithInnerExpression(a def rewrite(f: (Expression) => Expression) = f(Collect(anInner.rewrite(f))) - def calculateType(symbols: SymbolTable2) = new IterableType(anInner.getType(symbols)) + def calculateType(symbols: SymbolTable) = new IterableType(anInner.getType(symbols)) } \ No newline at end of file diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Collection.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Collection.scala index dadfbde62..cb1723684 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Collection.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Collection.scala @@ -32,7 +32,7 @@ case class Collection(expressions: Expression*) extends Expression { else expressions.flatMap(_.filter(f)) - def calculateType(symbols: SymbolTable2): CypherType = { + def calculateType(symbols: SymbolTable): CypherType = { expressions.map(_.getType(symbols)) match { case Seq() => AnyIterableType() diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Count.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Count.scala index acbd3843d..f65670874 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Count.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Count.scala @@ -29,5 +29,5 @@ case class Count(anInner: Expression) extends AggregationWithInnerExpression(anI def rewrite(f: (Expression) => Expression) = f(Count(anInner.rewrite(f))) - def calculateType(symbols: SymbolTable2): CypherType = LongType() + def calculateType(symbols: SymbolTable): CypherType = LongType() } \ No newline at end of file diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/CountStar.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/CountStar.scala index e1699b53e..2a571c513 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/CountStar.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/CountStar.scala @@ -19,7 +19,7 @@ */ package org.neo4j.cypher.internal.commands.expressions -import org.neo4j.cypher.internal.symbols.{SymbolTable2, CypherType, LongType} +import org.neo4j.cypher.internal.symbols.{SymbolTable, CypherType, LongType} import org.neo4j.cypher.internal.pipes.aggregation.CountStarFunction case class CountStar() extends AggregationExpression { @@ -32,7 +32,7 @@ case class CountStar() extends AggregationExpression { else Seq() - def calculateType(symbols: SymbolTable2): CypherType = LongType() + def calculateType(symbols: SymbolTable): CypherType = LongType() def symbolTableDependencies = Set() } \ No newline at end of file diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Distinct.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Distinct.scala index 59d3b09b7..d77310d4e 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Distinct.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Distinct.scala @@ -19,7 +19,7 @@ */ package org.neo4j.cypher.internal.commands.expressions -import org.neo4j.cypher.internal.symbols.{SymbolTable2, CypherType, AnyType} +import org.neo4j.cypher.internal.symbols.{SymbolTable, CypherType, AnyType} import org.neo4j.cypher.internal.pipes.aggregation.DistinctFunction case class Distinct(innerAggregator: AggregationExpression, expression: Expression) extends AggregationWithInnerExpression(expression) { @@ -32,7 +32,7 @@ case class Distinct(innerAggregator: AggregationExpression, expression: Expressi case _ => f(Distinct(innerAggregator, expression.rewrite(f))) } - def calculateType(symbols: SymbolTable2): CypherType = innerAggregator.getType(symbols) + def calculateType(symbols: SymbolTable): CypherType = innerAggregator.getType(symbols) override def symbolTableDependencies = innerAggregator.symbolTableDependencies ++ expression.symbolTableDependencies } \ No newline at end of file diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Expression.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Expression.scala index cfdf22db3..6d51cf370 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Expression.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Expression.scala @@ -32,9 +32,9 @@ with TypeSafe { def subExpressions = filter( _ != this) def containsAggregate = exists(_.isInstanceOf[AggregationExpression]) - protected def calculateType(symbols: SymbolTable2): CypherType + protected def calculateType(symbols: SymbolTable): CypherType - def evaluateType(expectedType: CypherType, symbols: SymbolTable2): CypherType = { + def evaluateType(expectedType: CypherType, symbols: SymbolTable): CypherType = { val t = calculateType(symbols) if (!expectedType.isAssignableFrom(t) && @@ -45,7 +45,7 @@ with TypeSafe { t } - def assertTypes(symbols: SymbolTable2) { + def assertTypes(symbols: SymbolTable) { evaluateType(AnyType(), symbols) } @@ -58,7 +58,7 @@ case class CachedExpression(key:String, typ:CypherType) extends Expression { def rewrite(f: (Expression) => Expression) = f(this) def filter(f: (Expression) => Boolean) = if(f(this)) Seq(this) else Seq() - def calculateType(symbols: SymbolTable2) = typ + def calculateType(symbols: SymbolTable) = typ def symbolTableDependencies = Set(key) } @@ -86,7 +86,7 @@ abstract class Arithmetics(left: Expression, right: Expression) else left.filter(f) ++ right.filter(f) - def calculateType(symbols: SymbolTable2): CypherType = { + def calculateType(symbols: SymbolTable): CypherType = { left.evaluateType(NumberType(), symbols) right.evaluateType(NumberType(), symbols) NumberType() @@ -98,7 +98,7 @@ trait ExpressionWInnerExpression extends Expression { def myType:CypherType def expectedInnerType:CypherType - def calculateType(symbols: SymbolTable2): CypherType = { + def calculateType(symbols: SymbolTable): CypherType = { inner.evaluateType(expectedInnerType, symbols) myType diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/ExtractFunction.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/ExtractFunction.scala index 8a9846595..eb684d64c 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/ExtractFunction.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/ExtractFunction.scala @@ -42,7 +42,7 @@ case class ExtractFunction(collection: Expression, id: String, expression: Expre collection.filter(f) ++ expression.filter(f) - def calculateType(symbols: SymbolTable2): CypherType = collection.evaluateType(AnyIterableType(), symbols) + def calculateType(symbols: SymbolTable): CypherType = collection.evaluateType(AnyIterableType(), symbols) def symbolTableDependencies = symbolTableDependencies(collection, expression, id) } \ No newline at end of file diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/FilterFunction.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/FilterFunction.scala index 36f28fd16..6f10080bb 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/FilterFunction.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/FilterFunction.scala @@ -36,7 +36,7 @@ case class FilterFunction(collection: Expression, id: String, predicate: Predica else collection.filter(f) - def calculateType(symbols: SymbolTable2): CypherType = { + def calculateType(symbols: SymbolTable): CypherType = { val t = collection.evaluateType(AnyIterableType(), symbols) predicate.assertTypes(symbols.add(id, t.iteratedType)) diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/HeadFunction.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/HeadFunction.scala index d5d7ee8b8..2d51aff81 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/HeadFunction.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/HeadFunction.scala @@ -34,7 +34,7 @@ case class HeadFunction(collection: Expression) extends NullInNullOutExpression( def identifierDependencies(expectedType: CypherType) = null - def calculateType(symbols: SymbolTable2) = collection.evaluateType(AnyIterableType(), symbols).iteratedType + def calculateType(symbols: SymbolTable) = collection.evaluateType(AnyIterableType(), symbols).iteratedType def symbolTableDependencies = collection.symbolTableDependencies } \ No newline at end of file diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/IdFunction.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/IdFunction.scala index 68c9495d3..bdd513d38 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/IdFunction.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/IdFunction.scala @@ -38,7 +38,7 @@ case class IdFunction(inner: Expression) extends NullInNullOutExpression(inner) else inner.filter(f) - def calculateType(symbols: SymbolTable2): CypherType = LongType() + def calculateType(symbols: SymbolTable): CypherType = LongType() def symbolTableDependencies = inner.symbolTableDependencies } \ No newline at end of file diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Entity.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Identifier.scala similarity index 89% rename from cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Entity.scala rename to cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Identifier.scala index 2dd2f560c..01e1b4081 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Entity.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Identifier.scala @@ -24,7 +24,7 @@ import org.neo4j.cypher.internal.symbols._ import collection.Map import org.neo4j.helpers.ThisShouldNotHappenError -case class Entity(entityName: String) extends Expression with Typed { +case class Identifier(entityName: String) extends Expression with Typed { def apply(m: Map[String, Any]): Any = m.getOrElse(entityName, throw new NotFoundException("Unknown identifier `%s`".format(entityName))) override def toString(): String = entityName @@ -36,10 +36,10 @@ case class Entity(entityName: String) extends Expression with Typed { else Seq() - def calculateType(symbols: SymbolTable2) = + def calculateType(symbols: SymbolTable) = throw new ThisShouldNotHappenError("Andres", "This class should override evaluateType, and this method should never be run") - override def evaluateType(expectedType: CypherType, symbols: SymbolTable2) = symbols.evaluateType(entityName, expectedType) + override def evaluateType(expectedType: CypherType, symbols: SymbolTable) = symbols.evaluateType(entityName, expectedType) def symbolTableDependencies = Set(entityName) } \ No newline at end of file diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/LastFunction.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/LastFunction.scala index 2b859f625..476aaf92a 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/LastFunction.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/LastFunction.scala @@ -32,7 +32,7 @@ case class LastFunction(collection: Expression) extends NullInNullOutExpression( else collection.filter(f) - def calculateType(symbols: SymbolTable2) = collection.evaluateType(AnyIterableType(), symbols).iteratedType + def calculateType(symbols: SymbolTable) = collection.evaluateType(AnyIterableType(), symbols).iteratedType def symbolTableDependencies = collection.symbolTableDependencies } \ No newline at end of file diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Literal.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Literal.scala index f8ec6b37c..fe259d2aa 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Literal.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Literal.scala @@ -19,7 +19,7 @@ */ package org.neo4j.cypher.internal.commands.expressions -import org.neo4j.cypher.internal.symbols.{SymbolTable2, CypherType} +import org.neo4j.cypher.internal.symbols.{SymbolTable, CypherType} import collection.Map case class Literal(v: Any) extends Expression { @@ -34,7 +34,7 @@ case class Literal(v: Any) extends Expression { else Seq() - def calculateType(symbols: SymbolTable2): CypherType = CypherType.fromJava(v) + def calculateType(symbols: SymbolTable): CypherType = CypherType.fromJava(v) def symbolTableDependencies = Set() } \ No newline at end of file diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Max.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Max.scala index 1c4637ae8..0c3484a55 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Max.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Max.scala @@ -19,7 +19,7 @@ */ package org.neo4j.cypher.internal.commands.expressions -import org.neo4j.cypher.internal.symbols.{AnyIterableType, CypherType, SymbolTable2, NumberType} +import org.neo4j.cypher.internal.symbols.{AnyIterableType, CypherType, SymbolTable, NumberType} import org.neo4j.cypher.internal.pipes.aggregation.MaxFunction case class Max(anInner: Expression) extends AggregationWithInnerExpression(anInner) { @@ -29,5 +29,5 @@ case class Max(anInner: Expression) extends AggregationWithInnerExpression(anInn def rewrite(f: (Expression) => Expression) = f(Max(anInner.rewrite(f))) - def calculateType(symbols: SymbolTable2): CypherType = anInner.getType(symbols) + def calculateType(symbols: SymbolTable): CypherType = anInner.getType(symbols) } \ No newline at end of file diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Min.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Min.scala index 4a13cfff5..e659b2678 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Min.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Min.scala @@ -19,7 +19,7 @@ */ package org.neo4j.cypher.internal.commands.expressions -import org.neo4j.cypher.internal.symbols.{AnyIterableType, CypherType, SymbolTable2, NumberType} +import org.neo4j.cypher.internal.symbols.{AnyIterableType, CypherType, SymbolTable, NumberType} import org.neo4j.cypher.internal.pipes.aggregation.MinFunction case class Min(anInner: Expression) extends AggregationWithInnerExpression(anInner) { @@ -29,5 +29,5 @@ case class Min(anInner: Expression) extends AggregationWithInnerExpression(anInn def rewrite(f: (Expression) => Expression) = f(Min(anInner.rewrite(f))) - def calculateType(symbols: SymbolTable2): CypherType = anInner.getType(symbols) + def calculateType(symbols: SymbolTable): CypherType = anInner.getType(symbols) } \ No newline at end of file diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Modulo.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Modulo.scala index b09d69fa5..7221747a6 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Modulo.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Modulo.scala @@ -20,10 +20,6 @@ package org.neo4j.cypher.internal.commands.expressions case class Modulo(a: Expression, b: Expression) extends Arithmetics(a, b) { - def operand = "%" - - def verb = "modulo" - def calc(a: Number, b: Number) = a.doubleValue() % b.doubleValue() def rewrite(f: (Expression) => Expression) = f(Modulo(a.rewrite(f), b.rewrite(f))) diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Multiply.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Multiply.scala index 085cede45..ce34b8730 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Multiply.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Multiply.scala @@ -20,10 +20,6 @@ package org.neo4j.cypher.internal.commands.expressions case class Multiply(a: Expression, b: Expression) extends Arithmetics(a, b) { - def operand = "*" - - def verb = "multiply" - def calc(a: Number, b: Number) = a.doubleValue() * b.doubleValue() def rewrite(f: (Expression) => Expression) = f(Multiply(a.rewrite(f), b.rewrite(f))) diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/NodesFunction.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/NodesFunction.scala index 8e25775a8..4a2632c16 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/NodesFunction.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/NodesFunction.scala @@ -38,7 +38,7 @@ case class NodesFunction(path: Expression) extends NullInNullOutExpression(path) else path.filter(f) - def calculateType(symbols: SymbolTable2) = { + def calculateType(symbols: SymbolTable) = { path.evaluateType(new IterableType(MapType()), symbols) new IterableType(NodeType()) } diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Null.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Null.scala index e73e16281..0945b2689 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Null.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Null.scala @@ -19,7 +19,7 @@ */ package org.neo4j.cypher.internal.commands.expressions -import org.neo4j.cypher.internal.symbols.{SymbolTable2, CypherType, ScalarType} +import org.neo4j.cypher.internal.symbols.{SymbolTable, CypherType, ScalarType} import collection.Map case class Null() extends Expression { @@ -29,7 +29,7 @@ case class Null() extends Expression { def filter(f: (Expression) => Boolean): Seq[Expression] = if (f(this)) Seq(this) else Seq() - def calculateType(symbols: SymbolTable2): CypherType = ScalarType() + def calculateType(symbols: SymbolTable): CypherType = ScalarType() def symbolTableDependencies = Set() } \ No newline at end of file diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Nullable.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Nullable.scala index a41e3fa5f..cb4b28eb5 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Nullable.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Nullable.scala @@ -19,7 +19,7 @@ */ package org.neo4j.cypher.internal.commands.expressions -import org.neo4j.cypher.internal.symbols.{SymbolTable2, CypherType} +import org.neo4j.cypher.internal.symbols.{SymbolTable, CypherType} import org.neo4j.cypher.EntityNotFoundException import collection.Map @@ -37,7 +37,7 @@ case class Nullable(expression: Expression) extends Expression { else expression.filter(f) - def calculateType(symbols: SymbolTable2): CypherType = expression.getType(symbols) + def calculateType(symbols: SymbolTable): CypherType = expression.getType(symbols) def symbolTableDependencies = expression.symbolTableDependencies } \ No newline at end of file diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/ParameterExpression.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/ParameterExpression.scala index ce0f509c6..7a09f3126 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/ParameterExpression.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/ParameterExpression.scala @@ -19,7 +19,7 @@ */ package org.neo4j.cypher.internal.commands.expressions -import org.neo4j.cypher.internal.symbols.{SymbolTable2, AnyType} +import org.neo4j.cypher.internal.symbols.{SymbolTable, AnyType} import org.neo4j.cypher.ParameterNotFoundException import collection.Map @@ -44,7 +44,7 @@ case class ParameterExpression(parameterName: String) extends Expression { else Seq() - def calculateType(symbols: SymbolTable2) = AnyType() + def calculateType(symbols: SymbolTable) = AnyType() def symbolTableDependencies = Set() } diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Pow.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Pow.scala index ff431ac6b..4cfe0ce98 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Pow.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Pow.scala @@ -20,10 +20,6 @@ package org.neo4j.cypher.internal.commands.expressions case class Pow(a: Expression, b: Expression) extends Arithmetics(a, b) { - def operand = "^" - - def verb = "power" - def calc(a: Number, b: Number) = math.pow(a.doubleValue(), b.doubleValue()) def rewrite(f: (Expression) => Expression) = f(Pow(a.rewrite(f), b.rewrite(f))) diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Property.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Property.scala index e796715d1..6615c0889 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Property.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Property.scala @@ -44,10 +44,10 @@ case class Property(entity: String, property: String) extends Expression { else Seq() - def calculateType(symbols: SymbolTable2) = + def calculateType(symbols: SymbolTable) = throw new ThisShouldNotHappenError("Andres", "This class should override evaluateType, and this method should never be run") - override def evaluateType(expectedType: CypherType, symbols: SymbolTable2) = { + override def evaluateType(expectedType: CypherType, symbols: SymbolTable) = { symbols.evaluateType(entity, MapType()) expectedType } diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/RelationshipFunction.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/RelationshipFunction.scala index 27b935f90..1903e840c 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/RelationshipFunction.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/RelationshipFunction.scala @@ -37,7 +37,7 @@ case class RelationshipFunction(path: Expression) extends NullInNullOutExpressio else path.filter(f) - def calculateType(symbols: SymbolTable2) = { + def calculateType(symbols: SymbolTable) = { path.evaluateType(PathType(), symbols) new IterableType(RelationshipType()) } diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/RelationshipTypeFunction.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/RelationshipTypeFunction.scala index b80161c7b..e0742d7d9 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/RelationshipTypeFunction.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/RelationshipTypeFunction.scala @@ -33,7 +33,7 @@ case class RelationshipTypeFunction(relationship: Expression) extends NullInNull else relationship.filter(f) - def calculateType(symbols: SymbolTable2) = { + def calculateType(symbols: SymbolTable) = { relationship.evaluateType(RelationshipType(), symbols) StringType() } diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/ShortestPathExpression.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/ShortestPathExpression.scala index 4d032e227..d61a8e1e2 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/ShortestPathExpression.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/ShortestPathExpression.scala @@ -73,7 +73,7 @@ case class ShortestPathExpression(ast: ShortestPath) extends Expression with Pat else new AllShortestPathsFOO(expander, ast.maxDepth.getOrElse(15)) - def calculateType(symbols: SymbolTable2) = { + def calculateType(symbols: SymbolTable) = { ast.assertTypes(symbols) PathType() } diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Subtract.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Subtract.scala index 5ce65cb25..212e87742 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Subtract.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Subtract.scala @@ -20,10 +20,6 @@ package org.neo4j.cypher.internal.commands.expressions case class Subtract(a: Expression, b: Expression) extends Arithmetics(a, b) { - def operand = "-" - - def verb = "subtract" - def calc(a: Number, b: Number) = a.doubleValue() - b.doubleValue() def rewrite(f: (Expression) => Expression) = f(Subtract(a.rewrite(f), b.rewrite(f))) diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Sum.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Sum.scala index e13e4497c..9de7070ab 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Sum.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/Sum.scala @@ -29,5 +29,5 @@ case class Sum(anInner: Expression) extends AggregationWithInnerExpression(anInn def rewrite(f: (Expression) => Expression) = f(Sum(anInner.rewrite(f))) - def calculateType(symbols: SymbolTable2): CypherType = anInner.evaluateType(NumberType(), symbols) + def calculateType(symbols: SymbolTable): CypherType = anInner.evaluateType(NumberType(), symbols) } \ No newline at end of file diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/TailFunction.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/TailFunction.scala index 981070e50..002b575aa 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/TailFunction.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/commands/expressions/TailFunction.scala @@ -20,7 +20,7 @@ package org.neo4j.cypher.internal.commands.expressions import collection.Map import org.neo4j.cypher.internal.commands.IterableSupport -import org.neo4j.cypher.internal.symbols.{SymbolTable2, AnyIterableType} +import org.neo4j.cypher.internal.symbols.{SymbolTable, AnyIterableType} case class TailFunction(collection: Expression) extends NullInNullOutExpression(collection) with IterableSupport { def compute(value: Any, m: Map[String, Any]) = makeTraversable(value).tail @@ -32,7 +32,7 @@ case class TailFunction(collection: Expression) extends NullInNullOutExpression( else collection.filter(f) - def calculateType(symbols: SymbolTable2) = collection.evaluateType(AnyIterableType(), symbols) + def calculateType(symbols: SymbolTable) = collection.evaluateType(AnyIterableType(), symbols) def symbolTableDependencies = collection.symbolTableDependencies } \ No newline at end of file diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/executionplan/ExecutionPlanImpl.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/executionplan/ExecutionPlanImpl.scala index 4eebba499..ec4383fd0 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/executionplan/ExecutionPlanImpl.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/executionplan/ExecutionPlanImpl.scala @@ -25,7 +25,7 @@ import collection.Seq import org.neo4j.cypher.internal.pipes._ import org.neo4j.cypher._ import internal.commands._ -import internal.symbols.SymbolTable2 +import internal.symbols.SymbolTable class ExecutionPlanImpl(inputQuery: Query, graph: GraphDatabaseService) extends ExecutionPlan { val (executionPlan, executionPlanText) = prepareExecutionPlan() @@ -74,7 +74,7 @@ class ExecutionPlanImpl(inputQuery: Query, graph: GraphDatabaseService) extends (func, executionPlan) } - private def getQueryResultColumns(q: Query, currentSymbols:SymbolTable2) = { + private def getQueryResultColumns(q: Query, currentSymbols:SymbolTable) = { var query = q while (query.tail.isDefined) { query = query.tail.get diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/executionplan/builders/AggregationBuilder.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/executionplan/builders/AggregationBuilder.scala index e6309a5f3..10d95847e 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/executionplan/builders/AggregationBuilder.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/executionplan/builders/AggregationBuilder.scala @@ -21,8 +21,8 @@ package org.neo4j.cypher.internal.executionplan.builders import org.neo4j.cypher.internal.pipes.{Pipe, ExtractPipe, EagerAggregationPipe} import org.neo4j.cypher.internal.executionplan.{PartiallySolvedQuery, ExecutionPlanInProgress, PlanBuilder} -import org.neo4j.cypher.internal.commands.expressions.{Entity, CachedExpression, AggregationExpression, Expression} -import org.neo4j.cypher.internal.symbols.SymbolTable2 +import org.neo4j.cypher.internal.commands.expressions.{Identifier, CachedExpression, AggregationExpression, Expression} +import org.neo4j.cypher.internal.symbols.SymbolTable /* @@ -70,7 +70,7 @@ class AggregationBuilder extends PlanBuilder { planToAggregate.copy(query = rewrittenQuery, pipe = resultPipe) } - def rewriteQuery(namedAggregates: Map[String, AggregationExpression], symbols: SymbolTable2, query: PartiallySolvedQuery): PartiallySolvedQuery = { + def rewriteQuery(namedAggregates: Map[String, AggregationExpression], symbols: SymbolTable, query: PartiallySolvedQuery): PartiallySolvedQuery = { namedAggregates.foldLeft(query) { case (p, (key, aggregate)) => p.rewrite(e => if (e == aggregate) diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/executionplan/builders/ColumnFilterBuilder.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/executionplan/builders/ColumnFilterBuilder.scala index 4ca304a10..a75546a28 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/executionplan/builders/ColumnFilterBuilder.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/executionplan/builders/ColumnFilterBuilder.scala @@ -21,7 +21,7 @@ package org.neo4j.cypher.internal.executionplan.builders import org.neo4j.cypher.internal.pipes.ColumnFilterPipe import org.neo4j.cypher.internal.executionplan.{ExecutionPlanInProgress, PlanBuilder} -import org.neo4j.cypher.internal.symbols.SymbolTable2 +import org.neo4j.cypher.internal.symbols.SymbolTable import org.neo4j.cypher.internal.commands.{AllIdentifiers, ReturnItem, ReturnColumn} class ColumnFilterBuilder extends PlanBuilder { @@ -69,7 +69,7 @@ class ColumnFilterBuilder extends PlanBuilder { def priority = PlanBuilder.ColumnFilter - private def getReturnItems(q: Seq[QueryToken[ReturnColumn]], symbols: SymbolTable2): Seq[ReturnItem] = q.map(_.token).flatMap { + private def getReturnItems(q: Seq[QueryToken[ReturnColumn]], symbols: SymbolTable): Seq[ReturnItem] = q.map(_.token).flatMap { case x: ReturnItem => Seq(x) case x: AllIdentifiers => x.expressions(symbols).map { case (n, e) => ReturnItem(e, n) diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/executionplan/builders/CreateNodesAndRelationshipsBuilder.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/executionplan/builders/CreateNodesAndRelationshipsBuilder.scala index 17d90f873..44672263d 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/executionplan/builders/CreateNodesAndRelationshipsBuilder.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/executionplan/builders/CreateNodesAndRelationshipsBuilder.scala @@ -23,10 +23,10 @@ import org.neo4j.cypher.internal.executionplan.{ExecutionPlanInProgress, PlanBui import org.neo4j.graphdb.GraphDatabaseService import org.neo4j.cypher.internal.pipes.{Pipe, ExecuteUpdateCommandsPipe, TransactionStartPipe} import org.neo4j.cypher.internal.mutation.UpdateAction -import org.neo4j.cypher.internal.symbols.{SymbolTable2, NodeType} +import org.neo4j.cypher.internal.symbols.{SymbolTable, NodeType} import org.neo4j.cypher.internal.commands._ import collection.Map -import expressions.{Entity, Expression} +import expressions.{Identifier, Expression} class CreateNodesAndRelationshipsBuilder(db: GraphDatabaseService) extends PlanBuilder { @@ -48,7 +48,7 @@ class CreateNodesAndRelationshipsBuilder(db: GraphDatabaseService) extends PlanB plan.copy(query = q.copy(start = resultQuery), pipe = resultPipe, containsTransaction = true) } - private def expandCommands(commands: Seq[UpdateAction], symbols: SymbolTable2): Seq[UpdateAction] = { + private def expandCommands(commands: Seq[UpdateAction], symbols: SymbolTable): Seq[UpdateAction] = { val missingCreateNodeActions = commands.flatMap { case createNode: CreateNodeStartItem => Seq() case createRel: CreateRelationshipStartItem => @@ -60,8 +60,8 @@ class CreateNodesAndRelationshipsBuilder(db: GraphDatabaseService) extends PlanB missingCreateNodeActions.distinct ++ commands } - private def alsoCreateNode(e: (Expression, Map[String, Expression]), symbols: SymbolTable2, commands: Seq[UpdateAction]): Seq[UpdateAction] = e._1 match { - case Entity(name) => + private def alsoCreateNode(e: (Expression, Map[String, Expression]), symbols: SymbolTable, commands: Seq[UpdateAction]): Seq[UpdateAction] = e._1 match { + case Identifier(name) => val nodeFromUnderlyingPipe = symbols.checkType(name, NodeType()) val nodeFromOtherCommand = commands.exists { case CreateNodeStartItem(n, _) => n == name diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/executionplan/builders/ExtractBuilder.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/executionplan/builders/ExtractBuilder.scala index 319cd1355..98b35710c 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/executionplan/builders/ExtractBuilder.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/executionplan/builders/ExtractBuilder.scala @@ -21,7 +21,7 @@ package org.neo4j.cypher.internal.executionplan.builders import org.neo4j.cypher.internal.pipes.ExtractPipe import org.neo4j.cypher.internal.executionplan.{ExecutionPlanInProgress, PlanBuilder} -import org.neo4j.cypher.internal.commands.expressions.{Entity, CachedExpression, Expression} +import org.neo4j.cypher.internal.commands.expressions.{Identifier, CachedExpression, Expression} class ExtractBuilder extends PlanBuilder { def apply(plan: ExecutionPlanInProgress) = { @@ -45,7 +45,7 @@ object ExtractBuilder { val expressions = expressionsToExtract.filter { case (k, CachedExpression(_, _)) => false - case (k, Entity(_)) => false + case (k, Identifier(_)) => false case _ => true } diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/executionplan/builders/MatchBuilder.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/executionplan/builders/MatchBuilder.scala index 46dfb410b..5aeb411ed 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/executionplan/builders/MatchBuilder.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/executionplan/builders/MatchBuilder.scala @@ -22,7 +22,7 @@ package org.neo4j.cypher.internal.executionplan.builders import org.neo4j.cypher.internal.pipes.{MatchPipe, Pipe} import org.neo4j.cypher.internal.commands._ import org.neo4j.cypher.internal.executionplan.PlanBuilder -import org.neo4j.cypher.internal.symbols.{SymbolTable2, NodeType} +import org.neo4j.cypher.internal.symbols.{SymbolTable, NodeType} import org.neo4j.cypher.internal.pipes.matching.{PatternRelationship, PatternNode, PatternGraph} import org.neo4j.cypher.SyntaxException import org.neo4j.cypher.internal.executionplan.ExecutionPlanInProgress @@ -86,7 +86,7 @@ class MatchBuilder extends PlanBuilder with PatternGraphBuilder { } trait PatternGraphBuilder { - def buildPatternGraph(boundIdentifiers: SymbolTable2, patterns: Seq[Pattern]): PatternGraph = { + def buildPatternGraph(boundIdentifiers: SymbolTable, patterns: Seq[Pattern]): PatternGraph = { val patternNodeMap: scala.collection.mutable.Map[String, PatternNode] = scala.collection.mutable.Map() val patternRelMap: scala.collection.mutable.Map[String, PatternRelationship] = scala.collection.mutable.Map() diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/executionplan/builders/SortBuilder.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/executionplan/builders/SortBuilder.scala index 7bfa11ebe..44fe34a1e 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/executionplan/builders/SortBuilder.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/executionplan/builders/SortBuilder.scala @@ -21,14 +21,14 @@ package org.neo4j.cypher.internal.executionplan.builders import org.neo4j.cypher.internal.pipes.SortPipe import org.neo4j.cypher.internal.executionplan.{ExecutionPlanInProgress, PlanBuilder} -import org.neo4j.cypher.internal.commands.expressions.{Entity, CachedExpression, Expression} +import org.neo4j.cypher.internal.commands.expressions.{Identifier, CachedExpression, Expression} import org.neo4j.cypher.CypherTypeException class SortBuilder extends PlanBuilder { def apply(plan: ExecutionPlanInProgress) = { val sortExpressionsToExtract: Seq[(String, Expression)] = plan.query.sort.flatMap(x => x.token.expression match { case _: CachedExpression => None - case _: Entity => None + case _: Identifier => None case e => Some(" INTERNAL_SORT" + e.## -> e) }) diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/mutation/DeleteEntityAction.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/mutation/DeleteEntityAction.scala index 4196d1905..370705e49 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/mutation/DeleteEntityAction.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/mutation/DeleteEntityAction.scala @@ -65,7 +65,7 @@ case class DeleteEntityAction(elementToDelete: Expression) def filter(f: (Expression) => Boolean) = elementToDelete.filter(f) - def assertTypes(symbols: SymbolTable2) { + def assertTypes(symbols: SymbolTable) { val elementType = elementToDelete.getType(symbols) checkTypes(elementType) diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/mutation/DeletePropertyAction.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/mutation/DeletePropertyAction.scala index 6ea71c162..758c56445 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/mutation/DeletePropertyAction.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/mutation/DeletePropertyAction.scala @@ -21,7 +21,7 @@ package org.neo4j.cypher.internal.mutation import org.neo4j.cypher.internal.pipes.{QueryState, ExecutionContext} import org.neo4j.graphdb.PropertyContainer -import org.neo4j.cypher.internal.symbols.{SymbolTable2, ScalarType, MapType} +import org.neo4j.cypher.internal.symbols.{SymbolTable, ScalarType, MapType} import org.neo4j.cypher.internal.commands.expressions.Expression case class DeletePropertyAction(element: Expression, property: String) @@ -43,7 +43,7 @@ case class DeletePropertyAction(element: Expression, property: String) def rewrite(f: (Expression) => Expression): UpdateAction = DeletePropertyAction(element.rewrite(f), property: String) - def assertTypes(symbols: SymbolTable2) { + def assertTypes(symbols: SymbolTable) { element.evaluateType(MapType(), symbols) } diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/mutation/ForeachAction.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/mutation/ForeachAction.scala index f0d2162ae..22f27031a 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/mutation/ForeachAction.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/mutation/ForeachAction.scala @@ -21,7 +21,7 @@ package org.neo4j.cypher.internal.mutation import org.neo4j.cypher.internal.commands.expressions.Expression import org.neo4j.cypher.internal.commands.IterableSupport -import org.neo4j.cypher.internal.symbols.{SymbolTable2, AnyIterableType} +import org.neo4j.cypher.internal.symbols.{SymbolTable, AnyIterableType} import org.neo4j.cypher.internal.pipes.{QueryState, ExecutionContext} case class ForeachAction(collection: Expression, id: String, actions: Seq[UpdateAction]) @@ -55,10 +55,10 @@ case class ForeachAction(collection: Expression, id: String, actions: Seq[Update def identifier2 = Seq.empty - def assertTypes(symbols: SymbolTable2) { + def assertTypes(symbols: SymbolTable) { val t = collection.evaluateType(AnyIterableType(), symbols).iteratedType - val innerSymbols: SymbolTable2 = symbols.add(id, t) + val innerSymbols: SymbolTable = symbols.add(id, t) actions.foreach(_.assertTypes(innerSymbols)) } diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/mutation/PropertySetAction.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/mutation/PropertySetAction.scala index aa607d4da..9eb9242e9 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/mutation/PropertySetAction.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/mutation/PropertySetAction.scala @@ -19,7 +19,7 @@ */ package org.neo4j.cypher.internal.mutation -import org.neo4j.cypher.internal.symbols.{SymbolTable2, AnyType} +import org.neo4j.cypher.internal.symbols.{SymbolTable, AnyType} import org.neo4j.cypher.internal.pipes.{QueryState, ExecutionContext} import org.neo4j.graphdb.PropertyContainer import org.neo4j.cypher.internal.commands.expressions.{Expression, Property} @@ -48,7 +48,7 @@ case class PropertySetAction(prop: Property, e: Expression) def rewrite(f: (Expression) => Expression): UpdateAction = PropertySetAction(prop, e.rewrite(f)) - def assertTypes(symbols: SymbolTable2) { + def assertTypes(symbols: SymbolTable) { e.checkTypes(symbols) } diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/mutation/RelateAction.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/mutation/RelateAction.scala index 4f4727ad3..db2b50903 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/mutation/RelateAction.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/mutation/RelateAction.scala @@ -19,7 +19,7 @@ */ package org.neo4j.cypher.internal.mutation -import org.neo4j.cypher.internal.symbols.{CypherType, SymbolTable2} +import org.neo4j.cypher.internal.symbols.{CypherType, SymbolTable} import org.neo4j.cypher.internal.pipes.{QueryState, ExecutionContext} import org.neo4j.helpers.ThisShouldNotHappenError import org.neo4j.cypher.internal.commands.expressions.Expression @@ -139,7 +139,7 @@ case class RelateAction(links: RelateLink*) extends UpdateAction { def rewrite(f: (Expression) => Expression): UpdateAction = RelateAction(links.map(_.rewrite(f)): _*) - def assertTypes(symbols: SymbolTable2) {links.foreach(l=>l.assertTypes(symbols))} + def assertTypes(symbols: SymbolTable) {links.foreach(l=>l.assertTypes(symbols))} def symbolTableDependencies = links.flatMap(_.symbolTableDependencies).toSet } diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/mutation/RelateLink.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/mutation/RelateLink.scala index 1e7b732fa..555942542 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/mutation/RelateLink.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/mutation/RelateLink.scala @@ -25,7 +25,7 @@ import org.neo4j.cypher.internal.symbols._ import collection.Map import org.neo4j.graphdb._ import org.neo4j.cypher.internal.commands._ -import expressions.{Entity, Literal, Expression} +import expressions.{Identifier, Literal, Expression} import org.neo4j.cypher.{RelatePathNotUnique, CypherTypeException} import org.neo4j.cypher.internal.commands.CreateNodeStartItem import org.neo4j.cypher.internal.commands.CreateRelationshipStartItem @@ -54,7 +54,7 @@ case class NamedExpectation(name: String, properties: Map[String, Expression]) def symbolTableDependencies = symbolTableDependencies(properties) - def assertTypes(symbols: SymbolTable2) { + def assertTypes(symbols: SymbolTable) { checkTypes(properties, symbols) } } @@ -133,9 +133,9 @@ case class RelateLink(start: NamedExpectation, end: NamedExpectation, rel: Named private def createUpdateActions(dir: Direction, startNode: Node, end: NamedExpectation): Seq[UpdateWrapper] = { val createRel = if (dir == Direction.OUTGOING) { - CreateRelationshipStartItem(rel.name, (Literal(startNode),Map()), (Entity(end.name),Map()), relType, rel.properties) + CreateRelationshipStartItem(rel.name, (Literal(startNode),Map()), (Identifier(end.name),Map()), relType, rel.properties) } else { - CreateRelationshipStartItem(rel.name, (Entity(end.name),Map()), (Literal(startNode),Map()), relType, rel.properties) + CreateRelationshipStartItem(rel.name, (Identifier(end.name),Map()), (Literal(startNode),Map()), relType, rel.properties) } val relUpdate = UpdateWrapper(Seq(end.name), createRel) @@ -166,7 +166,7 @@ case class RelateLink(start: NamedExpectation, end: NamedExpectation, rel: Named def filter(f: (Expression) => Boolean) = Seq.empty - def assertTypes(symbols: SymbolTable2) { + def assertTypes(symbols: SymbolTable) { checkTypes(start.properties, symbols) checkTypes(end.properties, symbols) checkTypes(rel.properties, symbols) diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/mutation/UpdateAction.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/mutation/UpdateAction.scala index e72c03792..36dcda1e8 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/mutation/UpdateAction.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/mutation/UpdateAction.scala @@ -32,7 +32,7 @@ import expressions.Expression trait UpdateAction extends TypeSafe { def exec(context: ExecutionContext, state: QueryState): Traversable[ExecutionContext] - def assertTypes(symbols:SymbolTable2) + def assertTypes(symbols:SymbolTable) def identifier2:Seq[(String,CypherType)] def rewrite(f: Expression => Expression):UpdateAction def filter(f: Expression => Boolean): Seq[Expression] @@ -46,7 +46,7 @@ trait GraphElementPropertyFunctions extends IterableSupport { } } - def checkTypes(props: Map[String, Expression], symbols:SymbolTable2) { + def checkTypes(props: Map[String, Expression], symbols:SymbolTable) { props.values.foreach(_.checkTypes(symbols)) } diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_7/Expressions.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_7/Expressions.scala index fba5a6d0a..61f2ec287 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_7/Expressions.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_7/Expressions.scala @@ -83,7 +83,7 @@ trait Expressions extends Base { Literal(value) } ) - def entity: Parser[Entity] = identity ^^ (x => Entity(x)) + def entity: Parser[Identifier] = identity ^^ (x => Identifier(x)) def collectionLiteral:Parser[Expression] = "[" ~> repsep(expression, ",") <~ "]" ^^ (seq => Collection(seq:_*)) @@ -186,7 +186,7 @@ trait Expressions extends Base { |identity ~> ignoreCase("in") ~ expression ~> failure("expected where")) def in : Parser[Predicate] = expression ~ ignoreCase("in") ~ expression ^^ { - case checkee ~ in ~ collection => AnyInIterable(collection, "-_-INNER-_-", Equals(checkee, Entity("-_-INNER-_-"))) + case checkee ~ in ~ collection => AnyInIterable(collection, "-_-INNER-_-", Equals(checkee, Identifier("-_-INNER-_-"))) } def allInSeq: Parser[Predicate] = ignoreCase("all") ~> parens(symbolIterablePredicate) ^^ (x => AllInIterable(x._1, x._2, x._3)) diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_8/AbstractPattern.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_8/AbstractPattern.scala index 729fb4572..4d9e01946 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_8/AbstractPattern.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_8/AbstractPattern.scala @@ -22,7 +22,7 @@ package org.neo4j.cypher.internal.parser.v1_8 import org.neo4j.graphdb.Direction import collection.Map import org.neo4j.cypher.SyntaxException -import org.neo4j.cypher.internal.commands.expressions.{Entity, Expression} +import org.neo4j.cypher.internal.commands.expressions.{Identifier, Expression} import org.neo4j.cypher.internal.commands.Predicate abstract sealed class AbstractPattern { @@ -77,8 +77,8 @@ trait Turnable { case Direction.INCOMING => turn(start = end, end = start, dir = Direction.OUTGOING) case Direction.OUTGOING => this.asInstanceOf[AbstractPattern] case Direction.BOTH => (start.expression, end.expression) match { - case (Entity(a), Entity(b)) if a < b => this.asInstanceOf[AbstractPattern] - case (Entity(a), Entity(b)) if a >= b => turn(start = end, end = start, dir = dir) + case (Identifier(a), Identifier(b)) if a < b => this.asInstanceOf[AbstractPattern] + case (Identifier(a), Identifier(b)) if a >= b => turn(start = end, end = start, dir = dir) case _ => this.asInstanceOf[AbstractPattern] } } diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_8/Expressions.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_8/Expressions.scala index 9c47cb363..12edc8917 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_8/Expressions.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_8/Expressions.scala @@ -117,7 +117,7 @@ trait Expressions extends Base with ParserPattern with Predicates { Literal(value) }) - def entity: Parser[Entity] = identity ^^ (x => Entity(x)) + def entity: Parser[Identifier] = identity ^^ (x => Identifier(x)) def collectionLiteral: Parser[Expression] = "[" ~> repsep(expression, ",") <~ "]" ^^ (seq => Collection(seq: _*)) diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_8/MatchClause.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_8/MatchClause.scala index 71c825b79..9406a6ded 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_8/MatchClause.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_8/MatchClause.scala @@ -20,7 +20,7 @@ package org.neo4j.cypher.internal.parser.v1_8 import org.neo4j.cypher.internal.commands._ -import expressions.{Entity, Expression} +import expressions.{Identifier, Expression} trait MatchClause extends Base with ParserPattern { def matching: Parser[(Seq[Pattern], Seq[NamedPath])] = ignoreCase("match") ~> usePattern(matchTranslator) ^^ { @@ -32,9 +32,9 @@ trait MatchClause extends Base with ParserPattern { } private def successIfEntities[T](l: Expression, r: Expression)(f: (String, String) => T): Maybe[T] = (l, r) match { - case (Entity(lName), Entity(rName)) => Yes(Seq(f(lName, rName))) - case (x, Entity(_)) => No(Seq("MATCH end points have to be node identifiers - found: " + x)) - case (Entity(_), x) => No(Seq("MATCH end points have to be node identifiers - found: " + x)) + case (Identifier(lName), Identifier(rName)) => Yes(Seq(f(lName, rName))) + case (x, Identifier(_)) => No(Seq("MATCH end points have to be node identifiers - found: " + x)) + case (Identifier(_), x) => No(Seq("MATCH end points have to be node identifiers - found: " + x)) case (x, y) => No(Seq("MATCH end points have to be node identifiers - found: " + x + " and " + y)) } diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_8/ParserPattern.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_8/ParserPattern.scala index 4efef310d..77bcb9cf1 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_8/ParserPattern.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_8/ParserPattern.scala @@ -22,7 +22,7 @@ package org.neo4j.cypher.internal.parser.v1_8 import org.neo4j.graphdb.Direction import org.neo4j.cypher.internal.commands.True import org.neo4j.helpers.ThisShouldNotHappenError -import org.neo4j.cypher.internal.commands.expressions.{Expression, Entity} +import org.neo4j.cypher.internal.commands.expressions.{Expression, Identifier} trait ParserPattern extends Base { @@ -88,11 +88,11 @@ trait ParserPattern extends Base { private def singleNodeEqualsMap = identity ~ "=" ~ properties ^^ { - case name ~ "=" ~ map => ParsedEntity(Entity(name), map, True()) + case name ~ "=" ~ map => ParsedEntity(Identifier(name), map, True()) } private def nodeInParenthesis = parens(opt(identity) ~ props) ^^ { - case id ~ props => ParsedEntity(Entity(namer.name(id)), props, True()) + case id ~ props => ParsedEntity(Identifier(namer.name(id)), props, True()) } private def nodeFromExpression = Parser { @@ -104,7 +104,7 @@ trait ParserPattern extends Base { } private def nodeIdentifier = identity ^^ { - case name => ParsedEntity(Entity(name), Map[String, Expression](), True()) + case name => ParsedEntity(Identifier(name), Map[String, Expression](), True()) } private def path: Parser[List[AbstractPattern]] = relationship | shortestPath diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_8/Predicates.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_8/Predicates.scala index 5179176ed..42b860f8d 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_8/Predicates.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_8/Predicates.scala @@ -20,7 +20,7 @@ package org.neo4j.cypher.internal.parser.v1_8 import org.neo4j.cypher.internal.commands._ -import expressions.{Property, Entity, Nullable, Expression} +import expressions.{Property, Identifier, Nullable, Expression} trait Predicates extends Base with ParserPattern { @@ -52,7 +52,7 @@ trait Predicates extends Base with ParserPattern { |identity ~> ignoreCase("in") ~ expression ~> failure("expected where")) def in: Parser[Predicate] = expression ~ ignoreCase("in") ~ expression ^^ { - case checkee ~ in ~ collection => nullable(AnyInIterable(collection, "-_-INNER-_-", Equals(checkee, Entity("-_-INNER-_-"))), collection) + case checkee ~ in ~ collection => nullable(AnyInIterable(collection, "-_-INNER-_-", Equals(checkee, Identifier("-_-INNER-_-"))), collection) } def allInSeq: Parser[Predicate] = ignoreCase("all") ~> parens(symbolIterablePredicate) ^^ (x => nullable(AllInIterable(x._1, x._2, x._3), x._1)) @@ -87,6 +87,6 @@ trait Predicates extends Base with ParserPattern { def expression: Parser[Expression] def aggregateFunctionNames:Parser[String] def property: Parser[Expression] - def entity: Parser[Entity] + def entity: Parser[Identifier] def pathExpression: Parser[Expression] } \ No newline at end of file diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_8/ReturnClause.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_8/ReturnClause.scala index 9954e09f4..cc3a515a1 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_8/ReturnClause.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_8/ReturnClause.scala @@ -20,7 +20,7 @@ package org.neo4j.cypher.internal.parser.v1_8 import org.neo4j.cypher.internal.commands._ -import expressions.{Entity, AggregationExpression} +import expressions.{Identifier, AggregationExpression} import org.neo4j.cypher.SyntaxException @@ -71,7 +71,7 @@ trait ReturnClause extends Base with Expressions { val problemColumns = columns._1.returnItems.flatMap { case ReturnItem(_, _, true) => None - case ReturnItem(Entity(_), _, _) => None + case ReturnItem(Identifier(_), _, _) => None case ri => Some(ri.name) } if (problemColumns.nonEmpty) { diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_8/StartClause.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_8/StartClause.scala index b0c5fdf8d..82bbc19c5 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_8/StartClause.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_8/StartClause.scala @@ -20,7 +20,7 @@ package org.neo4j.cypher.internal.parser.v1_8 import org.neo4j.cypher.internal.commands._ -import expressions.{Literal, Expression, ParameterExpression, Entity} +import expressions.{Literal, Expression, ParameterExpression, Identifier} import org.neo4j.graphdb.Direction @@ -61,7 +61,7 @@ trait StartClause extends Base with Expressions { (b, a) Yes(Seq(CreateRelationshipStartItem(name, (from, startProps), (to, endProps), relType.head, props))) - case ParsedEntity(Entity(name), props, True()) => + case ParsedEntity(Identifier(name), props, True()) => Yes(Seq(CreateNodeStartItem(name, props))) case ParsedEntity(p, _, True()) if p.isInstanceOf[ParameterExpression] => diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_8/Updates.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_8/Updates.scala index 9f4f68655..02b92db99 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_8/Updates.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/parser/v1_8/Updates.scala @@ -21,7 +21,7 @@ package org.neo4j.cypher.internal.parser.v1_8 import org.neo4j.cypher.internal.mutation._ import org.neo4j.cypher.internal.commands._ -import expressions.{Property, Entity} +import expressions.{Property, Identifier} import org.neo4j.cypher.SyntaxException trait Updates extends Base with Expressions with StartClause { @@ -42,7 +42,7 @@ trait Updates extends Base with Expressions with StartClause { def delete: Parser[(Seq[UpdateAction], Seq[NamedPath])] = ignoreCase("delete") ~> commaList(expression) ^^ { case expressions => val updateActions: List[UpdateAction with Product] = expressions.map { - case Property(entity, property) => DeletePropertyAction(Entity(entity), property) + case Property(entity, property) => DeletePropertyAction(Identifier(entity), property) case x => DeleteEntityAction(x) } (updateActions, Seq()) @@ -57,15 +57,14 @@ trait Updates extends Base with Expressions with StartClause { startItems match { case No(msg) => No(msg) - case Yes(stuff) => namedPathPatterns.seqMap(p => { + case Yes(links) => namedPathPatterns.seqMap(p => { val namedPath = NamedPath(name, p.map(_.asInstanceOf[Pattern]): _*) - val links = stuff.map(_.asInstanceOf[PathAndRelateLink]) Seq(PathAndRelateLink(Some(namedPath), links.flatMap(_.links))) }) } - case ParsedRelation(name, props, ParsedEntity(Entity(startName), startProps, True()), ParsedEntity(Entity(endName), endProps, True()), typ, dir, map, True()) if typ.size == 1 => + case ParsedRelation(name, props, ParsedEntity(Identifier(startName), startProps, True()), ParsedEntity(Identifier(endName), endProps, True()), typ, dir, map, True()) if typ.size == 1 => val link = RelateLink( start = NamedExpectation(startName, startProps), end = NamedExpectation(endName, endProps), diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/ColumnFilterPipe.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/ColumnFilterPipe.scala index ecc9a3168..7d7540da6 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/ColumnFilterPipe.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/ColumnFilterPipe.scala @@ -20,7 +20,7 @@ package org.neo4j.cypher.internal.pipes import org.neo4j.cypher.internal.symbols._ -import org.neo4j.cypher.internal.commands.expressions.Entity +import org.neo4j.cypher.internal.commands.expressions.Identifier import org.neo4j.cypher.internal.commands.expressions.CachedExpression import org.neo4j.cypher.internal.commands.expressions.ParameterValue import org.neo4j.cypher.internal.commands.ReturnItem @@ -28,7 +28,7 @@ import org.neo4j.cypher.internal.commands.ReturnItem class ColumnFilterPipe(source: Pipe, val returnItems: Seq[ReturnItem], lastPipe: Boolean) extends PipeWithSource(source) { val returnItemNames = returnItems.map(_.name) - val symbols = new SymbolTable2(identifiers2.toMap) + val symbols = new SymbolTable(identifiers2.toMap) private lazy val identifiers2: Seq[(String, CypherType)] = returnItems. map( ri => ri.name->ri.expression.getType(source.symbols)) @@ -38,7 +38,7 @@ class ColumnFilterPipe(source: Pipe, val returnItems: Seq[ReturnItem], lastPipe: val newMap = MutableMaps.create(ctx.size) returnItems.foreach { - case ReturnItem(Entity(oldName), newName, _) => newMap.put(newName, ctx(oldName)) + case ReturnItem(Identifier(oldName), newName, _) => newMap.put(newName, ctx(oldName)) case ReturnItem(CachedExpression(oldName, _), newName, _) => newMap.put(newName, ctx(oldName)) case ReturnItem(_, name, _) => newMap.put(name, ctx(name)) } @@ -59,7 +59,7 @@ class ColumnFilterPipe(source: Pipe, val returnItems: Seq[ReturnItem], lastPipe: def dependencies = Seq() - def assertTypes(symbols: SymbolTable2) { + def assertTypes(symbols: SymbolTable) { returnItems.foreach(_.expression.assertTypes(symbols)) } } \ No newline at end of file diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/CommitPipe.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/CommitPipe.scala index efbdc4d6c..7842db94a 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/CommitPipe.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/CommitPipe.scala @@ -22,7 +22,7 @@ package org.neo4j.cypher.internal.pipes import org.neo4j.graphdb.{Transaction, TransactionFailureException, GraphDatabaseService} import org.neo4j.kernel.impl.nioneo.store.InvalidRecordException import org.neo4j.cypher.{NodeStillHasRelationshipsException, InternalException} -import org.neo4j.cypher.internal.symbols.SymbolTable2 +import org.neo4j.cypher.internal.symbols.SymbolTable class CommitPipe(source: Pipe, graph: GraphDatabaseService) extends PipeWithSource(source) { lazy val still_has_relationships = "Node record Node\\[(\\d),.*] still has relationships".r @@ -74,5 +74,5 @@ class CommitPipe(source: Pipe, graph: GraphDatabaseService) extends PipeWithSour def deps = Map() - def assertTypes(symbols: SymbolTable2) {} + def assertTypes(symbols: SymbolTable) {} } diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/EagerAggregationPipe.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/EagerAggregationPipe.scala index 48ae9798a..eb19c8d9b 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/EagerAggregationPipe.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/EagerAggregationPipe.scala @@ -31,7 +31,7 @@ class EagerAggregationPipe(source: Pipe, val keyExpressions: Map[String, Express extends PipeWithSource(source) { def oldKeyExpressions = keyExpressions.values.toSeq - val symbols: SymbolTable2 = createSymbols2() + val symbols: SymbolTable = createSymbols2() private def createSymbols2() = { val typeExtractor: ((String, Expression)) => (String, CypherType) = { @@ -41,7 +41,7 @@ class EagerAggregationPipe(source: Pipe, val keyExpressions: Map[String, Express val keyIdentifiers = keyExpressions.map(typeExtractor) val aggrIdentifiers = aggregations.map(typeExtractor) - new SymbolTable2(keyIdentifiers ++ aggrIdentifiers) + new SymbolTable(keyIdentifiers ++ aggrIdentifiers) } def createResults(state: QueryState): Traversable[ExecutionContext] = { @@ -90,7 +90,7 @@ class EagerAggregationPipe(source: Pipe, val keyExpressions: Map[String, Express override def executionPlan(): String = source.executionPlan() + "\r\n" + "EagerAggregation( keys: [" + oldKeyExpressions.mkString(", ") + "], aggregates: [" + aggregations.mkString(", ") + "])" - def assertTypes(symbols: SymbolTable2) { + def assertTypes(symbols: SymbolTable) { keyExpressions.foreach(_._2.assertTypes(symbols)) aggregations.foreach(_._2.assertTypes(symbols)) } diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/EmptyResultPipe.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/EmptyResultPipe.scala index 6b0afabb3..be1eb3532 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/EmptyResultPipe.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/EmptyResultPipe.scala @@ -19,7 +19,7 @@ */ package org.neo4j.cypher.internal.pipes -import org.neo4j.cypher.internal.symbols.SymbolTable2 +import org.neo4j.cypher.internal.symbols.SymbolTable class EmptyResultPipe(source: Pipe) extends PipeWithSource(source) { @@ -38,7 +38,7 @@ class EmptyResultPipe(source: Pipe) def deps = Map() - def symbols = new SymbolTable2() + def symbols = new SymbolTable() - def assertTypes(symbols: SymbolTable2) {} + def assertTypes(symbols: SymbolTable) {} } \ No newline at end of file diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/ExecuteUpdateCommandsPipe.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/ExecuteUpdateCommandsPipe.scala index eb27bdaa1..1045736b7 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/ExecuteUpdateCommandsPipe.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/ExecuteUpdateCommandsPipe.scala @@ -23,7 +23,7 @@ import collection.mutable.{HashSet => MutableHashSet} import org.neo4j.cypher.internal.mutation.{DeleteEntityAction, UpdateAction} import org.neo4j.graphdb.{Relationship, Node, GraphDatabaseService, NotInTransactionException} import org.neo4j.cypher.{ParameterWrongTypeException, InternalException} -import org.neo4j.cypher.internal.symbols.SymbolTable2 +import org.neo4j.cypher.internal.symbols.SymbolTable class ExecuteUpdateCommandsPipe(source: Pipe, db: GraphDatabaseService, commands: Seq[UpdateAction]) extends PipeWithSource(source) { def createResults(state: QueryState) = { @@ -78,7 +78,7 @@ class ExecuteUpdateCommandsPipe(source: Pipe, db: GraphDatabaseService, commands def symbols = source.symbols.add(commands.flatMap(_.identifier2).toMap) - def assertTypes(symbols: SymbolTable2) { + def assertTypes(symbols: SymbolTable) { commands.foreach(_.assertTypes(symbols)) } } diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/ExtractPipe.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/ExtractPipe.scala index a1821831e..5666c29bc 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/ExtractPipe.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/ExtractPipe.scala @@ -23,7 +23,7 @@ import org.neo4j.cypher.internal.symbols._ import org.neo4j.cypher.internal.commands.expressions.Expression class ExtractPipe(source: Pipe, val expressions: Map[String, Expression]) extends PipeWithSource(source) { - val symbols: SymbolTable2 = { + val symbols: SymbolTable = { val newIdentifiers = expressions.map { case (name, expression) => name -> expression.getType(source.symbols) } @@ -41,7 +41,7 @@ class ExtractPipe(source: Pipe, val expressions: Map[String, Expression]) extend override def executionPlan(): String = source.executionPlan() + "\r\nExtract([" + source.symbols.keys.mkString(",") + "] => [" + expressions.keys.mkString(", ") + "])" - def assertTypes(symbols: SymbolTable2) { + def assertTypes(symbols: SymbolTable) { expressions.foreach(_._2.assertTypes(symbols)) } } diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/FilterPipe.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/FilterPipe.scala index 7405eb523..cc6db6acb 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/FilterPipe.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/FilterPipe.scala @@ -21,7 +21,7 @@ package org.neo4j.cypher.internal.pipes import java.lang.String import org.neo4j.cypher.internal.commands.Predicate -import org.neo4j.cypher.internal.symbols.{SymbolTable2, AnyType} +import org.neo4j.cypher.internal.symbols.{SymbolTable, AnyType} class FilterPipe(source: Pipe, predicate: Predicate) extends PipeWithSource(source) { val symbols = source.symbols @@ -30,7 +30,7 @@ class FilterPipe(source: Pipe, predicate: Predicate) extends PipeWithSource(sour override def executionPlan(): String = source.executionPlan() + "\r\n" + "Filter(" + predicate.toString + ")" - def assertTypes(symbols: SymbolTable2) { + def assertTypes(symbols: SymbolTable) { predicate.assertTypes(symbols) } } \ No newline at end of file diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/ParameterPipe.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/ParameterPipe.scala index 3ecd66d31..39d195a4f 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/ParameterPipe.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/ParameterPipe.scala @@ -20,7 +20,7 @@ package org.neo4j.cypher.internal.pipes import java.lang.String -import org.neo4j.cypher.internal.symbols.SymbolTable2 +import org.neo4j.cypher.internal.symbols.SymbolTable import org.neo4j.cypher.internal.commands.expressions.ParameterValue import collection.mutable.Map @@ -34,7 +34,7 @@ class ParameterPipe() extends Pipe { val identifiers = Seq() // val symbols = new SymbolTable() - val symbols = new SymbolTable2() + val symbols = new SymbolTable() override def executionPlan(): String = "Parameters()" } \ No newline at end of file diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/Pipe.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/Pipe.scala index 3dc5a1e77..e5672efa4 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/Pipe.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/Pipe.scala @@ -20,7 +20,7 @@ package org.neo4j.cypher.internal.pipes import java.lang.String -import org.neo4j.cypher.internal.symbols.SymbolTable2 +import org.neo4j.cypher.internal.symbols.SymbolTable import collection.Iterator import org.neo4j.cypher.internal.mutation.UpdateAction import org.neo4j.graphdb.{GraphDatabaseService, Transaction} @@ -38,7 +38,7 @@ import org.neo4j.kernel.GraphDatabaseAPI trait Pipe { def createResults(state: QueryState): Traversable[ExecutionContext] - def symbols: SymbolTable2 + def symbols: SymbolTable def executionPlan(): String } @@ -46,7 +46,7 @@ trait Pipe { class NullPipe extends Pipe { def createResults(state: QueryState) = Seq(ExecutionContext.empty) - def symbols: SymbolTable2 = new SymbolTable2() + def symbols: SymbolTable = new SymbolTable() def executionPlan(): String = "" } diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/PipeWithSource.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/PipeWithSource.scala index e8fe3e4cf..09a9230e7 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/PipeWithSource.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/PipeWithSource.scala @@ -19,10 +19,10 @@ */ package org.neo4j.cypher.internal.pipes -import org.neo4j.cypher.internal.symbols.SymbolTable2 +import org.neo4j.cypher.internal.symbols.SymbolTable abstract class PipeWithSource(val source: Pipe) extends Pipe { - def assertTypes(symbols: SymbolTable2) + def assertTypes(symbols: SymbolTable) assertTypes(source.symbols) } \ No newline at end of file diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/ShortestPathPipe.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/ShortestPathPipe.scala index 95adaff60..11c347cae 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/ShortestPathPipe.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/ShortestPathPipe.scala @@ -61,7 +61,7 @@ class ShortestPathPipe(source: Pipe, ast: ShortestPath) extends PipeWithSource(s override def executionPlan(): String = source.executionPlan() + "\r\n" + "ShortestPath(" + ast + ")" - def assertTypes(symbols: SymbolTable2) { + def assertTypes(symbols: SymbolTable) { ast.assertTypes(symbols) } } diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/SortPipe.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/SortPipe.scala index 73c40bc09..a13ad560c 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/SortPipe.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/SortPipe.scala @@ -24,12 +24,12 @@ import org.neo4j.cypher.internal.commands.SortItem import java.lang.String import org.neo4j.cypher.internal.Comparer import collection.mutable.Map -import org.neo4j.cypher.internal.symbols.SymbolTable2 +import org.neo4j.cypher.internal.symbols.SymbolTable class SortPipe(source: Pipe, sortDescription: List[SortItem]) extends PipeWithSource(source) with Comparer { def symbols = source.symbols - def assertTypes(symbols: SymbolTable2) { + def assertTypes(symbols: SymbolTable) { sortDescription.foreach { case SortItem(e,_) => e.assertTypes(source.symbols) } diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/TransactionStartPipe.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/TransactionStartPipe.scala index aee096748..f74f3be4d 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/TransactionStartPipe.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/TransactionStartPipe.scala @@ -20,7 +20,7 @@ package org.neo4j.cypher.internal.pipes import org.neo4j.graphdb.GraphDatabaseService -import org.neo4j.cypher.internal.symbols.SymbolTable2 +import org.neo4j.cypher.internal.symbols.SymbolTable class TransactionStartPipe(source: Pipe, graph: GraphDatabaseService) extends PipeWithSource(source) { def createResults(state:QueryState) = { @@ -40,5 +40,5 @@ class TransactionStartPipe(source: Pipe, graph: GraphDatabaseService) extends Pi def symbols = source.symbols - def assertTypes(symbols: SymbolTable2) {} + def assertTypes(symbols: SymbolTable) {} } diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/matching/MatchingContext.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/matching/MatchingContext.scala index 817be23e6..a17f70006 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/matching/MatchingContext.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/matching/MatchingContext.scala @@ -29,7 +29,7 @@ import collection.Map * The deciding factor is whether or not the pattern has loops in it. If it does, we have to use the much more * expensive pattern matching. If it doesn't, we get away with much simpler methods */ -class MatchingContext(boundIdentifiers: SymbolTable2, +class MatchingContext(boundIdentifiers: SymbolTable, predicates: Seq[Predicate] = Seq(), patternGraph: PatternGraph) { diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/matching/SimplePatternMatcherBuilder.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/matching/SimplePatternMatcherBuilder.scala index 693b7936c..21a97df57 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/matching/SimplePatternMatcherBuilder.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/pipes/matching/SimplePatternMatcherBuilder.scala @@ -24,10 +24,10 @@ import org.neo4j.graphdb.{Relationship, Node, DynamicRelationshipType} import org.neo4j.graphmatching.{PatternMatcher => SimplePatternMatcher, PatternNode => SimplePatternNode} import collection.JavaConverters._ import org.neo4j.cypher.internal.commands.{Predicate, True} -import org.neo4j.cypher.internal.symbols.SymbolTable2 +import org.neo4j.cypher.internal.symbols.SymbolTable import org.neo4j.cypher.internal.pipes.MutableMaps -class SimplePatternMatcherBuilder(pattern: PatternGraph, predicates: Seq[Predicate], symbolTable: SymbolTable2) extends MatcherBuilder { +class SimplePatternMatcherBuilder(pattern: PatternGraph, predicates: Seq[Predicate], symbolTable: SymbolTable) extends MatcherBuilder { val patternNodes = pattern.patternNodes.map { case (key, pn) => { key -> { diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/symbols/CypherType.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/symbols/CypherType.scala index 04b0a1306..259339937 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/symbols/CypherType.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/symbols/CypherType.scala @@ -62,22 +62,22 @@ trait TypeSafe { /* Checks if internal type dependencies are met. Throws an exception if it fails */ - def assertTypes(symbols: SymbolTable2) + def assertTypes(symbols: SymbolTable) // Same as assert types, but doesn't throw if it fails - def checkTypes(symbols: SymbolTable2): Boolean = try { + def checkTypes(symbols: SymbolTable): Boolean = try { assertTypes(symbols) true } catch { case _: CypherException => false } - def symbolDependenciesMet(symbols: SymbolTable2): Boolean = + def symbolDependenciesMet(symbols: SymbolTable): Boolean = symbolTableDependencies.forall(name => check(symbols, name)) def symbolTableDependencies: Set[String] - private def check(symbols: SymbolTable2, name: String): Boolean = symbols.identifiers.contains(name) + private def check(symbols: SymbolTable, name: String): Boolean = symbols.identifiers.contains(name) } /* @@ -88,10 +88,10 @@ trait Typed { Checks if internal type dependencies are met, checks if the expected type is valid, and returns the actual type of the expression. Will throw an exception if the check fails */ - def evaluateType(expectedType: CypherType, symbols: SymbolTable2): CypherType + def evaluateType(expectedType: CypherType, symbols: SymbolTable): CypherType /* Checks if internal type dependencies are met and returns the actual type of the expression */ - def getType(symbols: SymbolTable2): CypherType = evaluateType(AnyType(), symbols) + def getType(symbols: SymbolTable): CypherType = evaluateType(AnyType(), symbols) } diff --git a/cypher/src/main/scala/org/neo4j/cypher/internal/symbols/SymbolTable.scala b/cypher/src/main/scala/org/neo4j/cypher/internal/symbols/SymbolTable.scala index fc32e4ad4..f63ffb5d4 100644 --- a/cypher/src/main/scala/org/neo4j/cypher/internal/symbols/SymbolTable.scala +++ b/cypher/src/main/scala/org/neo4j/cypher/internal/symbols/SymbolTable.scala @@ -22,13 +22,13 @@ package org.neo4j.cypher.internal.symbols import org.neo4j.cypher.{CypherException, CypherTypeException, SyntaxException} import collection.Map -class SymbolTable2(val identifiers: Map[String, CypherType]) { +class SymbolTable(val identifiers: Map[String, CypherType]) { def hasIdentifierNamed(name: String): Boolean = identifiers.contains(name) def size: Int = identifiers.size def this() = this(Map()) - def add(key: String, typ: CypherType): SymbolTable2 = new SymbolTable2(identifiers + (key -> typ)) - def add(value: Map[String, CypherType]): SymbolTable2 = new SymbolTable2(identifiers ++ value) - def filter(f: String => Boolean): SymbolTable2 = new SymbolTable2(identifiers.filterKeys(f)) + def add(key: String, typ: CypherType): SymbolTable = new SymbolTable(identifiers + (key -> typ)) + def add(value: Map[String, CypherType]): SymbolTable = new SymbolTable(identifiers ++ value) + def filter(f: String => Boolean): SymbolTable = new SymbolTable(identifiers.filterKeys(f)) def keys: Seq[String] = identifiers.map(_._1).toSeq def missingSymbolTableDependencies(x: TypeSafe) = x.symbolTableDependencies.filterNot( dep => identifiers.exists(_._1 == dep)) diff --git a/cypher/src/test/scala/org/neo4j/cypher/CypherParserTest.scala b/cypher/src/test/scala/org/neo4j/cypher/CypherParserTest.scala index 6a9157174..833d48959 100644 --- a/cypher/src/test/scala/org/neo4j/cypher/CypherParserTest.scala +++ b/cypher/src/test/scala/org/neo4j/cypher/CypherParserTest.scala @@ -35,7 +35,7 @@ class CypherParserTest extends JUnitSuite with Assertions { testAll("start s = NODE(1) return s", Query. start(NodeById("s", 1)). - returns(ReturnItem(Entity("s"), "s"))) + returns(ReturnItem(Identifier("s"), "s"))) } @Test def should_return_string_literal() { @@ -56,21 +56,21 @@ class CypherParserTest extends JUnitSuite with Assertions { testFrom_1_7("start s = NODE(*) return s", Query. start(AllNodes("s")). - returns(ReturnItem(Entity("s"), "s"))) + returns(ReturnItem(Identifier("s"), "s"))) } @Test def allTheRels() { testFrom_1_7("start r = relationship(*) return r", Query. start(AllRelationships("r")). - returns(ReturnItem(Entity("r"), "r"))) + returns(ReturnItem(Identifier("r"), "r"))) } @Test def shouldHandleAliasingOfColumnNames() { testAll("start s = NODE(1) return s as somethingElse", Query. start(NodeById("s", 1)). - returns(ReturnItem(Entity("s"), "somethingElse", true))) + returns(ReturnItem(Identifier("s"), "somethingElse", true))) } @Test def sourceIsAnIndex() { @@ -78,7 +78,7 @@ class CypherParserTest extends JUnitSuite with Assertions { """start a = node:index(key = "value") return a""", Query. start(NodeByIndex("a", "index", Literal("key"), Literal("value"))). - returns(ReturnItem(Entity("a"), "a"))) + returns(ReturnItem(Identifier("a"), "a"))) } @Test def sourceIsAnNonParsedIndexQuery() { @@ -86,7 +86,7 @@ class CypherParserTest extends JUnitSuite with Assertions { """start a = node:index("key:value") return a""", Query. start(NodeByIndexQuery("a", "index", Literal("key:value"))). - returns(ReturnItem(Entity("a"), "a"))) + returns(ReturnItem(Identifier("a"), "a"))) } @Ignore @@ -95,7 +95,7 @@ class CypherParserTest extends JUnitSuite with Assertions { """start a = node:index(key="value" AND otherKey="otherValue") return a""", Query. start(NodeByIndexQuery("a", "index", Literal("key:\"value\" AND otherKey:\"otherValue\""))). - returns(ReturnItem(Entity("a"), "a"))) + returns(ReturnItem(Identifier("a"), "a"))) } @Ignore @@ -104,7 +104,7 @@ class CypherParserTest extends JUnitSuite with Assertions { """start a = node:index(key="value" or otherKey="otherValue") return a""", Query. start(NodeByIndexQuery("a", "index", Literal("key:\"value\" OR otherKey:\"otherValue\""))). - returns(ReturnItem(Entity("a"), "a"))) + returns(ReturnItem(Identifier("a"), "a"))) } @Test def shouldParseEasiestPossibleRelationshipQuery() { @@ -112,7 +112,7 @@ class CypherParserTest extends JUnitSuite with Assertions { "start s = relationship(1) return s", Query. start(RelationshipById("s", 1)). - returns(ReturnItem(Entity("s"), "s"))) + returns(ReturnItem(Identifier("s"), "s"))) } @Test def shouldParseEasiestPossibleRelationshipQueryShort() { @@ -120,7 +120,7 @@ class CypherParserTest extends JUnitSuite with Assertions { "start s = rel(1) return s", Query. start(RelationshipById("s", 1)). - returns(ReturnItem(Entity("s"), "s"))) + returns(ReturnItem(Identifier("s"), "s"))) } @Test def sourceIsARelationshipIndex() { @@ -128,7 +128,7 @@ class CypherParserTest extends JUnitSuite with Assertions { """start a = rel:index(key = "value") return a""", Query. start(RelationshipByIndex("a", "index", Literal("key"), Literal("value"))). - returns(ReturnItem(Entity("a"), "a"))) + returns(ReturnItem(Identifier("a"), "a"))) } @Test def escapedNamesShouldNotContainEscapeChars() { @@ -136,7 +136,7 @@ class CypherParserTest extends JUnitSuite with Assertions { """start `a a` = rel:`index a`(`key s` = "value") return `a a`""", Query. start(RelationshipByIndex("a a", "index a", Literal("key s"), Literal("value"))). - returns(ReturnItem(Entity("a a"), "a a"))) + returns(ReturnItem(Identifier("a a"), "a a"))) } @Test def keywordsShouldBeCaseInsensitive() { @@ -144,7 +144,7 @@ class CypherParserTest extends JUnitSuite with Assertions { "START s = NODE(1) RETURN s", Query. start(NodeById("s", 1)). - returns(ReturnItem(Entity("s"), "s"))) + returns(ReturnItem(Identifier("s"), "s"))) } @Test def shouldParseMultipleNodes() { @@ -152,7 +152,7 @@ class CypherParserTest extends JUnitSuite with Assertions { "start s = NODE(1,2,3) return s", Query. start(NodeById("s", 1, 2, 3)). - returns(ReturnItem(Entity("s"), "s"))) + returns(ReturnItem(Identifier("s"), "s"))) } @Test def shouldParseMultipleInputs() { @@ -160,7 +160,7 @@ class CypherParserTest extends JUnitSuite with Assertions { "start a = node(1), b = NODE(2) return a,b", Query. start(NodeById("a", 1), NodeById("b", 2)). - returns(ReturnItem(Entity("a"), "a"), ReturnItem(Entity("b"), "b"))) + returns(ReturnItem(Identifier("a"), "a"), ReturnItem(Identifier("b"), "b"))) } @Test def shouldFilterOnProp() { @@ -169,7 +169,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 1)). where(Equals(Property("a", "name"), Literal("andres"))). - returns(ReturnItem(Entity("a"), "a"))) + returns(ReturnItem(Identifier("a"), "a"))) } @Test def shouldReturnLiterals() { @@ -212,7 +212,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 1)). where(Equals(Property("a", "extractReturnItems"), Literal(3.1415))). - returns(ReturnItem(Entity("a"), "a"))) + returns(ReturnItem(Identifier("a"), "a"))) } @Test def shouldHandleNot() { @@ -221,7 +221,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 1)). where(Not(Equals(Property("a", "name"), Literal("andres")))). - returns(ReturnItem(Entity("a"), "a"))) + returns(ReturnItem(Identifier("a"), "a"))) } @Test def shouldHandleNotEqualTo() { @@ -230,7 +230,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 1)). where(Not(Equals(Property("a", "name"), Literal("andres")))). - returns(ReturnItem(Entity("a"), "a"))) + returns(ReturnItem(Identifier("a"), "a"))) } @Test def shouldHandleLessThan() { @@ -239,7 +239,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 1)). where(LessThan(Property("a", "name"), Literal("andres"))). - returns(ReturnItem(Entity("a"), "a"))) + returns(ReturnItem(Identifier("a"), "a"))) } @Test def shouldHandleGreaterThan() { @@ -248,7 +248,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 1)). where(GreaterThan(Property("a", "name"), Literal("andres"))). - returns(ReturnItem(Entity("a"), "a"))) + returns(ReturnItem(Identifier("a"), "a"))) } @Test def shouldHandleLessThanOrEqual() { @@ -257,7 +257,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 1)). where(LessThanOrEqual(Property("a", "name"), Literal("andres"))). - returns(ReturnItem(Entity("a"), "a"))) + returns(ReturnItem(Identifier("a"), "a"))) } @Test def shouldHandleRegularComparison() { @@ -266,7 +266,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 1)). where(LiteralRegularExpression(Literal("Andres"), Literal("And.*"))). - returns(ReturnItem(Entity("a"), "a")) + returns(ReturnItem(Identifier("a"), "a")) ) } @@ -276,7 +276,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 1)). where(And(LiteralRegularExpression(Property("a", "name"), Literal("And.*")), LiteralRegularExpression(Property("a", "name"), Literal("And.*")))). - returns(ReturnItem(Entity("a"), "a")) + returns(ReturnItem(Identifier("a"), "a")) ) } @@ -286,7 +286,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 1)). where(LiteralRegularExpression(Property("a", "name"), Literal("And\\/.*"))). - returns(ReturnItem(Entity("a"), "a")) + returns(ReturnItem(Identifier("a"), "a")) ) } @@ -296,7 +296,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 1)). where(GreaterThanOrEqual(Property("a", "name"), Literal("andres"))). - returns(ReturnItem(Entity("a"), "a"))) + returns(ReturnItem(Identifier("a"), "a"))) } @@ -306,7 +306,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 1)). where(Equals(Literal(true), Literal(false))). - returns(ReturnItem(Entity("a"), "a"))) + returns(ReturnItem(Identifier("a"), "a"))) } @Test def shouldFilterOnNumericProp() { @@ -315,7 +315,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 1)). where(Equals(Literal(35), Property("a", "age"))). - returns(ReturnItem(Entity("a"), "a"))) + returns(ReturnItem(Identifier("a"), "a"))) } @@ -328,7 +328,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Equals(Literal(-35), Property("a", "age")), GreaterThan(Property("a", "age"), Literal(-1.2))) ). - returns(ReturnItem(Entity("a"), "a"))) + returns(ReturnItem(Identifier("a"), "a"))) } @Test def shouldCreateNotEqualsQuery() { @@ -337,7 +337,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 1)). where(Not(Equals(Literal(35), Property("a", "age")))). - returns(ReturnItem(Entity("a"), "a"))) + returns(ReturnItem(Identifier("a"), "a"))) } @Test def multipleFilters() { @@ -348,7 +348,7 @@ class CypherParserTest extends JUnitSuite with Assertions { where(Or( Equals(Property("a", "name"), Literal("andres")), Equals(Property("a", "name"), Literal("mattias")))). - returns(ReturnItem(Entity("a"), "a"))) + returns(ReturnItem(Identifier("a"), "a"))) } @Test def relatedTo() { @@ -357,7 +357,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 1)). matches(RelatedTo("a", "b", " UNNAMED1", Seq("KNOWS"), Direction.OUTGOING, false, True())). - returns(ReturnItem(Entity("a"), "a"), ReturnItem(Entity("b"), "b"))) + returns(ReturnItem(Identifier("a"), "a"), ReturnItem(Identifier("b"), "b"))) } @Test def relatedToWithoutRelType() { @@ -366,7 +366,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 1)). matches(RelatedTo("a", "b", " UNNAMED1", Seq(), Direction.OUTGOING, false, True())). - returns(ReturnItem(Entity("a"), "a"), ReturnItem(Entity("b"), "b"))) + returns(ReturnItem(Identifier("a"), "a"), ReturnItem(Identifier("b"), "b"))) } @Test def relatedToWithoutRelTypeButWithRelVariable() { @@ -375,7 +375,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 1)). matches(RelatedTo("a", "b", "r", Seq(), Direction.OUTGOING, false, True())). - returns(ReturnItem(Entity("r"), "r"))) + returns(ReturnItem(Identifier("r"), "r"))) } @Test def relatedToTheOtherWay() { @@ -384,7 +384,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 1)). matches(RelatedTo("a", "b", " UNNAMED1", Seq("KNOWS"), Direction.INCOMING, false, True())). - returns(ReturnItem(Entity("a"), "a"), ReturnItem(Entity("b"), "b"))) + returns(ReturnItem(Identifier("a"), "a"), ReturnItem(Identifier("b"), "b"))) } @Test def relatedToTheOtherWay1_8() { @@ -393,7 +393,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 1)). matches(RelatedTo("b", "a", " UNNAMED3", Seq("KNOWS"), Direction.OUTGOING, false, True())). - returns(ReturnItem(Entity("a"), "a"), ReturnItem(Entity("b"), "b"))) + returns(ReturnItem(Identifier("a"), "a"), ReturnItem(Identifier("b"), "b"))) } @Test def shouldOutputVariables() { @@ -421,7 +421,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 1)). matches(RelatedTo("a", "b", "rel", Seq("KNOWS"), Direction.OUTGOING, false, True())). - returns(ReturnItem(Entity("rel"), "rel"))) + returns(ReturnItem(Identifier("rel"), "rel"))) } @Test def relatedToWithoutEndName() { @@ -430,7 +430,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 1)). matches(RelatedTo("a", " UNNAMED1", " UNNAMED2", Seq("MARRIED"), Direction.OUTGOING, false, True())). - returns(ReturnItem(Entity("a"), "a"))) + returns(ReturnItem(Identifier("a"), "a"))) } @Test def relatedInTwoSteps() { @@ -441,7 +441,7 @@ class CypherParserTest extends JUnitSuite with Assertions { matches( RelatedTo("a", "b", " UNNAMED1", Seq("KNOWS"), Direction.OUTGOING, false, True()), RelatedTo("b", "c", " UNNAMED2", Seq("FRIEND"), Direction.OUTGOING, false, True())). - returns(ReturnItem(Entity("c"), "c")) + returns(ReturnItem(Identifier("c"), "c")) ) } @@ -451,7 +451,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 1)). matches(RelatedTo("a", "b", " UNNAMED1", Seq("<>"), Direction.OUTGOING, false, True())). - returns(ReturnItem(Entity("c"), "c"))) + returns(ReturnItem(Identifier("c"), "c"))) } @Test def countTheNumberOfHits() { @@ -462,7 +462,7 @@ class CypherParserTest extends JUnitSuite with Assertions { matches(RelatedTo("a", "b", " UNNAMED1", Seq(), Direction.OUTGOING, false, True())). aggregation(CountStar()). columns("a", "b", "count(*)"). - returns(ReturnItem(Entity("a"), "a"), ReturnItem(Entity("b"), "b"), ReturnItem(CountStar(), "count(*)"))) + returns(ReturnItem(Identifier("a"), "a"), ReturnItem(Identifier("b"), "b"), ReturnItem(CountStar(), "count(*)"))) } @Test def countStar() { @@ -483,7 +483,7 @@ class CypherParserTest extends JUnitSuite with Assertions { start(NodeById("a", 1)). matches(RelatedTo("a", "b", " UNNAMED1", Seq(), Direction.OUTGOING, false, True())). aggregation(). - returns(ReturnItem(Entity("a"), "a"), ReturnItem(Entity("b"), "b"))) + returns(ReturnItem(Identifier("a"), "a"), ReturnItem(Identifier("b"), "b"))) } @Test def sumTheAgesOfPeople() { @@ -494,7 +494,7 @@ class CypherParserTest extends JUnitSuite with Assertions { matches(RelatedTo("a", "b", " UNNAMED1", Seq(), Direction.OUTGOING, false, True())). aggregation(Sum(Property("a", "age"))). columns("a", "b", "sum(a.age)"). - returns(ReturnItem(Entity("a"), "a"), ReturnItem(Entity("b"), "b"), ReturnItem(Sum(Property("a", "age")), "sum(a.age)"))) + returns(ReturnItem(Identifier("a"), "a"), ReturnItem(Identifier("b"), "b"), ReturnItem(Sum(Property("a", "age")), "sum(a.age)"))) } @Test def avgTheAgesOfPeople() { @@ -505,7 +505,7 @@ class CypherParserTest extends JUnitSuite with Assertions { matches(RelatedTo("a", "b", " UNNAMED1", Seq(), Direction.OUTGOING, false, True())). aggregation(Avg(Property("a", "age"))). columns("a", "b", "avg(a.age)"). - returns(ReturnItem(Entity("a"), "a"), ReturnItem(Entity("b"), "b"), ReturnItem(Avg(Property("a", "age")), "avg(a.age)"))) + returns(ReturnItem(Identifier("a"), "a"), ReturnItem(Identifier("b"), "b"), ReturnItem(Avg(Property("a", "age")), "avg(a.age)"))) } @Test def minTheAgesOfPeople() { @@ -516,7 +516,7 @@ class CypherParserTest extends JUnitSuite with Assertions { matches(RelatedTo("a", "b", " UNNAMED1", Seq(), Direction.OUTGOING, false, True())). aggregation(Min(Property("a", "age"))). columns("a", "b", "min(a.age)"). - returns(ReturnItem(Entity("a"), "a"), ReturnItem(Entity("b"), "b"), ReturnItem(Min(Property("a", "age")), "min(a.age)"))) + returns(ReturnItem(Identifier("a"), "a"), ReturnItem(Identifier("b"), "b"), ReturnItem(Min(Property("a", "age")), "min(a.age)"))) } @Test def maxTheAgesOfPeople() { @@ -528,8 +528,8 @@ class CypherParserTest extends JUnitSuite with Assertions { aggregation(Max((Property("a", "age")))). columns("a", "b", "max(a.age)"). returns( - ReturnItem(Entity("a"), "a"), - ReturnItem(Entity("b"), "b"), + ReturnItem(Identifier("a"), "a"), + ReturnItem(Identifier("b"), "b"), ReturnItem(Max((Property("a", "age"))), "max(a.age)") )) } @@ -540,7 +540,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 1)). orderBy(SortItem(Property("a", "name"), true)). - returns(ReturnItem(Entity("a"), "a"))) + returns(ReturnItem(Identifier("a"), "a"))) } @Test def sortOnAggregatedColumn() { @@ -549,7 +549,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 1)). orderBy(SortItem(Avg(Property("a", "name")), true)). - returns(ReturnItem(Entity("a"), "a"))) + returns(ReturnItem(Identifier("a"), "a"))) } @Test def shouldHandleTwoSortColumns() { @@ -560,7 +560,7 @@ class CypherParserTest extends JUnitSuite with Assertions { orderBy( SortItem(Property("a", "name"), true), SortItem(Property("a", "age"), true)). - returns(ReturnItem(Entity("a"), "a"))) + returns(ReturnItem(Identifier("a"), "a"))) } @Test def shouldHandleTwoSortColumnsAscending() { @@ -571,7 +571,7 @@ class CypherParserTest extends JUnitSuite with Assertions { orderBy( SortItem(Property("a", "name"), true), SortItem(Property("a", "age"), true)). - returns(ReturnItem(Entity("a"), "a"))) + returns(ReturnItem(Identifier("a"), "a"))) } @@ -581,7 +581,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 1)). orderBy(SortItem(Property("a", "name"), false)). - returns(ReturnItem(Entity("a"), "a"))) + returns(ReturnItem(Identifier("a"), "a"))) } @@ -591,7 +591,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 1)). orderBy(SortItem(Property("a", "name"), false)). - returns(ReturnItem(Entity("a"), "a"))) + returns(ReturnItem(Identifier("a"), "a"))) } @Test def nullableProperty() { @@ -615,7 +615,7 @@ class CypherParserTest extends JUnitSuite with Assertions { And( Equals(Property("n", "animal"), Literal("cow")), Equals(Property("n", "food"), Literal("grass"))))). - returns(ReturnItem(Entity("n"), "n"))) + returns(ReturnItem(Identifier("n"), "n"))) } @Test def limit5() { @@ -624,7 +624,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("n", 1)). limit(5). - returns(ReturnItem(Entity("n"), "n"))) + returns(ReturnItem(Identifier("n"), "n"))) } @Test def skip5() { @@ -633,7 +633,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("n", 1)). skip(5). - returns(ReturnItem(Entity("n"), "n"))) + returns(ReturnItem(Identifier("n"), "n"))) } @Test def skip5limit5() { @@ -643,7 +643,7 @@ class CypherParserTest extends JUnitSuite with Assertions { start(NodeById("n", 1)). limit(5). skip(5). - returns(ReturnItem(Entity("n"), "n"))) + returns(ReturnItem(Identifier("n"), "n"))) } @Test def relationshipType() { @@ -652,8 +652,8 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("n", 1)). matches(RelatedTo("n", "x", "r", Seq(), Direction.OUTGOING, false, True())). - where(Equals(RelationshipTypeFunction(Entity("r")), Literal("something"))). - returns(ReturnItem(Entity("r"), "r"))) + where(Equals(RelationshipTypeFunction(Identifier("r")), Literal("something"))). + returns(ReturnItem(Identifier("r"), "r"))) } @Test def pathLength() { @@ -662,8 +662,8 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("n", 1)). namedPaths(NamedPath("p", RelatedTo("n", "x", " UNNAMED1", Seq(), Direction.OUTGOING, false, True()))). - where(Equals(LengthFunction(Entity("p")), Literal(10.0))). - returns(ReturnItem(Entity("p"), "p"))) + where(Equals(LengthFunction(Identifier("p")), Literal(10.0))). + returns(ReturnItem(Identifier("p"), "p"))) } @Test def relationshipTypeOut() { @@ -673,7 +673,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("n", 1)). matches(RelatedTo("n", "x", "r", Seq(), Direction.OUTGOING, false, True())). - returns(ReturnItem(RelationshipTypeFunction(Entity("r")), "TYPE(r)"))) + returns(ReturnItem(RelationshipTypeFunction(Identifier("r")), "TYPE(r)"))) } @@ -693,7 +693,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("n", 1)). namedPaths(NamedPath("p", RelatedTo("n", "x", " UNNAMED1", Seq(), Direction.OUTGOING, false, True()))). - returns(ReturnItem(RelationshipFunction(Entity("p")), "RELATIONSHIPS(p)"))) + returns(ReturnItem(RelationshipFunction(Identifier("p")), "RELATIONSHIPS(p)"))) } @Test def relationshipsFromPathInWhere() { @@ -703,8 +703,8 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("n", 1)). namedPaths(NamedPath("p", RelatedTo("n", "x", " UNNAMED1", Seq(), Direction.OUTGOING, false, True()))). - where(Equals(LengthFunction(RelationshipFunction(Entity("p"))), Literal(1))) - returns (ReturnItem(Entity("p"), "p"))) + where(Equals(LengthFunction(RelationshipFunction(Identifier("p"))), Literal(1))) + returns (ReturnItem(Identifier("p"), "p"))) } @Test def countNonNullValues() { @@ -712,9 +712,9 @@ class CypherParserTest extends JUnitSuite with Assertions { "start a = NODE(1) return a, count(a)", Query. start(NodeById("a", 1)). - aggregation(Count(Entity("a"))). + aggregation(Count(Identifier("a"))). columns("a", "count(a)"). - returns(ReturnItem(Entity("a"), "a"), ReturnItem(Count(Entity("a")), "count(a)"))) + returns(ReturnItem(Identifier("a"), "a"), ReturnItem(Count(Identifier("a")), "count(a)"))) } @Test def shouldHandleIdBothInReturnAndWhere() { @@ -722,8 +722,8 @@ class CypherParserTest extends JUnitSuite with Assertions { "start a = NODE(1) where id(a) = 0 return ID(a)", Query. start(NodeById("a", 1)). - where(Equals(IdFunction(Entity("a")), Literal(0))) - returns (ReturnItem(IdFunction(Entity("a")), "ID(a)"))) + where(Equals(IdFunction(Identifier("a")), Literal(0))) + returns (ReturnItem(IdFunction(Identifier("a")), "ID(a)"))) } @Test def shouldBeAbleToHandleStringLiteralsWithApostrophe() { @@ -731,7 +731,7 @@ class CypherParserTest extends JUnitSuite with Assertions { "start a = node:index(key = 'value') return a", Query. start(NodeByIndex("a", "index", Literal("key"), Literal("value"))). - returns(ReturnItem(Entity("a"), "a"))) + returns(ReturnItem(Identifier("a"), "a"))) } @Test def shouldHandleQuotationsInsideApostrophes() { @@ -739,7 +739,7 @@ class CypherParserTest extends JUnitSuite with Assertions { "start a = node:index(key = 'val\"ue') return a", Query. start(NodeByIndex("a", "index", Literal("key"), Literal("val\"ue"))). - returns(ReturnItem(Entity("a"), "a"))) + returns(ReturnItem(Identifier("a"), "a"))) } @Test def simplePathExample() { @@ -748,7 +748,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 0)). namedPaths(NamedPath("p", RelatedTo("a", "b", " UNNAMED1", Seq(), Direction.OUTGOING, false, True()))). - returns(ReturnItem(Entity("a"), "a"))) + returns(ReturnItem(Identifier("a"), "a"))) } @Test def threeStepsPath() { @@ -760,7 +760,7 @@ class CypherParserTest extends JUnitSuite with Assertions { RelatedTo("a", "b", " UNNAMED1", Seq(), Direction.OUTGOING, false, True()), RelatedTo("b", "c", " UNNAMED2", Seq(), Direction.OUTGOING, false, True()) )). - returns(ReturnItem(Entity("a"), "a"))) + returns(ReturnItem(Identifier("a"), "a"))) } @Test def pathsShouldBePossibleWithoutParenthesis() { @@ -769,7 +769,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 0)). namedPaths(NamedPath("p", RelatedTo("a", "b", " UNNAMED1", Seq(), Direction.OUTGOING, false, True()))) - returns (ReturnItem(Entity("a"), "a"))) + returns (ReturnItem(Identifier("a"), "a"))) } @Test def variableLengthPath() { @@ -777,7 +777,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 0)). matches(VarLengthRelatedTo(" UNNAMED1", "a", "x", Some(1), Some(3), "knows", Direction.OUTGOING)). - returns(ReturnItem(Entity("x"), "x")) + returns(ReturnItem(Identifier("x"), "x")) ) } @@ -786,7 +786,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 0)). matches(VarLengthRelatedTo(" UNNAMED1", "a", "x", Some(1), Some(3), Seq("knows"), Direction.OUTGOING, Some("r"), false, True())). - returns(ReturnItem(Entity("x"), "x")) + returns(ReturnItem(Identifier("x"), "x")) ) } @@ -795,7 +795,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 0)). matches(VarLengthRelatedTo(" UNNAMED1", "a", "x", Some(3), Some(3), Seq(), Direction.OUTGOING, None, false, True())). - returns(ReturnItem(Entity("x"), "x")) + returns(ReturnItem(Identifier("x"), "x")) ) } @@ -804,7 +804,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 0)). matches(VarLengthRelatedTo(" UNNAMED1", "a", "x", None, Some(3), "knows", Direction.OUTGOING)). - returns(ReturnItem(Entity("x"), "x")) + returns(ReturnItem(Identifier("x"), "x")) ) } @@ -813,7 +813,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 0)). matches(VarLengthRelatedTo(" UNNAMED1", "a", "x", Some(2), None, Seq("knows"), Direction.OUTGOING, Some("r"), false, True())). - returns(ReturnItem(Entity("x"), "x")) + returns(ReturnItem(Identifier("x"), "x")) ) } @@ -822,7 +822,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 0)). matches(VarLengthRelatedTo(" UNNAMED1", "a", "x", Some(2), None, "knows", Direction.OUTGOING)). - returns(ReturnItem(Entity("x"), "x")) + returns(ReturnItem(Identifier("x"), "x")) ) } @@ -831,7 +831,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 0)). matches(VarLengthRelatedTo(" UNNAMED1", "a", "x", None, None, "knows", Direction.OUTGOING)). - returns(ReturnItem(Entity("x"), "x")) + returns(ReturnItem(Identifier("x"), "x")) ) } @@ -841,7 +841,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 1)). matches(RelatedTo("a", "b", " UNNAMED1", Seq(), Direction.OUTGOING, true, True())). - returns(ReturnItem(Entity("b"), "b"))) + returns(ReturnItem(Identifier("b"), "b"))) } @Test def questionMarkOperator() { @@ -850,7 +850,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 1)). where(NullablePredicate(Equals(Nullable(Property("a", "prop")), Literal(42.0)), Seq((Nullable(Property("a", "prop")), true)))). - returns(ReturnItem(Entity("a"), "a"))) + returns(ReturnItem(Identifier("a"), "a"))) } @Test def exclamationMarkOperator() { @@ -859,7 +859,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 1)). where(NullablePredicate(Equals(Nullable(Property("a", "prop")), Literal(42)), Seq((Nullable(Property("a", "prop")), false)))). - returns(ReturnItem(Entity("a"), "a"))) + returns(ReturnItem(Identifier("a"), "a"))) } @Test def optionalTypedRelationship() { @@ -868,7 +868,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 1)). matches(RelatedTo("a", "b", " UNNAMED1", Seq("KNOWS"), Direction.OUTGOING, true, True())). - returns(ReturnItem(Entity("b"), "b"))) + returns(ReturnItem(Identifier("b"), "b"))) } @Test def optionalTypedAndNamedRelationship() { @@ -877,7 +877,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 1)). matches(RelatedTo("a", "b", "r", Seq("KNOWS"), Direction.OUTGOING, true, True())). - returns(ReturnItem(Entity("b"), "b"))) + returns(ReturnItem(Identifier("b"), "b"))) } @Test def optionalNamedRelationship() { @@ -886,7 +886,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 1)). matches(RelatedTo("a", "b", "r", Seq(), Direction.OUTGOING, true, True())). - returns(ReturnItem(Entity("b"), "b"))) + returns(ReturnItem(Identifier("b"), "b"))) } @Test def testSingle() { @@ -894,9 +894,9 @@ class CypherParserTest extends JUnitSuite with Assertions { """start a = node(1) where single(x in NODES(p) WHERE x.name = "Andres") return b""", Query. start(NodeById("a", 1)). - where(SingleInIterable(NodesFunction(Entity("p")), "x", Equals(Property("x", "name"), + where(SingleInIterable(NodesFunction(Identifier("p")), "x", Equals(Property("x", "name"), Literal("Andres")))) - returns (ReturnItem(Entity("b"), "b"))) + returns (ReturnItem(Identifier("b"), "b"))) } @Test def testParamAsStartNode() { @@ -904,7 +904,7 @@ class CypherParserTest extends JUnitSuite with Assertions { """start pA = node({a}) return pA""", Query. start(NodeById("pA", ParameterExpression("a"))). - returns(ReturnItem(Entity("pA"), "pA"))) + returns(ReturnItem(Identifier("pA"), "pA"))) } @Test def testNumericParamNameAsStartNode() { @@ -912,7 +912,7 @@ class CypherParserTest extends JUnitSuite with Assertions { """start pA = node({0}) return pA""", Query. start(NodeById("pA", ParameterExpression("0"))). - returns(ReturnItem(Entity("pA"), "pA"))) + returns(ReturnItem(Identifier("pA"), "pA"))) } @Test def testParamForWhereLiteral() { @@ -921,7 +921,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("pA", 1)). where(Equals(Property("pA", "name"), ParameterExpression("name"))) - returns (ReturnItem(Entity("pA"), "pA"))) + returns (ReturnItem(Identifier("pA"), "pA"))) } @Test def testParamForIndexKey() { @@ -929,7 +929,7 @@ class CypherParserTest extends JUnitSuite with Assertions { """start pA = node:idx({key} = "Value") return pA""", Query. start(NodeByIndex("pA", "idx", ParameterExpression("key"), Literal("Value"))). - returns(ReturnItem(Entity("pA"), "pA"))) + returns(ReturnItem(Identifier("pA"), "pA"))) } @Test def testParamForIndexValue() { @@ -937,7 +937,7 @@ class CypherParserTest extends JUnitSuite with Assertions { """start pA = node:idx(key = {Value}) return pA""", Query. start(NodeByIndex("pA", "idx", Literal("key"), ParameterExpression("Value"))). - returns(ReturnItem(Entity("pA"), "pA"))) + returns(ReturnItem(Identifier("pA"), "pA"))) } @Test def testParamForIndexQuery() { @@ -945,7 +945,7 @@ class CypherParserTest extends JUnitSuite with Assertions { """start pA = node:idx({query}) return pA""", Query. start(NodeByIndexQuery("pA", "idx", ParameterExpression("query"))). - returns(ReturnItem(Entity("pA"), "pA"))) + returns(ReturnItem(Identifier("pA"), "pA"))) } @Test def testParamForSkip() { @@ -954,7 +954,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("pA", 0)). skip("skipper") - returns (ReturnItem(Entity("pA"), "pA"))) + returns (ReturnItem(Identifier("pA"), "pA"))) } @Test def testParamForLimit() { @@ -963,7 +963,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("pA", 0)). limit("stop") - returns (ReturnItem(Entity("pA"), "pA"))) + returns (ReturnItem(Identifier("pA"), "pA"))) } @Test def testParamForLimitAndSkip() { @@ -973,7 +973,7 @@ class CypherParserTest extends JUnitSuite with Assertions { start(NodeById("pA", 0)). skip("skipper") limit ("stop") - returns (ReturnItem(Entity("pA"), "pA"))) + returns (ReturnItem(Identifier("pA"), "pA"))) } @Test def testParamForRegex() { @@ -982,7 +982,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("pA", 0)). where(RegularExpression(Property("pA", "name"), ParameterExpression("regex"))) - returns (ReturnItem(Entity("pA"), "pA"))) + returns (ReturnItem(Identifier("pA"), "pA"))) } @Test def testShortestPathWithMaxDepth() { @@ -991,7 +991,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 0), NodeById("b", 1)). matches(ShortestPath("p", "a", "b", Seq(), Direction.OUTGOING, Some(6), false, true, None)). - returns(ReturnItem(Entity("p"), "p"))) + returns(ReturnItem(Identifier("p"), "p"))) } @Test def testShortestPathWithType() { @@ -1000,7 +1000,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 0), NodeById("b", 1)). matches(ShortestPath("p", "a", "b", Seq("KNOWS"), Direction.OUTGOING, Some(6), false, true, None)). - returns(ReturnItem(Entity("p"), "p"))) + returns(ReturnItem(Identifier("p"), "p"))) } @Test def testForNull() { @@ -1008,8 +1008,8 @@ class CypherParserTest extends JUnitSuite with Assertions { """start a=node(0) where a is null return a""", Query. start(NodeById("a", 0)). - where(IsNull(Entity("a"))) - returns (ReturnItem(Entity("a"), "a"))) + where(IsNull(Identifier("a"))) + returns (ReturnItem(Identifier("a"), "a"))) } @Test def testForNotNull() { @@ -1017,8 +1017,8 @@ class CypherParserTest extends JUnitSuite with Assertions { """start a=node(0) where a is not null return a""", Query. start(NodeById("a", 0)). - where(Not(IsNull(Entity("a")))) - returns (ReturnItem(Entity("a"), "a"))) + where(Not(IsNull(Identifier("a")))) + returns (ReturnItem(Identifier("a"), "a"))) } @Test def testCountDistinct() { @@ -1026,9 +1026,9 @@ class CypherParserTest extends JUnitSuite with Assertions { """start a=node(0) return count(distinct a)""", Query. start(NodeById("a", 0)). - aggregation(Distinct(Count(Entity("a")), Entity("a"))). + aggregation(Distinct(Count(Identifier("a")), Identifier("a"))). columns("count(distinct a)") - returns (ReturnItem(Distinct(Count(Entity("a")), Entity("a")), "count(distinct a)"))) + returns (ReturnItem(Distinct(Count(Identifier("a")), Identifier("a")), "count(distinct a)"))) } @Test def supportsHasRelationshipInTheWhereClauseOlder() { @@ -1036,8 +1036,8 @@ class CypherParserTest extends JUnitSuite with Assertions { """start a=node(0), b=node(1) where a-->b return a""", Query. start(NodeById("a", 0), NodeById("b", 1)). - where(HasRelationshipTo(Entity("a"), Entity("b"), Direction.OUTGOING, Seq())) - returns (ReturnItem(Entity("a"), "a"))) + where(HasRelationshipTo(Identifier("a"), Identifier("b"), Direction.OUTGOING, Seq())) + returns (ReturnItem(Identifier("a"), "a"))) } @Test def supportsHasRelationshipInTheWhereClause() { @@ -1046,7 +1046,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 0), NodeById("b", 1)). where(NonEmpty(PathExpression(Seq(RelatedTo("a", "b", " UNNAMED3", Seq(), Direction.OUTGOING, optional = false, predicate = True()))))). - returns (ReturnItem(Entity("a"), "a"))) + returns (ReturnItem(Identifier("a"), "a"))) } @Test def supportsNotHasRelationshipInTheWhereClauseOlder() { @@ -1054,8 +1054,8 @@ class CypherParserTest extends JUnitSuite with Assertions { """start a=node(0), b=node(1) where not(a-->()) return a""", Query. start(NodeById("a", 0), NodeById("b", 1)). - where(Not(HasRelationship(Entity("a"), Direction.OUTGOING, Seq()))). - returns (ReturnItem(Entity("a"), "a"))) + where(Not(HasRelationship(Identifier("a"), Direction.OUTGOING, Seq()))). + returns (ReturnItem(Identifier("a"), "a"))) } @Test def supportsNotHasRelationshipInTheWhereClause() { @@ -1064,7 +1064,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 0), NodeById("b", 1)). where(Not(NonEmpty(PathExpression(Seq(RelatedTo("a", " UNNAMED1", " UNNAMED6", Seq(), Direction.OUTGOING, optional = false, predicate = True())))))). - returns (ReturnItem(Entity("a"), "a"))) + returns (ReturnItem(Identifier("a"), "a"))) } @Test def shouldHandleLFAsWhiteSpace() { @@ -1073,7 +1073,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 0)). where(Equals(Property("a", "prop"), Literal(12))) - returns (ReturnItem(Entity("a"), "a"))) + returns (ReturnItem(Identifier("a"), "a"))) } @Ignore @Test def shouldAcceptRelationshipWithPredicate() { @@ -1082,7 +1082,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 1)). matches(RelatedTo("a", "b", "r", Seq(), Direction.OUTGOING, false, Equals(Property("r", "foo"), Literal("bar")))) - returns (ReturnItem(Entity("b"), "b"))) + returns (ReturnItem(Identifier("b"), "b"))) } @Test def shouldHandleUpperCaseDistinct() { @@ -1090,7 +1090,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("s", 1)). aggregation(). - returns(ReturnItem(Entity("s"), "s"))) + returns(ReturnItem(Identifier("s"), "s"))) } @Test def shouldParseMathFunctions() { @@ -1112,7 +1112,7 @@ class CypherParserTest extends JUnitSuite with Assertions { testFrom_1_7("start s = NODE(1) return s // COMMENT", Query. start(NodeById("s", 1)). - returns(ReturnItem(Entity("s"), "s"))) + returns(ReturnItem(Identifier("s"), "s"))) } @Test def shouldAllowCommentAlone() { @@ -1120,7 +1120,7 @@ class CypherParserTest extends JUnitSuite with Assertions { // COMMENT""", Query. start(NodeById("s", 1)). - returns(ReturnItem(Entity("s"), "s"))) + returns(ReturnItem(Identifier("s"), "s"))) } @Test def shouldAllowCommentsInsideStrings() { @@ -1128,7 +1128,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("s", 1)). where(Equals(Property("s", "apa"), Literal("//NOT A COMMENT"))) - returns (ReturnItem(Entity("s"), "s"))) + returns (ReturnItem(Identifier("s"), "s"))) } @Test def shouldHandleCommentsFollowedByWhiteSpace() { @@ -1137,7 +1137,7 @@ class CypherParserTest extends JUnitSuite with Assertions { return s""", Query. start(NodeById("s", 1)). - returns(ReturnItem(Entity("s"), "s"))) + returns(ReturnItem(Identifier("s"), "s"))) } @Test def first_last_and_rest() { @@ -1146,9 +1146,9 @@ class CypherParserTest extends JUnitSuite with Assertions { start(NodeById("x", 1)). namedPaths(NamedPath("p", RelatedTo("x", "z", " UNNAMED1", Seq(), Direction.OUTGOING, false, True()))). returns( - ReturnItem(HeadFunction(NodesFunction(Entity("p"))), "head(nodes(p))"), - ReturnItem(LastFunction(NodesFunction(Entity("p"))), "last(nodes(p))"), - ReturnItem(TailFunction(NodesFunction(Entity("p"))), "tail(nodes(p))") + ReturnItem(HeadFunction(NodesFunction(Identifier("p"))), "head(nodes(p))"), + ReturnItem(LastFunction(NodesFunction(Identifier("p"))), "last(nodes(p))"), + ReturnItem(TailFunction(NodesFunction(Identifier("p"))), "tail(nodes(p))") )) } @@ -1158,7 +1158,7 @@ class CypherParserTest extends JUnitSuite with Assertions { start(NodeById("x", 1)). namedPaths(NamedPath("p", RelatedTo("x", "z", " UNNAMED1", Seq(), Direction.OUTGOING, false, True()))). returns( - ReturnItem(FilterFunction(Entity("p"), "x", Equals(Property("x", "prop"), Literal(123))), "filter(x in p : x.prop = 123)") + ReturnItem(FilterFunction(Identifier("p"), "x", Equals(Property("x", "prop"), Literal(123))), "filter(x in p : x.prop = 123)") )) } @@ -1198,8 +1198,8 @@ class CypherParserTest extends JUnitSuite with Assertions { testFrom_1_7("start x = NODE(1) where x.prop in ['a','b'] return x", Query. start(NodeById("x", 1)). - where(AnyInIterable(Collection(Literal("a"), Literal("b")), "-_-INNER-_-", Equals(Property("x", "prop"), Entity("-_-INNER-_-")))). - returns(ReturnItem(Entity("x"), "x")) + where(AnyInIterable(Collection(Literal("a"), Literal("b")), "-_-INNER-_-", Equals(Property("x", "prop"), Identifier("-_-INNER-_-")))). + returns(ReturnItem(Identifier("x"), "x")) ) } @@ -1208,7 +1208,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("x", 1)). matches(RelatedTo("x", "z", " UNNAMED1", Seq("REL1", "REL2", "REL3"), Direction.OUTGOING, false, True())). - returns(ReturnItem(Entity("x"), "x")) + returns(ReturnItem(Identifier("x"), "x")) ) } @@ -1217,7 +1217,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("x", 1)). matches(RelatedTo("x", "z", " UNNAMED1", Seq("REL1", "REL2", "REL3"), Direction.OUTGOING, false, True())). - returns(ReturnItem(Entity("x"), "x")) + returns(ReturnItem(Identifier("x"), "x")) ) } @@ -1226,7 +1226,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("x", 1)). matches(RelatedTo("x", "z", " UNNAMED1", Seq("REL1", "REL2", "REL3"), Direction.OUTGOING, false, True())). - returns(ReturnItem(Entity("x"), "x")) + returns(ReturnItem(Identifier("x"), "x")) ) } @@ -1235,8 +1235,8 @@ class CypherParserTest extends JUnitSuite with Assertions { """start a=node(0), b=node(1) where a-[:KNOWS|BLOCKS]-b return a""", Query. start(NodeById("a", 0), NodeById("b", 1)). - where(HasRelationshipTo(Entity("a"), Entity("b"), Direction.BOTH, Seq("KNOWS", "BLOCKS"))) - returns (ReturnItem(Entity("a"), "a"))) + where(HasRelationshipTo(Identifier("a"), Identifier("b"), Direction.BOTH, Seq("KNOWS", "BLOCKS"))) + returns (ReturnItem(Identifier("a"), "a"))) } @Test def multiple_relationship_type_in_relationship_predicate() { @@ -1245,7 +1245,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 0), NodeById("b", 1)). where(NonEmpty(PathExpression(Seq(RelatedTo("a", "b", " UNNAMED3", Seq("KNOWS","BLOCKS"), Direction.BOTH, optional = false, predicate = True()))))) - returns (ReturnItem(Entity("a"), "a"))) + returns (ReturnItem(Identifier("a"), "a"))) } @@ -1253,12 +1253,12 @@ class CypherParserTest extends JUnitSuite with Assertions { val secondQ = Query. start(). where(Equals(Property("x", "foo"), Literal(42))). - returns(ReturnItem(Entity("x"), "x")) + returns(ReturnItem(Identifier("x"), "x")) val q = Query. start(NodeById("x", 1)). tail(secondQ). - returns(ReturnItem(Entity("x"), "x")) + returns(ReturnItem(Identifier("x"), "x")) testFrom_1_8("START x = node(1) WITH x WHERE x.foo = 42 RETURN x", q) @@ -1267,12 +1267,12 @@ class CypherParserTest extends JUnitSuite with Assertions { @Test def read_first_and_update_next() { val secondQ = Query. start(CreateNodeStartItem("b", Map("age" -> Multiply(Property("a", "age"), Literal(2.0))))). - returns(ReturnItem(Entity("b"), "b")) + returns(ReturnItem(Identifier("b"), "b")) val q = Query. start(NodeById("a", 1)). tail(secondQ). - returns(ReturnItem(Entity("a"), "a")) + returns(ReturnItem(Identifier("a"), "a")) testFrom_1_8("start a = node(1) with a create (b {age : a.age * 2}) return b", q) @@ -1283,7 +1283,7 @@ class CypherParserTest extends JUnitSuite with Assertions { Query. start(NodeById("a", 0)). matches(VarLengthRelatedTo(" UNNAMED1", "a", "x", Some(1), Some(3), Seq(), Direction.OUTGOING, Some("r"), true, True())). - returns(ReturnItem(Entity("x"), "x")) + returns(ReturnItem(Identifier("x"), "x")) ) } @@ -1299,7 +1299,7 @@ class CypherParserTest extends JUnitSuite with Assertions { ), Equals(Property("n", "c"), Literal("x")) ) - ).returns(ReturnItem(Entity("n"), "n")) + ).returns(ReturnItem(Identifier("n"), "n")) ) } @@ -1331,7 +1331,7 @@ class CypherParserTest extends JUnitSuite with Assertions { testFrom_1_8("create (a {name : 'Andres'}) return a", Query. start(CreateNodeStartItem("a", Map("name" -> Literal("Andres")))) - returns (ReturnItem(Entity("a"), "a")) + returns (ReturnItem(Identifier("a"), "a")) ) } @@ -1339,7 +1339,7 @@ class CypherParserTest extends JUnitSuite with Assertions { testFrom_1_8("create (a {name : 'Andres'}), b return a,b", Query. start(CreateNodeStartItem("a", Map("name" -> Literal("Andres"))), CreateNodeStartItem("b", Map())) - returns(ReturnItem(Entity("a"), "a"), ReturnItem(Entity("b"), "b")) + returns(ReturnItem(Identifier("a"), "a"), ReturnItem(Identifier("b"), "b")) ) } @@ -1353,13 +1353,13 @@ class CypherParserTest extends JUnitSuite with Assertions { @Test def start_with_two_nodes_and_create_relationship() { val secondQ = Query. - start(CreateRelationshipStartItem("r", (Entity("a"), Map()), (Entity("b"),Map()), "REL", Map())). + start(CreateRelationshipStartItem("r", (Identifier("a"), Map()), (Identifier("b"),Map()), "REL", Map())). returns() val q = Query. start(NodeById("a", 0), NodeById("b", 1)). tail(secondQ). - returns(ReturnItem(Entity("a"), "a"), ReturnItem(Entity("b"), "b")) + returns(ReturnItem(Identifier("a"), "a"), ReturnItem(Identifier("b"), "b")) testFrom_1_8("start a=node(0), b=node(1) with a,b create a-[r:REL]->b", q) @@ -1367,13 +1367,13 @@ class CypherParserTest extends JUnitSuite with Assertions { @Test def start_with_two_nodes_and_create_relationship_using_alternative_with_syntax() { val secondQ = Query. - start(CreateRelationshipStartItem("r", (Entity("a"),Map()), (Entity("b"),Map()), "REL", Map())). + start(CreateRelationshipStartItem("r", (Identifier("a"),Map()), (Identifier("b"),Map()), "REL", Map())). returns() val q = Query. start(NodeById("a", 0), NodeById("b", 1)). tail(secondQ). - returns(ReturnItem(Entity("a"), "a"), ReturnItem(Entity("b"), "b")) + returns(ReturnItem(Identifier("a"), "a"), ReturnItem(Identifier("b"), "b")) testFrom_1_8(""" @@ -1385,7 +1385,7 @@ create a-[r:REL]->b @Test def create_relationship_with_properties() { val secondQ = Query. - start(CreateRelationshipStartItem("r", (Entity("a"),Map()), (Entity("b"),Map()), "REL", + start(CreateRelationshipStartItem("r", (Identifier("a"),Map()), (Identifier("b"),Map()), "REL", Map("why" -> Literal(42), "foo" -> Literal("bar")) )). returns() @@ -1393,7 +1393,7 @@ create a-[r:REL]->b val q = Query. start(NodeById("a", 0), NodeById("b", 1)). tail(secondQ). - returns(ReturnItem(Entity("a"), "a"), ReturnItem(Entity("b"), "b")) + returns(ReturnItem(Identifier("a"), "a"), ReturnItem(Identifier("b"), "b")) testFrom_1_8("start a=node(0), b=node(1) with a,b create a-[r:REL {why : 42, foo : 'bar'}]->b", q) @@ -1422,13 +1422,13 @@ create a-[r:REL]->b @Test def delete_node() { val secondQ = Query. - updates(DeleteEntityAction(Entity("a"))). + updates(DeleteEntityAction(Identifier("a"))). returns() val q = Query. start(NodeById("a", 0)). tail(secondQ). - returns(ReturnItem(Entity("a"), "a")) + returns(ReturnItem(Identifier("a"), "a")) testFrom_1_8("start a=node(0) with a delete a", q) } @@ -1441,7 +1441,7 @@ create a-[r:REL]->b val q = Query. start(NodeById("a", 0)). tail(secondQ). - returns(ReturnItem(Entity("a"), "a")) + returns(ReturnItem(Identifier("a"), "a")) testFrom_1_8("start a=node(0) with a set a.hello = 'world'", q) } @@ -1454,21 +1454,21 @@ create a-[r:REL]->b val q = Query. start(NodeById("a", 0)). tail(secondQ). - returns(ReturnItem(Entity("a"), "a")) + returns(ReturnItem(Identifier("a"), "a")) testFrom_1_8("start a=node(0) with a set a.salary = a.salary * 2 ", q) } @Test def foreach_on_path() { val secondQ = Query. - updates(ForeachAction(NodesFunction(Entity("p")), "n", Seq(PropertySetAction(Property("n", "touched"), Literal(true))))). + updates(ForeachAction(NodesFunction(Identifier("p")), "n", Seq(PropertySetAction(Property("n", "touched"), Literal(true))))). returns() val q = Query. start(NodeById("a", 0)). namedPaths(NamedPath("p", RelatedTo("a", "b", "r", "REL", Direction.OUTGOING))). tail(secondQ). - returns(ReturnItem(Entity("p"), "p")) + returns(ReturnItem(Identifier("p"), "p")) testFrom_1_8("start a=node(0) match p = a-[r:REL]->b with p foreach(n in nodes(p) : set n.touched = true ) ", q) } @@ -1476,7 +1476,7 @@ create a-[r:REL]->b @Test def simple_read_first_and_update_next() { val secondQ = Query. start(CreateNodeStartItem("b", Map("age" -> Multiply(Property("a", "age"), Literal(2.0))))). - returns(ReturnItem(Entity("b"), "b")) + returns(ReturnItem(Identifier("b"), "b")) val q = Query. start(NodeById("a", 1)). @@ -1489,7 +1489,7 @@ create a-[r:REL]->b @Test def simple_start_with_two_nodes_and_create_relationship() { val secondQ = Query. - start(CreateRelationshipStartItem("r", (Entity("a"), Map()), (Entity("b"), Map()), "REL", Map())). + start(CreateRelationshipStartItem("r", (Identifier("a"), Map()), (Identifier("b"), Map()), "REL", Map())). returns() val q = Query. @@ -1503,7 +1503,7 @@ create a-[r:REL]->b @Test def simple_create_relationship_with_properties() { val secondQ = Query. - start(CreateRelationshipStartItem("r", (Entity("b"), Map()), (Entity("a"), Map()), "REL", + start(CreateRelationshipStartItem("r", (Identifier("b"), Map()), (Identifier("a"), Map()), "REL", Map("why" -> Literal(42), "foo" -> Literal("bar")) )). returns() @@ -1519,7 +1519,7 @@ create a-[r:REL]->b @Test def simple_delete_node() { val secondQ = Query. - updates(DeleteEntityAction(Entity("a"))). + updates(DeleteEntityAction(Identifier("a"))). returns() val q = Query. @@ -1558,7 +1558,7 @@ create a-[r:REL]->b @Test def simple_foreach_on_path() { val secondQ = Query. - updates(ForeachAction(NodesFunction(Entity("p")), "n", Seq(PropertySetAction(Property("n", "touched"), Literal(true))))). + updates(ForeachAction(NodesFunction(Identifier("p")), "n", Seq(PropertySetAction(Property("n", "touched"), Literal(true))))). returns() val q = Query. @@ -1656,7 +1656,7 @@ create a-[r:REL]->b @Test def foreach_with_literal_collection() { val q2 = Query.updates( - ForeachAction(Collection(Literal(1.0), Literal(2.0), Literal(3.0)), "x", Seq(CreateNodeStartItem("a", Map("number" -> Entity("x"))))) + ForeachAction(Collection(Literal(1.0), Literal(2.0), Literal(3.0)), "x", Seq(CreateNodeStartItem("a", Map("number" -> Identifier("x"))))) ).returns() testFrom_1_8( @@ -1684,7 +1684,7 @@ create a-[r:REL]->b updates(RelateAction( RelateLink("root", "x", "r1", "X", Direction.OUTGOING), RelateLink("root", "x", "r2", "Y", Direction.OUTGOING))) - .returns(ReturnItem(Entity("x"), "x")) + .returns(ReturnItem(Identifier("x"), "x")) val q = Query.start(NodeById("root", 0)).tail(returns).returns(AllIdentifiers()) @@ -1719,15 +1719,15 @@ create a-[r:REL]->b Query. start(NodeById("a", 1)). where(Or(Not(Equals(Literal(1), Literal(2))), Equals(Literal(2), Literal(3)))). - returns(ReturnItem(Entity("a"), "a")) + returns(ReturnItem(Identifier("a"), "a")) ) } @Test def full_path_in_create() { val secondQ = Query. start( - CreateRelationshipStartItem("r1", (Entity("a"),Map()), (Entity(" UNNAMED1"),Map()), "KNOWS", Map()), - CreateRelationshipStartItem("r2", (Entity("b"),Map()), (Entity(" UNNAMED1"),Map()), "LOVES", Map())). + CreateRelationshipStartItem("r1", (Identifier("a"),Map()), (Identifier(" UNNAMED1"),Map()), "KNOWS", Map()), + CreateRelationshipStartItem("r2", (Identifier("b"),Map()), (Identifier(" UNNAMED1"),Map()), "LOVES", Map())). returns() val q = Query. start(NodeById("a", 1), NodeById("b", 2)). @@ -1743,16 +1743,16 @@ create a-[r:REL]->b testFrom_1_8( "create p = a-[r:KNOWS]->() return p", Query. - start(CreateRelationshipStartItem("r", (Entity("a"), Map()), (Entity(" UNNAMED1"), Map()), "KNOWS", Map())). + start(CreateRelationshipStartItem("r", (Identifier("a"), Map()), (Identifier(" UNNAMED1"), Map()), "KNOWS", Map())). namedPaths(NamedPath("p", RelatedTo("a", " UNNAMED1", "r", "KNOWS", Direction.OUTGOING, optional = false, predicate = True()))). - returns(ReturnItem(Entity("p"), "p"))) + returns(ReturnItem(Identifier("p"), "p"))) } @Test def relate_and_assign_to_path_identifier() { val q2 = Query. updates(RelateAction(RelateLink("a", " UNNAMED1", "r", "KNOWS", Direction.OUTGOING))). namedPaths(NamedPath("p", RelatedTo("a", " UNNAMED1", "r", "KNOWS", Direction.OUTGOING, optional = false, predicate = True()))). - returns(ReturnItem(Entity("p"), "p")) + returns(ReturnItem(Identifier("p"), "p")) val q = Query. start(NodeById("a", 0)). @@ -1770,9 +1770,9 @@ foreach(x in [1,2,3] : foreach( i in p : set i.touched = true))""", Query. - start(CreateRelationshipStartItem("r", (Entity("a"), Map()), (Entity(" UNNAMED1"), Map()), "KNOWS", Map())). + start(CreateRelationshipStartItem("r", (Identifier("a"), Map()), (Identifier(" UNNAMED1"), Map()), "KNOWS", Map())). namedPaths(NamedPath("p", RelatedTo("a", " UNNAMED1", "r", "KNOWS", Direction.OUTGOING, optional = false, predicate = True()))). - returns(ReturnItem(Entity("p"), "p"))) + returns(ReturnItem(Identifier("p"), "p"))) } def test_1_8(query: String, expectedQuery: Query) { diff --git a/cypher/src/test/scala/org/neo4j/cypher/ExecutionEngineTest.scala b/cypher/src/test/scala/org/neo4j/cypher/ExecutionEngineTest.scala index 3c54fa24a..0afe561cd 100644 --- a/cypher/src/test/scala/org/neo4j/cypher/ExecutionEngineTest.scala +++ b/cypher/src/test/scala/org/neo4j/cypher/ExecutionEngineTest.scala @@ -35,7 +35,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { @Test def shouldGetReferenceNode() { val query = Query. start(NodeById("n", Literal(0))). - returns(ReturnItem(Entity("n"), "n")) + returns(ReturnItem(Identifier("n"), "n")) val result = execute(query) assertEquals(List(refNode), result.columnAs[Node]("n").toList) @@ -47,7 +47,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { val query = Query. start(RelationshipById("r", Literal(0))). - returns(ReturnItem(Entity("r"), "r")) + returns(ReturnItem(Identifier("r"), "r")) val result = execute(query) assertEquals(List(r), result.columnAs[Relationship]("r").toList) @@ -66,7 +66,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { val query = Query. start(NodeById("node", n1.getId, n2.getId)). where(RegularExpression(Property("node", "name"), Literal("And.*"))). - returns(ReturnItem(Entity("node"), "node")) + returns(ReturnItem(Identifier("node"), "node")) val result = execute(query) assertEquals(List(n1), result.columnAs[Node]("node").toList) @@ -87,7 +87,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { val query = Query. start(NodeById("node", node.getId)). - returns(ReturnItem(Entity("node"), "node")) + returns(ReturnItem(Identifier("node"), "node")) val result = execute(query) assertEquals(List(node), result.columnAs[Node]("node").toList) @@ -99,7 +99,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { val query = Query. start(RelationshipById("rel", rel.getId)). - returns(ReturnItem(Entity("rel"), "rel")) + returns(ReturnItem(Identifier("rel"), "rel")) val result = execute(query) assertEquals(List(rel), result.columnAs[Relationship]("rel").toList) @@ -110,7 +110,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { val query = Query. start(NodeById("node", refNode.getId, node.getId)). - returns(ReturnItem(Entity("node"), "node")) + returns(ReturnItem(Identifier("node"), "node")) val result = execute(query) assertEquals(List(refNode, node), result.columnAs[Node]("node").toList) @@ -141,7 +141,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { start(NodeById("start", start.getId)). matches(RelatedTo("start", "a", "rel", "x", Direction.BOTH)). where(Equals(Property("a", "name"), Literal(name))). - returns(ReturnItem(Entity("a"), "a")) + returns(ReturnItem(Identifier("a"), "a")) val result = execute(query) assertEquals(List(a2), result.columnAs[Node]("a").toList) @@ -158,7 +158,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { start(NodeById("start", start.getId)). matches(RelatedTo("start", "a", "r", "KNOWS", Direction.BOTH)). where(Equals(Property("r", "name"), Literal("monkey"))). - returns(ReturnItem(Entity("a"), "a")) + returns(ReturnItem(Identifier("a"), "a")) val result = execute(query) assertEquals(List(a), result.columnAs[Node]("a").toList) @@ -170,7 +170,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { val query = Query. start(NodeById("n1", n1.getId), NodeById("n2", n2.getId)). - returns(ReturnItem(Entity("n1"), "n1"), ReturnItem(Entity("n2"), "n2")) + returns(ReturnItem(Identifier("n1"), "n1"), ReturnItem(Identifier("n2"), "n2")) val result = execute(query) @@ -185,7 +185,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { val query = Query. start(NodeById("n1", n1.getId)). matches(RelatedTo("n1", "n2", "rel", "KNOWS", Direction.OUTGOING)). - returns(ReturnItem(Entity("n1"), "n1"), ReturnItem(Entity("n2"), "n2")) + returns(ReturnItem(Identifier("n1"), "n1"), ReturnItem(Identifier("n2"), "n2")) val result = execute(query) @@ -202,7 +202,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { val query = Query. start(NodeById("start", n1.getId)). matches(RelatedTo("start", "x", "rel", "KNOWS", Direction.OUTGOING)). - returns(ReturnItem(Entity("x"), "x")) + returns(ReturnItem(Identifier("x"), "x")) val result = execute(query) @@ -219,7 +219,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { val query = Query. start(NodeById("start", n1.getId)). matches(RelatedTo("start", "x", "rel", "KNOWS", Direction.OUTGOING)). - returns(ReturnItem(Entity("x"), "x"), ReturnItem(Entity("start"), "start")) + returns(ReturnItem(Identifier("x"), "x"), ReturnItem(Identifier("start"), "start")) val result = execute(query) @@ -230,7 +230,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { val query = Query. start(NodeById("start", refNode.getId)). where(Equals(Literal(1), Literal(0))). - returns(ReturnItem(Entity("start"), "start")) + returns(ReturnItem(Identifier("start"), "start")) val result = execute(query) } @@ -247,7 +247,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { matches( RelatedTo("start", "a", "rel", "KNOWS", Direction.OUTGOING), RelatedTo("a", "b", "rel2", "FRIEND", Direction.OUTGOING)). - returns(ReturnItem(Entity("b"), "b")) + returns(ReturnItem(Identifier("b"), "b")) val result = execute(query) @@ -263,7 +263,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { val query = Query. start(NodeByIndex("n", idxName, Literal(key), Literal(value))). - returns(ReturnItem(Entity("n"), "n")) + returns(ReturnItem(Identifier("n"), "n")) val result = execute(query) @@ -279,7 +279,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { val query = Query. start(NodeByIndexQuery("n", idxName, Literal(key + ":" + value))). - returns(ReturnItem(Entity("n"), "n")) + returns(ReturnItem(Identifier("n"), "n")) val result = execute(query) @@ -294,7 +294,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { val query = Query. start(NodeByIndex("n", idxName, Literal(key), ParameterExpression("value"))). - returns(ReturnItem(Entity("n"), "n")) + returns(ReturnItem(Identifier("n"), "n")) val result = execute(query, "value" -> "Andres") @@ -310,7 +310,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { val query = Query. start(NodeByIndexQuery("n", idxName, Literal(key + ":andr*"))). - returns(ReturnItem(Entity("n"), "n")) + returns(ReturnItem(Identifier("n"), "n")) val result = execute(query) @@ -326,7 +326,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { where(Or( Equals(Property("n", "name"), Literal("boy")), Equals(Property("n", "name"), Literal("girl")))). - returns(ReturnItem(Entity("n"), "n")) + returns(ReturnItem(Identifier("n"), "n")) val result = execute(query) @@ -348,7 +348,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { And( Equals(Property("n", "animal"), Literal("cow")), Equals(Property("n", "food"), Literal("grass"))))). - returns(ReturnItem(Entity("n"), "n")) + returns(ReturnItem(Identifier("n"), "n")) val result = execute(query) @@ -389,7 +389,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { start(NodeById("n", n1.getId, n4.getId)). matches(RelatedTo("n", "x", "rel", Seq(), Direction.OUTGOING, false, True())). where(Equals(Property("n", "animal"), Property("x", "animal"))). - returns(ReturnItem(Entity("n"), "n"), ReturnItem(Entity("x"), "x")) + returns(ReturnItem(Identifier("n"), "n"), ReturnItem(Identifier("x"), "x")) val result = execute(query) @@ -410,7 +410,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { val query = Query. start(NodeById("n", n1.getId, n2.getId, n3.getId, n4.getId, n5.getId)). where(LessThan(Property("n", "x"), Literal(100))). - returns(ReturnItem(Entity("n"), "n")) + returns(ReturnItem(Identifier("n"), "n")) val result = execute(query) @@ -426,7 +426,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { where(And( LessThan(Property("n", "x"), Literal("Z")), LessThan(Property("n", "x"), Literal('Z')))). - returns(ReturnItem(Entity("n"), "n")) + returns(ReturnItem(Identifier("n"), "n")) val result = execute(query) @@ -443,7 +443,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { start(NodeById("a", refNode.getId)). matches(RelatedTo("a", "b", "rel", Seq(), Direction.OUTGOING, false, True())). aggregation(CountStar()). - returns(ReturnItem(Entity("a"), "a"), ReturnItem(CountStar(), "count(*)")) + returns(ReturnItem(Identifier("a"), "a"), ReturnItem(CountStar(), "count(*)")) val result = execute(query) @@ -484,7 +484,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { val query = Query. start(NodeById("start", nodeIds: _*)). limit(2). - returns(ReturnItem(Entity("start"), "start")) + returns(ReturnItem(Identifier("start"), "start")) val result = execute(query) @@ -498,7 +498,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { start(NodeById("start", nodeIds: _*)). orderBy(SortItem(Property("start", "name"), true)). skip(2). - returns(ReturnItem(Entity("start"), "start")) + returns(ReturnItem(Identifier("start"), "start")) val result = execute(query) @@ -512,7 +512,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { start(NodeById("start", nodeIds: _*)). orderBy(SortItem(Property("start", "name"), true)). skip("skippa"). - returns(ReturnItem(Entity("start"), "start")) + returns(ReturnItem(Identifier("start"), "start")) val result = execute(query, "skippa" -> 2) @@ -527,7 +527,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { orderBy(SortItem(Property("start", "name"), true)). limit(2). skip(2). - returns(ReturnItem(Entity("start"), "start")) + returns(ReturnItem(Identifier("start"), "start")) val result = execute(query) @@ -542,7 +542,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { orderBy(SortItem(Property("start", "name"), true)). limit("l"). skip("s"). - returns(ReturnItem(Entity("start"), "start")) + returns(ReturnItem(Identifier("start"), "start")) val result = execute(query, "l" -> 2, "s" -> 2) @@ -590,8 +590,8 @@ class ExecutionEngineTest extends ExecutionEngineHelper { val query = Query. start(NodeById("n", 1)). matches(RelatedTo("n", "x", "r", Seq(), Direction.OUTGOING, false, True())). - where(Equals(RelationshipTypeFunction(Entity("r")), Literal("KNOWS"))). - returns(ReturnItem(Entity("x"), "x")) + where(Equals(RelationshipTypeFunction(Identifier("r")), Literal("KNOWS"))). + returns(ReturnItem(Identifier("x"), "x")) val result = execute(query) @@ -655,8 +655,8 @@ class ExecutionEngineTest extends ExecutionEngineHelper { val query = Query. start(NodeById("n", 1)). matches(RelatedTo("n", "x", "r", Seq(), Direction.OUTGOING, false, True())). - where(Or(Equals(RelationshipTypeFunction(Entity("r")), Literal("KNOWS")), Equals(RelationshipTypeFunction(Entity("r")), Literal("HATES")))). - returns(ReturnItem(Entity("x"), "x")) + where(Or(Equals(RelationshipTypeFunction(Identifier("r")), Literal("KNOWS")), Equals(RelationshipTypeFunction(Identifier("r")), Literal("HATES")))). + returns(ReturnItem(Identifier("x"), "x")) val result = execute(query) @@ -670,7 +670,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { val query = Query. start(NodeById("a", 1)). namedPaths(NamedPath("p", RelatedTo("a", "b", "rel", Seq(), Direction.OUTGOING, false, True()))). - returns(ReturnItem(Entity("p"), "p")) // new CypherParser().parse("start a=(1) match p=(a-->b) return p") + returns(ReturnItem(Identifier("p"), "p")) // new CypherParser().parse("start a=(1) match p=(a-->b) return p") val result = execute(query) @@ -688,7 +688,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { namedPaths(NamedPath("p", RelatedTo("a", "b", "rel1", Seq(), Direction.OUTGOING, false, True()), RelatedTo("b", "c", "rel2", Seq(), Direction.OUTGOING, false, True()))). - returns(ReturnItem(Entity("p"), "p")) // new CypherParser().parse("start a=(1) match p=(a-->b) return p") + returns(ReturnItem(Identifier("p"), "p")) // new CypherParser().parse("start a=(1) match p=(a-->b) return p") val result = execute(query) @@ -754,8 +754,8 @@ class ExecutionEngineTest extends ExecutionEngineHelper { val query = Query.start(NodeById("pA", a.getId), NodeById("pB", d.getId)). namedPaths(NamedPath("p", VarLengthRelatedTo("x", "pA", "pB", Some(1), Some(5), "rel", Direction.OUTGOING))). - where(AllInIterable(NodesFunction(Entity("p")), "i", Equals(Property("i", "foo"), Literal("bar")))). - returns(ReturnItem(Entity("pB"), "pB")) + where(AllInIterable(NodesFunction(Identifier("p")), "i", Equals(Property("i", "foo"), Literal("bar")))). + returns(ReturnItem(Identifier("pB"), "pB")) val result = execute(query) @@ -772,7 +772,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { val query = Query.start(NodeById("pA", a.getId)). namedPaths(NamedPath("p", VarLengthRelatedTo("x", "pA", "pB", Some(2), Some(2), "rel", Direction.OUTGOING))). - returns(ReturnItem(RelationshipFunction(Entity("p")), "RELATIONSHIPS(p)")) + returns(ReturnItem(RelationshipFunction(Identifier("p")), "RELATIONSHIPS(p)")) val result = execute(query) @@ -882,7 +882,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { val query = Query. start(NodeById("a", 1), NodeById("b", 2)). matches(ShortestPath("p", "a", "b", Seq(), Direction.BOTH, Some(15), false, true, None)). - returns(ReturnItem(Entity("p"), "p")) + returns(ReturnItem(Identifier("p"), "p")) val result = execute(query).toList.head("p").asInstanceOf[Path] @@ -900,7 +900,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { val query = Query. start(NodeById("a", 1), NodeById("b", 2)). matches(ShortestPath("p", "a", "b", Seq(), Direction.BOTH, None, false, true, None)). - returns(ReturnItem(Entity("p"), "p")) + returns(ReturnItem(Identifier("p"), "p")) //Checking that we don't get an exception execute(query).toList @@ -917,11 +917,11 @@ class ExecutionEngineTest extends ExecutionEngineHelper { NodeById("pD", ParameterExpression("0")), NodeById("pE", ParameterExpression("1"))). returns( - ReturnItem(Entity("pA"), "pA"), - ReturnItem(Entity("pB"), "pB"), - ReturnItem(Entity("pC"), "pC"), - ReturnItem(Entity("pD"), "pD"), - ReturnItem(Entity("pE"), "pE")) + ReturnItem(Identifier("pA"), "pA"), + ReturnItem(Identifier("pB"), "pB"), + ReturnItem(Identifier("pC"), "pC"), + ReturnItem(Identifier("pD"), "pD"), + ReturnItem(Identifier("pE"), "pE")) val result = execute(query, "a" -> Seq[Long](1), @@ -939,7 +939,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { val query = Query. start(NodeById("pA", ParameterExpression("a"))). - returns(ReturnItem(Entity("pA"), "pA")) + returns(ReturnItem(Identifier("pA"), "pA")) execute(query, "a" -> "Andres").toList } @@ -959,7 +959,7 @@ class ExecutionEngineTest extends ExecutionEngineHelper { val query = Query. start(NodeById("a", 1)). where(Equals(Property("a", "name"), ParameterExpression("name"))) - .returns(ReturnItem(Entity("a"), "a")) + .returns(ReturnItem(Identifier("a"), "a")) assert(0 === execute(query, "name" -> "Tobias").toList.size) assert(1 === execute(query, "name" -> "Andres").toList.size) @@ -1106,7 +1106,7 @@ return foaf""") @Test(expected = classOf[ParameterNotFoundException]) def shouldComplainWhenMissingParams() { val query = Query. start(NodeById("pA", ParameterExpression("a"))). - returns(ReturnItem(Entity("pA"), "pA")) + returns(ReturnItem(Identifier("pA"), "pA")) execute(query).toList } @@ -1760,12 +1760,12 @@ RETURN x0.name? val secondQ = Query. start(). where(Equals(Property("x", "foo"), Literal(42))). - returns(ReturnItem(Entity("x"), "x")) + returns(ReturnItem(Identifier("x"), "x")) val q = Query. start(NodeById("x", 1, 2)). tail(secondQ). - returns(ReturnItem(Entity("x"), "x")) + returns(ReturnItem(Identifier("x"), "x")) val result = execute(q, "wut?" -> "wOOt!") @@ -1777,8 +1777,8 @@ RETURN x0.name? // START x = node(1) WITH count(*) as apa WHERE apa = 1 RETURN x val secondQ = Query. start(). - where(Equals(Entity("apa"), Literal(1))). - returns(ReturnItem(Entity("apa"), "apa")) + where(Equals(Identifier("apa"), Literal(1))). + returns(ReturnItem(Identifier("apa"), "apa")) val q = Query. start(NodeById("x", 0)). diff --git a/cypher/src/test/scala/org/neo4j/cypher/internal/ReattachAliasedExpressionsTest.scala b/cypher/src/test/scala/org/neo4j/cypher/internal/ReattachAliasedExpressionsTest.scala index 5fd3c8542..acd02d783 100644 --- a/cypher/src/test/scala/org/neo4j/cypher/internal/ReattachAliasedExpressionsTest.scala +++ b/cypher/src/test/scala/org/neo4j/cypher/internal/ReattachAliasedExpressionsTest.scala @@ -20,7 +20,7 @@ package org.neo4j.cypher.internal import commands._ -import expressions.{CountStar, Property, Entity} +import expressions.{CountStar, Property, Identifier} import org.scalatest.Assertions import org.junit.Test @@ -31,7 +31,7 @@ class ReattachAliasedExpressionsTest extends Assertions { val q = Query. start(NodeById("a", 1)). - orderBy(SortItem(Entity("newAlias"), true)). + orderBy(SortItem(Identifier("newAlias"), true)). returns(ReturnItem(Property("a", "x"), "newAlias")) val expected = Query. @@ -48,7 +48,7 @@ class ReattachAliasedExpressionsTest extends Assertions { val q = Query. start(NodeById("a", 1)). - orderBy(SortItem(Entity("foo"), true)). + orderBy(SortItem(Identifier("foo"), true)). returns(ReturnItem(CountStar(), "foo")) val expected = Query. diff --git a/cypher/src/test/scala/org/neo4j/cypher/internal/commands/AllIdentifiersTest.scala b/cypher/src/test/scala/org/neo4j/cypher/internal/commands/AllIdentifiersTest.scala index 3437fac34..de44b0b61 100644 --- a/cypher/src/test/scala/org/neo4j/cypher/internal/commands/AllIdentifiersTest.scala +++ b/cypher/src/test/scala/org/neo4j/cypher/internal/commands/AllIdentifiersTest.scala @@ -19,7 +19,7 @@ */ package org.neo4j.cypher.internal.commands -import expressions.Entity +import expressions.Identifier import org.junit.Test import org.scalatest.Assertions import org.neo4j.cypher.internal.symbols._ @@ -30,22 +30,22 @@ class AllIdentifiersTest extends Assertions { @Test def nodes() { val symbols = getSymbols("n" -> NodeType()) - assert(x.expressions(symbols) === Map("n" -> Entity("n"))) + assert(x.expressions(symbols) === Map("n" -> Identifier("n"))) } @Test def relationships() { val symbols = getSymbols("r" -> RelationshipType()) - assert(x.expressions(symbols) === Map("r" -> Entity("r"))) + assert(x.expressions(symbols) === Map("r" -> Identifier("r"))) } @Test def paths() { val symbols = getSymbols("p" -> PathType()) - assert(x.expressions(symbols) === Map("p" -> Entity("p"))) + assert(x.expressions(symbols) === Map("p" -> Identifier("p"))) } - private def getSymbols(k: (String, CypherType)*): SymbolTable2 = { - new SymbolTable2(k.toMap) + private def getSymbols(k: (String, CypherType)*): SymbolTable = { + new SymbolTable(k.toMap) } } \ No newline at end of file diff --git a/cypher/src/test/scala/org/neo4j/cypher/internal/commands/CoalesceTest.scala b/cypher/src/test/scala/org/neo4j/cypher/internal/commands/CoalesceTest.scala index b121e8031..6456c9afd 100644 --- a/cypher/src/test/scala/org/neo4j/cypher/internal/commands/CoalesceTest.scala +++ b/cypher/src/test/scala/org/neo4j/cypher/internal/commands/CoalesceTest.scala @@ -23,7 +23,7 @@ import expressions.{Expression, Null, Literal, CoalesceFunction} import org.scalatest.Assertions import collection.Map import org.junit.{Assert, Test} -import org.neo4j.cypher.internal.symbols.{SymbolTable2, CypherType, AnyType} +import org.neo4j.cypher.internal.symbols.{SymbolTable, CypherType, AnyType} class CoalesceTest extends Assertions { @Test def givenANonNullValueThenReturnsTheValue() { @@ -56,7 +56,7 @@ case class BreakingExpression() extends Expression { def filter(f: (Expression) => Boolean) = null - def calculateType(symbols: SymbolTable2): CypherType = AnyType() + def calculateType(symbols: SymbolTable): CypherType = AnyType() def symbolTableDependencies = Set() } diff --git a/cypher/src/test/scala/org/neo4j/cypher/internal/commands/ExtractTest.scala b/cypher/src/test/scala/org/neo4j/cypher/internal/commands/ExtractTest.scala index e99c31a87..36924bff1 100644 --- a/cypher/src/test/scala/org/neo4j/cypher/internal/commands/ExtractTest.scala +++ b/cypher/src/test/scala/org/neo4j/cypher/internal/commands/ExtractTest.scala @@ -19,18 +19,15 @@ */ package org.neo4j.cypher.internal.commands -import expressions.{ExtractFunction, Entity, LengthFunction} +import expressions.{ExtractFunction, Identifier, LengthFunction} import org.scalatest.Assertions import org.junit.Test class ExtractTest extends Assertions { @Test def canReturnSomethingFromAnIterable() { - - //extract( n in ["x", "xxx", "xx"] : length(n) ) - val l = Seq("x", "xxx", "xx") - val expression = LengthFunction(Entity("n")) - val iterable = Entity("l") + val expression = LengthFunction(Identifier("n")) + val iterable = Identifier("l") val m = Map("l" -> l) val extract = ExtractFunction(iterable, "n", expression) diff --git a/cypher/src/test/scala/org/neo4j/cypher/internal/commands/HasRelationshipTest.scala b/cypher/src/test/scala/org/neo4j/cypher/internal/commands/HasRelationshipTest.scala index 7c29a7571..df420054f 100644 --- a/cypher/src/test/scala/org/neo4j/cypher/internal/commands/HasRelationshipTest.scala +++ b/cypher/src/test/scala/org/neo4j/cypher/internal/commands/HasRelationshipTest.scala @@ -19,7 +19,7 @@ */ package org.neo4j.cypher.internal.commands -import expressions.Entity +import expressions.Identifier import org.neo4j.cypher.GraphDatabaseTestBase import org.scalatest.Assertions import org.junit.{Before, Test} @@ -30,8 +30,8 @@ import org.junit.Assert._ class HasRelationshipTest extends GraphDatabaseTestBase with Assertions { var a: Node = null var b: Node = null - val aValue = Entity("a") - val bValue = Entity("b") + val aValue = Identifier("a") + val bValue = Identifier("b") @Before def init() { @@ -39,7 +39,7 @@ class HasRelationshipTest extends GraphDatabaseTestBase with Assertions { b = createNode() } - def createPredicate(dir: Direction, relType: Seq[String]): HasRelationshipTo = HasRelationshipTo(Entity("a"), Entity("b"), dir, relType) + def createPredicate(dir: Direction, relType: Seq[String]): HasRelationshipTo = HasRelationshipTo(Identifier("a"), Identifier("b"), dir, relType) @Test def givenTwoRelatedNodesThenReturnsTrue() { relate(a, b) diff --git a/cypher/src/test/scala/org/neo4j/cypher/internal/commands/SeqPredicateTests.scala b/cypher/src/test/scala/org/neo4j/cypher/internal/commands/SeqPredicateTests.scala index a5f6304fa..ab5ae5f5f 100644 --- a/cypher/src/test/scala/org/neo4j/cypher/internal/commands/SeqPredicateTests.scala +++ b/cypher/src/test/scala/org/neo4j/cypher/internal/commands/SeqPredicateTests.scala @@ -19,15 +19,15 @@ */ package org.neo4j.cypher.internal.commands -import expressions.{Entity, Literal} +import expressions.{Identifier, Literal} import org.junit.Test import org.scalatest.Assertions class SeqPredicateTests extends Assertions { @Test def allStringsBeginWithA() { val strings = Seq("Andres", "Andres") - val inner = Equals(Literal("Andres"), Entity("x")) - val all = new AllInIterable(Entity("strings"), "x", inner) + val inner = Equals(Literal("Andres"), Identifier("x")) + val all = new AllInIterable(Identifier("strings"), "x", inner) assert(all.isMatch(Map("strings" -> strings))) } diff --git a/cypher/src/test/scala/org/neo4j/cypher/internal/commands/expressions/ExpressionTest.scala b/cypher/src/test/scala/org/neo4j/cypher/internal/commands/expressions/ExpressionTest.scala index 68375be54..a40d6b9d6 100644 --- a/cypher/src/test/scala/org/neo4j/cypher/internal/commands/expressions/ExpressionTest.scala +++ b/cypher/src/test/scala/org/neo4j/cypher/internal/commands/expressions/ExpressionTest.scala @@ -24,6 +24,7 @@ import org.scalatest.Assertions import org.neo4j.cypher.internal.symbols._ import collection.Map import org.neo4j.cypher.CypherTypeException +import org.neo4j.helpers.ThisShouldNotHappenError class ExpressionTest extends Assertions { @Test def replacePropWithCache() { @@ -87,10 +88,11 @@ class ExpressionTest extends Assertions { fail("Wrong keys found: " + keys + " vs. " + expected.keys.toSet) } - val result = keys.toSeq.map( k => (a.get(k), b.get(k)) match { - case (Some(x), None) => k->x - case (None, Some(x)) => k->x - case (Some(x), Some(y)) => k->x.mergeWith(y) + val result = keys.toSeq.map(k => (a.get(k), b.get(k)) match { + case (Some(x), None) => k -> x + case (None, Some(x)) => k -> x + case (Some(x), Some(y)) => k -> x.mergeWith(y) + case (None, None) => throw new ThisShouldNotHappenError("Andres", "only here to stop warnings") }).toMap if (result != expected) { @@ -110,7 +112,7 @@ class TestExpression extends Expression { def rewrite(f: (Expression) => Expression): Expression = null - def calculateType(symbols: SymbolTable2): CypherType = null + def calculateType(symbols: SymbolTable): CypherType = null def symbolTableDependencies = Set() diff --git a/cypher/src/test/scala/org/neo4j/cypher/internal/executionplan/ExecutionPlanImplTest.scala b/cypher/src/test/scala/org/neo4j/cypher/internal/executionplan/ExecutionPlanImplTest.scala index 74008e7d4..4fd176bc3 100644 --- a/cypher/src/test/scala/org/neo4j/cypher/internal/executionplan/ExecutionPlanImplTest.scala +++ b/cypher/src/test/scala/org/neo4j/cypher/internal/executionplan/ExecutionPlanImplTest.scala @@ -27,11 +27,11 @@ import org.neo4j.graphdb.GraphDatabaseService import org.scalatest.Assertions import org.neo4j.cypher.InternalException import actors.threadpool.{ExecutionException, TimeUnit, Executors} -import org.neo4j.cypher.internal.commands.expressions.Entity +import org.neo4j.cypher.internal.commands.expressions.Identifier class ExecutionPlanImplTest extends Assertions with Timed { @Test def should_not_go_into_never_ending_loop() { - val q = Query.start(NodeById("x", 0)).returns(ReturnItem(Entity("x"), "x")) + val q = Query.start(NodeById("x", 0)).returns(ReturnItem(Identifier("x"), "x")) val exception = intercept[ExecutionException](timeoutAfter(1) { val epi = new FakeEPI(q, null) diff --git a/cypher/src/test/scala/org/neo4j/cypher/internal/executionplan/builders/AggregationBuilderTest.scala b/cypher/src/test/scala/org/neo4j/cypher/internal/executionplan/builders/AggregationBuilderTest.scala index 07af70902..03b984a6a 100644 --- a/cypher/src/test/scala/org/neo4j/cypher/internal/executionplan/builders/AggregationBuilderTest.scala +++ b/cypher/src/test/scala/org/neo4j/cypher/internal/executionplan/builders/AggregationBuilderTest.scala @@ -25,7 +25,7 @@ import org.neo4j.cypher.internal.commands._ import expressions._ import expressions.Collect import expressions.CountStar -import expressions.Entity +import expressions.Identifier import expressions.HeadFunction import org.neo4j.cypher.internal.executionplan.PartiallySolvedQuery import org.neo4j.cypher.internal.commands.ReturnItem @@ -39,7 +39,7 @@ class AggregationBuilderTest extends BuilderTest { val q = PartiallySolvedQuery(). copy( aggregation = Seq(Unsolved(CountStar())), - returns = Seq(Unsolved(ReturnItem(Entity("n"), "n"))), + returns = Seq(Unsolved(ReturnItem(Identifier("n"), "n"))), aggregateQuery = Unsolved(true) ) @@ -65,7 +65,7 @@ class AggregationBuilderTest extends BuilderTest { copy( start = Seq(Unsolved(NodeById("n", 0))), aggregation = Seq(Unsolved(CountStar())), - returns = Seq(Unsolved(ReturnItem(Entity("n"), "n"))) + returns = Seq(Unsolved(ReturnItem(Identifier("n"), "n"))) ) val p = createPipe(nodes = Seq()) diff --git a/cypher/src/test/scala/org/neo4j/cypher/internal/executionplan/builders/CreateNodesAndRelationshipsBuilderTest.scala b/cypher/src/test/scala/org/neo4j/cypher/internal/executionplan/builders/CreateNodesAndRelationshipsBuilderTest.scala index 12b3ed1db..496ceb22c 100644 --- a/cypher/src/test/scala/org/neo4j/cypher/internal/executionplan/builders/CreateNodesAndRelationshipsBuilderTest.scala +++ b/cypher/src/test/scala/org/neo4j/cypher/internal/executionplan/builders/CreateNodesAndRelationshipsBuilderTest.scala @@ -26,7 +26,7 @@ import org.hamcrest.core.IsInstanceOf.instanceOf import org.hamcrest.core.IsNot.not import org.neo4j.cypher.internal.pipes.{TransactionStartPipe, ExecuteUpdateCommandsPipe} import org.neo4j.cypher.internal.commands._ -import expressions.{HeadFunction, Entity} +import expressions.{HeadFunction, Identifier} class CreateNodesAndRelationshipsBuilderTest extends BuilderTest { @@ -51,8 +51,8 @@ class CreateNodesAndRelationshipsBuilderTest extends BuilderTest { @Test def full_path() { val q = PartiallySolvedQuery().copy(start = Seq( - Unsolved(CreateRelationshipStartItem("r1", (Entity("a"), Map()), (Entity(" UNNAMED1"), Map()), "KNOWS", Map())), - Unsolved(CreateRelationshipStartItem("r2", (Entity("b"), Map()), (Entity(" UNNAMED1"), Map()), "LOVES", Map())))) + Unsolved(CreateRelationshipStartItem("r1", (Identifier("a"), Map()), (Identifier(" UNNAMED1"), Map()), "KNOWS", Map())), + Unsolved(CreateRelationshipStartItem("r2", (Identifier("b"), Map()), (Identifier(" UNNAMED1"), Map()), "LOVES", Map())))) val startPipe = createPipe(Seq("a", "b")) @@ -63,7 +63,7 @@ class CreateNodesAndRelationshipsBuilderTest extends BuilderTest { @Test def single_relationship_missing_nodes() { val q = PartiallySolvedQuery().copy(start = Seq( - Unsolved(CreateRelationshipStartItem("r", (Entity("a"), Map()), (Entity("b"), Map()), "LOVES", Map())))) + Unsolved(CreateRelationshipStartItem("r", (Identifier("a"), Map()), (Identifier("b"), Map()), "LOVES", Map())))) assertTrue("Should be able to build on this", builder.canWorkWith(plan(q))) } @@ -71,7 +71,7 @@ class CreateNodesAndRelationshipsBuilderTest extends BuilderTest { @Test def single_relationship_missing_nodes_with_expression() { val q = PartiallySolvedQuery().copy(updates = Seq( - Unsolved(CreateRelationshipStartItem("r", (HeadFunction(Entity("p")), Map()), (Entity("b"), Map()), "LOVES", Map())))) + Unsolved(CreateRelationshipStartItem("r", (HeadFunction(Identifier("p")), Map()), (Identifier("b"), Map()), "LOVES", Map())))) assertFalse("Should not be able to build on this", builder.canWorkWith(plan(q))) } diff --git a/cypher/src/test/scala/org/neo4j/cypher/internal/executionplan/builders/DeleteAndPropertySetBuilderTest.scala b/cypher/src/test/scala/org/neo4j/cypher/internal/executionplan/builders/DeleteAndPropertySetBuilderTest.scala index 42c2420ae..b88b62cb1 100644 --- a/cypher/src/test/scala/org/neo4j/cypher/internal/executionplan/builders/DeleteAndPropertySetBuilderTest.scala +++ b/cypher/src/test/scala/org/neo4j/cypher/internal/executionplan/builders/DeleteAndPropertySetBuilderTest.scala @@ -23,7 +23,7 @@ import org.neo4j.cypher.internal.executionplan.PartiallySolvedQuery import org.junit.Test import org.junit.Assert._ import org.neo4j.cypher.internal.mutation.DeleteEntityAction -import org.neo4j.cypher.internal.commands.expressions.Entity +import org.neo4j.cypher.internal.commands.expressions.Identifier class DeleteAndPropertySetBuilderTest extends BuilderTest { val builder = new UpdateActionBuilder(null) @@ -31,7 +31,7 @@ class DeleteAndPropertySetBuilderTest extends BuilderTest { @Test def does_not_offer_to_solve_done_queries() { val q = PartiallySolvedQuery(). - copy(updates = Seq(Solved(DeleteEntityAction(Entity("x"))))) + copy(updates = Seq(Solved(DeleteEntityAction(Identifier("x"))))) assertFalse("Should not be able to build on this", builder.canWorkWith(plan(q))) } @@ -39,7 +39,7 @@ class DeleteAndPropertySetBuilderTest extends BuilderTest { @Test def offers_to_solve_queries() { val q = PartiallySolvedQuery(). - copy(updates = Seq(Unsolved(DeleteEntityAction(Entity("x"))))) + copy(updates = Seq(Unsolved(DeleteEntityAction(Identifier("x"))))) val pipe = createPipe(nodes = Seq("x")) @@ -56,7 +56,7 @@ class DeleteAndPropertySetBuilderTest extends BuilderTest { @Test def does_not_offer_to_delete_something_not_yet_there() { val q = PartiallySolvedQuery(). - copy(updates = Seq(Unsolved(DeleteEntityAction(Entity("x"))))) + copy(updates = Seq(Unsolved(DeleteEntityAction(Identifier("x"))))) val executionPlan = plan(q) assertFalse("Should not accept this", builder.canWorkWith(executionPlan)) diff --git a/cypher/src/test/scala/org/neo4j/cypher/internal/pipes/ColumnFilterPipeTest.scala b/cypher/src/test/scala/org/neo4j/cypher/internal/pipes/ColumnFilterPipeTest.scala index e68428052..9bea6a9a6 100644 --- a/cypher/src/test/scala/org/neo4j/cypher/internal/pipes/ColumnFilterPipeTest.scala +++ b/cypher/src/test/scala/org/neo4j/cypher/internal/pipes/ColumnFilterPipeTest.scala @@ -25,12 +25,12 @@ import org.scalatest.junit.JUnitSuite import org.neo4j.cypher.internal.commands.ReturnItem import org.neo4j.cypher.internal.symbols.NodeType import collection.mutable.Map -import org.neo4j.cypher.internal.commands.expressions.Entity +import org.neo4j.cypher.internal.commands.expressions.Identifier class ColumnFilterPipeTest extends JUnitSuite { @Test def shouldReturnColumnsFromReturnItems() { val col = "extractReturnItems" - val returnItems = List(ReturnItem(Entity(col), col)) + val returnItems = List(ReturnItem(Identifier(col), col)) val source = new FakePipe(List(Map("x" -> "x", col -> "bar")), col -> NodeType()) val columnPipe = new ColumnFilterPipe(source, returnItems, true) diff --git a/cypher/src/test/scala/org/neo4j/cypher/internal/pipes/EagerAggregationPipeTest.scala b/cypher/src/test/scala/org/neo4j/cypher/internal/pipes/EagerAggregationPipeTest.scala index 717cee31d..002fe6ef3 100644 --- a/cypher/src/test/scala/org/neo4j/cypher/internal/pipes/EagerAggregationPipeTest.scala +++ b/cypher/src/test/scala/org/neo4j/cypher/internal/pipes/EagerAggregationPipeTest.scala @@ -45,13 +45,13 @@ class EagerAggregationPipeTest extends JUnitSuite { } - private def createReturnItemsFor(names: String*): Map[String, Entity] = names.map(x => x -> Entity(x)).toMap + private def createReturnItemsFor(names: String*): Map[String, Identifier] = names.map(x => x -> Identifier(x)).toMap @Test(expected = classOf[SyntaxException]) def shouldThrowSemanticException() { val source = new FakePipe(List(), createSymbolTableFor("extractReturnItems")) val returnItems = createReturnItemsFor("name") - val grouping = Map("count(*)" -> Count(Entity("none-existing-identifier"))) + val grouping = Map("count(*)" -> Count(Identifier("none-existing-identifier"))) new EagerAggregationPipe(source, returnItems, grouping) } @@ -100,7 +100,7 @@ class EagerAggregationPipeTest extends JUnitSuite { Map("name" -> "Michael", "age" -> 31)), createSymbolTableFor("name")) val returnItems = createReturnItemsFor() - val grouping = Map("count(name)" -> Count(Entity("name"))) + val grouping = Map("count(name)" -> Count(Identifier("name"))) val aggregationPipe = new EagerAggregationPipe(source, returnItems, grouping) assertEquals(List(Map("count(name)" -> 3)), aggregationPipe.createResults(QueryState()).toList) diff --git a/cypher/src/test/scala/org/neo4j/cypher/internal/pipes/FakePipe.scala b/cypher/src/test/scala/org/neo4j/cypher/internal/pipes/FakePipe.scala index 55cdee830..bea3c0570 100644 --- a/cypher/src/test/scala/org/neo4j/cypher/internal/pipes/FakePipe.scala +++ b/cypher/src/test/scala/org/neo4j/cypher/internal/pipes/FakePipe.scala @@ -19,14 +19,14 @@ */ package org.neo4j.cypher.internal.pipes -import org.neo4j.cypher.internal.symbols.{SymbolTable2, CypherType} +import org.neo4j.cypher.internal.symbols.{SymbolTable, CypherType} import collection.Map class FakePipe(data: Seq[Map[String, Any]], identifiers: (String, CypherType)*) extends Pipe { // val symbols: SymbolTable = new SymbolTable(identifiers.map { // case (name, typ) => Identifier(name, typ) // }: _*) - val symbols: SymbolTable2 = new SymbolTable2(identifiers.toMap) + val symbols: SymbolTable = new SymbolTable(identifiers.toMap) def createResults(state: QueryState): Traversable[ExecutionContext] = data.map(m => ExecutionContext(collection.mutable.Map(m.toSeq: _*))) diff --git a/cypher/src/test/scala/org/neo4j/cypher/internal/pipes/MutationTest.scala b/cypher/src/test/scala/org/neo4j/cypher/internal/pipes/MutationTest.scala index 8f59dd0c6..9f4bef7c7 100644 --- a/cypher/src/test/scala/org/neo4j/cypher/internal/pipes/MutationTest.scala +++ b/cypher/src/test/scala/org/neo4j/cypher/internal/pipes/MutationTest.scala @@ -25,7 +25,7 @@ import org.neo4j.cypher.internal.mutation.DeleteEntityAction import org.neo4j.cypher.{CypherTypeException, ExecutionEngineHelper} import collection.mutable.{Map => MutableMap} import org.neo4j.graphdb.{Node, NotFoundException} -import org.neo4j.cypher.internal.symbols.{SymbolTable2, CypherType, NodeType} +import org.neo4j.cypher.internal.symbols.{SymbolTable, CypherType, NodeType} import collection.{Map => CollectionMap} import org.neo4j.cypher.internal.commands.{CreateRelationshipStartItem, CreateNodeStartItem} import org.neo4j.cypher.internal.commands.expressions.{Expression, Literal} @@ -139,7 +139,7 @@ case class InjectValue(value:Any, typ:CypherType) extends Expression { def rewrite(f: (Expression) => Expression) = this - def calculateType(symbols: SymbolTable2): CypherType = typ + def calculateType(symbols: SymbolTable): CypherType = typ def symbolTableDependencies = Set() } \ No newline at end of file diff --git a/cypher/src/test/scala/org/neo4j/cypher/internal/pipes/SingleShortestPathPipeTest.scala b/cypher/src/test/scala/org/neo4j/cypher/internal/pipes/SingleShortestPathPipeTest.scala index 55a058b83..1d83b6fb0 100644 --- a/cypher/src/test/scala/org/neo4j/cypher/internal/pipes/SingleShortestPathPipeTest.scala +++ b/cypher/src/test/scala/org/neo4j/cypher/internal/pipes/SingleShortestPathPipeTest.scala @@ -23,7 +23,7 @@ import org.scalatest.Assertions import org.neo4j.cypher.GraphDatabaseTestBase import org.neo4j.graphdb.{Direction, Node, Path} import org.neo4j.cypher.internal.commands._ -import expressions.{Literal, Property, Entity, RelationshipFunction} +import expressions.{Literal, Property, Identifier, RelationshipFunction} import org.junit.{Ignore, Test} import collection.mutable.Map import org.neo4j.cypher.internal.symbols.NodeType @@ -80,7 +80,7 @@ class SingleShortestPathPipeTest extends GraphDatabaseTestBase with Assertions { relate(a, c, "rel", Map("foo" -> "notBar")) - val pred = AllInIterable(RelationshipFunction(Entity("p")), "r", Equals(Property("r", "foo"), Literal("bar"))) + val pred = AllInIterable(RelationshipFunction(Identifier("p")), "r", Equals(Property("r", "foo"), Literal("bar"))) val path = ShortestPath("p", "a", "b", Seq(), Direction.OUTGOING, None, false, true, Some("r"), pred) diff --git a/cypher/src/test/scala/org/neo4j/cypher/internal/pipes/SortPipeTest.scala b/cypher/src/test/scala/org/neo4j/cypher/internal/pipes/SortPipeTest.scala index aa2e82ad1..e18df543e 100644 --- a/cypher/src/test/scala/org/neo4j/cypher/internal/pipes/SortPipeTest.scala +++ b/cypher/src/test/scala/org/neo4j/cypher/internal/pipes/SortPipeTest.scala @@ -23,14 +23,14 @@ import org.junit.Test import org.junit.Assert._ import org.scalatest.junit.JUnitSuite import collection.mutable.{Map=>MutableMap} -import org.neo4j.cypher.internal.commands.expressions.Entity +import org.neo4j.cypher.internal.commands.expressions.Identifier import org.neo4j.cypher.internal.symbols.{NumberType, StringType, ScalarType} import org.neo4j.cypher.internal.commands.SortItem class SortPipeTest extends JUnitSuite { @Test def emptyInIsEmptyOut() { val source = new FakePipe(List(), "x" -> ScalarType()) - val sortPipe = new SortPipe(source, List(SortItem(Entity("x"), true))) + val sortPipe = new SortPipe(source, List(SortItem(Identifier("x"), true))) assertEquals(List(), sortPipe.createResults(QueryState()).toList) } @@ -38,7 +38,7 @@ class SortPipeTest extends JUnitSuite { @Test def simpleSortingIsSupported() { val list:Seq[MutableMap[String, Any]] = List(MutableMap("x" -> "B"), MutableMap("x" -> "A")) val source = new FakePipe(list, "x" -> StringType()) - val sortPipe = new SortPipe(source, List(SortItem(Entity("x"), true))) + val sortPipe = new SortPipe(source, List(SortItem(Identifier("x"), true))) assertEquals(List(MutableMap("x" -> "A"), MutableMap("x" -> "B")), sortPipe.createResults(QueryState()).toList) } @@ -50,8 +50,8 @@ class SortPipeTest extends JUnitSuite { MutableMap("x" -> "B", "y" -> 10)), "x" -> StringType(), "y"->NumberType()) val sortPipe = new SortPipe(source, List( - SortItem(Entity("x"), true), - SortItem(Entity("y"), true))) + SortItem(Identifier("x"), true), + SortItem(Identifier("y"), true))) assertEquals(List( MutableMap("x" -> "A", "y" -> 100), @@ -66,8 +66,8 @@ class SortPipeTest extends JUnitSuite { MutableMap("x" -> "B", "y" -> 10)), "x" -> StringType(), "y"->NumberType()) val sortPipe = new SortPipe(source, List( - SortItem(Entity("x"), true), - SortItem(Entity("y"), false))) + SortItem(Identifier("x"), true), + SortItem(Identifier("y"), false))) assertEquals(List( MutableMap("x" -> "A", "y" -> 100), @@ -82,7 +82,7 @@ class SortPipeTest extends JUnitSuite { MutableMap("y" -> 2)) val source = new FakePipe(list, "y"->NumberType()) - val sortPipe = new SortPipe(source, List(SortItem(Entity("y"), true))) + val sortPipe = new SortPipe(source, List(SortItem(Identifier("y"), true))) assertEquals(List( MutableMap("y" -> 1), diff --git a/cypher/src/test/scala/org/neo4j/cypher/internal/pipes/aggregation/AggregateTest.scala b/cypher/src/test/scala/org/neo4j/cypher/internal/pipes/aggregation/AggregateTest.scala index 29e070739..0f33c9406 100644 --- a/cypher/src/test/scala/org/neo4j/cypher/internal/pipes/aggregation/AggregateTest.scala +++ b/cypher/src/test/scala/org/neo4j/cypher/internal/pipes/aggregation/AggregateTest.scala @@ -19,14 +19,14 @@ */ package org.neo4j.cypher.internal.pipes.aggregation -import org.neo4j.cypher.internal.commands.expressions.{Entity, Expression} +import org.neo4j.cypher.internal.commands.expressions.{Identifier, Expression} abstract class AggregateTest { def createAggregator(inner: Expression): AggregationFunction def aggregateOn(values: Any*): Any = { - val func = createAggregator(Entity("x")) + val func = createAggregator(Identifier("x")) values.foreach(value => { func(Map("x" -> value)) diff --git a/cypher/src/test/scala/org/neo4j/cypher/internal/pipes/matching/MatchingContextTest.scala b/cypher/src/test/scala/org/neo4j/cypher/internal/pipes/matching/MatchingContextTest.scala index 08c6f23c6..7640ff7f9 100644 --- a/cypher/src/test/scala/org/neo4j/cypher/internal/pipes/matching/MatchingContextTest.scala +++ b/cypher/src/test/scala/org/neo4j/cypher/internal/pipes/matching/MatchingContextTest.scala @@ -23,11 +23,11 @@ import org.scalatest.Assertions import org.neo4j.cypher.GraphDatabaseTestBase import org.neo4j.graphdb.{Node, Direction} import org.neo4j.cypher.internal.commands._ -import expressions.Entity +import expressions.Identifier import expressions.Literal import expressions.Property import expressions.RelationshipFunction -import expressions.{Entity, RelationshipFunction, Literal, Property} +import expressions.{Identifier, RelationshipFunction, Literal, Property} import org.junit.{Before, Test} import org.neo4j.cypher.internal.symbols._ import collection.Map @@ -498,7 +498,7 @@ class MatchingContextTest extends GraphDatabaseTestBase with Assertions with Pat relate(a, b, "rel", Map("foo" -> "bar")) relate(b, c, "rel", Map("foo" -> "notBar")) - val pred = AllInIterable(RelationshipFunction(Entity("p")), "r", Equals(Property("r", "foo"), Literal("bar"))) + val pred = AllInIterable(RelationshipFunction(Identifier("p")), "r", Equals(Property("r", "foo"), Literal("bar"))) val patterns = Seq(VarLengthRelatedTo("p", "a", "b", Some(2), Some(2), Seq(), Direction.OUTGOING, None, true, pred)) val matchingContext = createMatchingContextWithNodes(patterns, Seq("a")) @@ -522,7 +522,7 @@ class MatchingContextTest extends GraphDatabaseTestBase with Assertions with Pat val relIdentifiers2 = rels.map(_ ->RelationshipType()) val identifiers2 = (nodeIdentifiers2++relIdentifiers2).toMap - val symbols2 = new SymbolTable2(identifiers2) + val symbols2 = new SymbolTable(identifiers2) new MatchingContext(symbols2, predicates, buildPatternGraph(symbols2, patterns)) } diff --git a/cypher/src/test/scala/org/neo4j/cypher/internal/symbols/SymbolTableTest.scala b/cypher/src/test/scala/org/neo4j/cypher/internal/symbols/SymbolTableTest.scala index bff30cbbb..4b7d626c5 100644 --- a/cypher/src/test/scala/org/neo4j/cypher/internal/symbols/SymbolTableTest.scala +++ b/cypher/src/test/scala/org/neo4j/cypher/internal/symbols/SymbolTableTest.scala @@ -25,7 +25,7 @@ import org.scalatest.Assertions import org.neo4j.cypher.internal.commands.expressions.{Expression, Add} import collection.Map -class SymbolTable2Test extends Assertions { +class SymbolTableTest extends Assertions { @Test def anytype_is_ok() { //given val s = createSymbols("p" -> PathType()) @@ -104,8 +104,8 @@ class SymbolTable2Test extends Assertions { } - def createSymbols(elems: (String, CypherType)*): SymbolTable2 = { - new SymbolTable2(elems.toMap) + def createSymbols(elems: (String, CypherType)*): SymbolTable = { + new SymbolTable(elems.toMap) } } @@ -116,7 +116,7 @@ class FakeExpression(typ: CypherType) extends Expression { def filter(f: (Expression) => Boolean): Seq[Expression] = null - def calculateType(symbols: SymbolTable2) = typ + def calculateType(symbols: SymbolTable) = typ def symbolTableDependencies = Set() }