Skip to content

Commit 877ac80

Browse files
hvubJPryce-Aklundh
andauthored
Remove update boundary paragraph #1186 (#1187)
Removes the paragraph about the update boundary property of `WITH`. --------- Co-authored-by: Jens Pryce-Åklundh <[email protected]>
1 parent c1e6716 commit 877ac80

File tree

3 files changed

+24
-4
lines changed

3 files changed

+24
-4
lines changed

modules/ROOT/pages/appendix/gql-conformance/supported-optional.adoc

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,18 @@ These codes order the features in the table below.
9898
| xref:syntax/naming.adoc#identifier-length-limit[Naming rules and recommendations -> Identifier length limit]
9999
|
100100

101+
| GD01
102+
| Updatable graphs
103+
| xref:clauses/clause-composition.adoc#writing-clauses[Cypher clauses -> Writing clauses]
104+
| * Feature GD01 implies compliance with GQL feature GT01, "Explicit transaction commands", which states that conforming languages shall contain the following transaction control commands: `START TRANSACTION`, `ROLLBACK`, and `COMMIT`.
105+
These are not present in Cypher.
106+
However, Neo4j offers transaction management through the link:{neo4j-docs-base-uri}/create-applications[driver] transaction API.
107+
Cypher Shell also offers specific link:{neo4j-docs-base-uri}/operations-manual/current/tools/cypher-shell/#cypher-shell-commands[commands] to manage transactions.
108+
* Feature GD01 implies conformance to GQL's `<set-statement>` (subclause 13.3).
109+
GQL’s `SET` has no order dependencies because all right-hand side operations are completed before any assignments occur.
110+
However, In Cypher’s `SET`, the order of rows can affect the outcome because changes made during execution may depend on the sequence of assignments.
111+
The only way to guarantee row order in Neo4j is to use xref:clauses/order-by.adoc[`ORDER BY`].
112+
101113
| GF01
102114
| Enhanced numeric functions
103115
| xref:functions/mathematical-numeric.adoc#functions-abs[`abs()`], xref:functions/mathematical-numeric.adoc#functions-floor[`floor()`], xref:functions/mathematical-logarithmic.adoc#functions-sqrt[`sqrt()`].

modules/ROOT/pages/clauses/with.adoc

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,6 @@ Another use is to filter on aggregated values.
2525
`WITH` is used to introduce aggregates which can then be used in predicates in `WHERE`.
2626
These aggregate expressions create new bindings in the results.
2727

28-
`WITH` is also used to separate reading from updating of the graph.
29-
Every part of a query must be either read-only or write-only.
30-
When going from a writing part to a reading part, the switch must be done with a `WITH` clause.
31-
3228
image:graph_with_clause.svg[]
3329

3430
////

modules/ROOT/pages/deprecations-additions-removals-compatibility.adoc

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,18 @@ Graph name parts with special characters may require additional escaping of thos
173173

174174
Note that escaping graph names within the graph functions string argument is not supported in Cypher 5.
175175

176+
a|
177+
label:functionality[]
178+
label:updated[]
179+
[source, cypher, role="noheader"]
180+
----
181+
CREATE (:Person)
182+
MATCH (p:Person)
183+
RETURN count(p) AS count
184+
----
185+
186+
| Queries no longer require xref:clauses/with.adoc[`WITH`] to transition between reading and writing operations.
187+
176188
|===
177189

178190
=== New features

0 commit comments

Comments
 (0)