objectisolateAggregation extends Rewriter with Product with Serializable
This rewriter makes sure that aggregations are on their own in RETURN/WITH clauses, so
the planner can have an easy time
Example:
MATCH (n)
RETURN { name: n.name, count: count(*) }, n.foo
This query has a RETURN clause where the single expression contains both the aggregate key and
the aggregation expression. To make the job easier on the planner, this rewrite will change the query to:
MATCH (n)
WITH n.name AS x1, count(*) AS x2, n.foo as X3
RETURN { name: x1, count: x2 }
Linear Supertypes
Serializable, Serializable, Product, Equals, (AnyRef) ⇒ AnyRef, AnyRef, Any
This rewriter makes sure that aggregations are on their own in RETURN/WITH clauses, so the planner can have an easy time
Example:
MATCH (n) RETURN { name: n.name, count: count(*) }, n.foo
This query has a RETURN clause where the single expression contains both the aggregate key and the aggregation expression. To make the job easier on the planner, this rewrite will change the query to:
MATCH (n) WITH n.name AS x1, count(*) AS x2, n.foo as X3 RETURN { name: x1, count: x2 }