diff --git a/modules/ROOT/pages/notifications/all-notifications.adoc b/modules/ROOT/pages/notifications/all-notifications.adoc index 79586373..f7c0a2f2 100644 --- a/modules/ROOT/pages/notifications/all-notifications.adoc +++ b/modules/ROOT/pages/notifications/all-notifications.adoc @@ -2021,6 +2021,584 @@ warn: feature deprecated without replacement. ====== ===== +.Using an unescaped variable named 'where' in a node pattern +[.tabbed-example] +===== +[.include-with-neo4j-code] +====== + +Query:: ++ +[source,cypher] +---- +MATCH (where {p: 5}) +RETURN where +---- + +Description of the returned code:: +'(where {p: 5})' is deprecated. It is replaced by '(++`where`++ {p: 5})'. + +Suggestions for improvement:: +To continue using variables with this name, use backticks to escape the variable name: ++ +[source,cypher] +---- +MATCH (`where` {p: 5}) +RETURN `where`.p +---- +====== + +[.include-with-GQLSTATUS-deprecated-with-replacement] +====== +Query:: ++ +[source,cypher] +---- +MATCH (where {p: 5}) +RETURN where +---- + +Returned GQLSTATUS code:: +01N01 + +Returned status description:: +warn: feature deprecated with replacement. +`(where {p: 5})` is deprecated. +It is replaced by `(++`where`++ {p: 5})`. + +Suggestions for improvement:: +To continue using variables with this name, use backticks to escape the variable name: ++ +[source,cypher] +---- +MATCH (`where` {p: 5}) +RETURN `where`.p +---- +====== +===== + +.Using an unescaped variable named 'where' in a relationship pattern +[.tabbed-example] +===== +[.include-with-neo4j-code] +====== +Query:: ++ +[source,cypher] +---- +MATCH ()-[where {p: 5}]->() +RETURN where +---- + +Description of the returned code:: +'-[where {p: 5}]-' is deprecated. It is replaced by '-[++`where`++ {p: 5}]-'. + +Suggestions for improvement:: +To continue using variables with this name, use backticks to escape the variable name: ++ +[source,cypher] +---- +MATCH ()-[`where` {p: 5}]->() +RETURN `where`.p +---- +====== + +[.include-with-GQLSTATUS-deprecated-with-replacement] +====== +Query:: ++ +[source,cypher] +---- +MATCH ()-[where {p: 5}]->() +RETURN where +---- + +Returned GQLSTATUS code:: +01N01 + +Returned status description:: +warn: feature deprecated with replacement. +`-[where {p: 5}]-` is deprecated. +It is replaced by `-[++`where`++ {p: 5}]-`. + +Suggestions for improvement:: +To continue using variables with this name, use backticks to escape the variable name: ++ +[source,cypher] +---- +MATCH ()-[`where` {p: 5}]->() +RETURN `where`.p +---- +====== +===== + +.Using an unparenthesized label expression predicate as the right-hand side operand of `+` +[.tabbed-example] +===== +[.include-with-neo4j-code] +====== +Query:: ++ +[source,cypher] +---- +MATCH (n)-[r]->(m) +WITH m, n.truthCodes AS listOfBooleans +RETURN listOfBooleans + m:A +---- + +Description of the returned code:: +'... + m:A' is deprecated. It is replaced by '... + (m:A)'. + +Suggestions for improvement:: +Parenthesize the label expression predicate on the right-hand side of `+`: ++ +[source,cypher] +---- +MATCH (n)-[r]->(m) +WITH m, n.truthCodes AS listOfBooleans +RETURN listOfBooleans + (m:A) +---- +====== + +[.include-with-GQLSTATUS-deprecated-with-replacement] +====== +Query:: ++ +[source,cypher] +---- +MATCH (n)-[r]->(m) +WITH m, n.truthCodes AS listOfBooleans +RETURN listOfBooleans + m:A +---- + +Returned GQLSTATUS code:: +01N01 + +Returned status description:: +warn: feature deprecated with replacement. +`... + m:A` is deprecated. +It is replaced by `... + (m:A)`. + +Suggestions for improvement:: +Parenthesize the label expression predicate on the right-hand side of `+`: ++ +[source,cypher] +---- +MATCH (n)-[r]->(m) +WITH m, n.truthCodes AS listOfBooleans +RETURN listOfBooleans + (m:A) +---- +====== +===== + +.Using an unparenthesized label expression predicate as the right-hand side operand of `+` +[.tabbed-example] +===== +[.include-with-neo4j-code] +====== +Query:: ++ +[source,cypher] +---- +MATCH (n)-[r]->(m) +WITH r, n.truthCodes AS listOfBooleans +RETURN listOfBooleans + r:C|D +---- + +Description of the returned code:: +'... + r:C|D' is deprecated. It is replaced by '... + (r:C|D)'. + +Suggestions for improvement:: +Parenthesize the label expression predicate on the right-hand side of `+`: ++ +[source,cypher] +---- +MATCH (n)-[r]->(m) +WITH r, n.truthCodes AS listOfBooleans +RETURN listOfBooleans + (r:C|D) +---- +====== + +[.include-with-GQLSTATUS-deprecated-with-replacement] +====== +Query:: ++ +[source,cypher] +---- +MATCH (n)-[r]->(m) +WITH r, n.truthCodes AS listOfBooleans +RETURN listOfBooleans + r:C|D +---- + +Returned GQLSTATUS code:: +01N01 + +Returned status description:: +warn: feature deprecated with replacement. +`... + r:C|D` is deprecated. +It is replaced by `... + (r:C|D)`. + +Suggestions for improvement:: +Parenthesize the label expression predicate on the right-hand side of `+`: ++ +[source,cypher] +---- +MATCH (n)-[r]->(m) +WITH r, n.truthCodes AS listOfBooleans +RETURN listOfBooleans + (r:C|D) +---- +====== +===== + +.Using an unescaped variable named `is` as a `WHEN` operand in a simple `CASE` expression +[.tabbed-example] +===== +[.include-with-neo4j-code] +====== +Query:: ++ +[source,cypher] +---- +MATCH (n) +WITH n, n.internationalStandard AS is +RETURN CASE n + WHEN is :: INTEGER THEN "ISO/IEC" + is + ELSE is +END AS standardsName +---- + +Description of the returned code:: +'WHEN is :: INTEGER' is deprecated. It is replaced by 'WHEN ++`is`++ :: INTEGER'. + +Suggestions for improvement:: +To continue using variables with this name in simple `CASE` expressions, use backticks to escape the variable name: ++ +[source,cypher] +---- +MATCH (n) +WITH n, n.internationalStandard AS `is` +RETURN CASE n + WHEN `is` :: INTEGER THEN "ISO/IEC" + `is` + ELSE `is` +END AS standardsName +---- +====== +[.include-with-GQLSTATUS-deprecated-with-replacement] +====== +Query:: ++ +[source,cypher] +---- +MATCH (n) +WITH n, n.internationalStandard AS is +RETURN CASE n + WHEN is :: INTEGER THEN "ISO/IEC" + is + ELSE is +END AS standardsName +---- + +Returned GQLSTATUS code:: +01N01 + +Returned status description:: +warn: feature deprecated with replacement. +`WHEN is pass:[::] INTEGER` is deprecated. +It is replaced by `WHEN ++`is`++ pass:[::] INTEGER`. + +Suggestions for improvement:: +To continue using variables with this name in simple `CASE` expressions, use backticks to escape the variable name: ++ +[source,cypher] +---- +MATCH (n) +WITH n, n.internationalStandard AS `is` +RETURN CASE n + WHEN `is` :: INTEGER THEN "ISO/IEC" + `is` + ELSE `is` +END AS standardsName +---- +====== +===== + +.Using an unescaped variable named `contains` in addition operations within a `WHEN` operand in a simple `CASE` expression +[.tabbed-example] +===== +[.include-with-neo4j-code] +====== +Query:: ++ +[source,cypher] +---- +MATCH p = (:A)-[:HAS]->(:B) +WITH p, size(relationships(p)) AS contains +RETURN CASE size(nodes(p)) + WHEN contains + 1 THEN "okay" + ELSE "not okay" +END AS check +---- + +Description of the returned code:: +'WHEN contains + 1 INTEGER' is deprecated. It is replaced by 'WHEN ++`contains`++ + 1 INTEGER'. + +Suggestions for improvement:: +To continue using variables with this name in simple `CASE` expressions, use backticks to escape the variable name: ++ +[source,cypher] +---- +MATCH p = (:A)-[:HAS]->(:B) +WITH p, size(relationships(p)) AS `contains` +RETURN CASE size(nodes(p)) + WHEN `contains` + 1 THEN "okay" + ELSE "not okay" +END AS check +---- +====== +[.include-with-GQLSTATUS-deprecated-with-replacement] +====== +Query:: ++ +[source,cypher] +---- +MATCH p = (:A)-[:HAS]->(:B) +WITH p, size(relationships(p)) AS contains +RETURN CASE size(nodes(p)) + WHEN contains + 1 THEN "okay" + ELSE "not okay" +END AS check +---- + +Returned GQLSTATUS code:: +01N01 + +Returned status description:: +warn: feature deprecated with replacement. +`WHEN contains + 1 INTEGER` is deprecated. +It is replaced by `WHEN ++`contains`++ + 1 INTEGER`. + +Suggestions for improvement:: +To continue using variables with this name in simple `CASE` expressions, use backticks to escape the variable name: ++ +[source,cypher] +---- +MATCH p = (:A)-[:HAS]->(:B) +WITH p, size(relationships(p)) AS `contains` +RETURN CASE size(nodes(p)) + WHEN `contains` + 1 THEN "okay" + ELSE "not okay" +END AS check +---- +====== +===== + +.Using an unescaped variable named `contains` in subtraction operations within a `WHEN` operand in a simple `CASE` expression +[.tabbed-example] +===== +[.include-with-neo4j-code] +====== +Query:: ++ +[source,cypher] +---- +MATCH p = (:A)-[:HAS]->(:B) +WITH p, size(nodes(p)) AS contains +RETURN CASE size(relationships(p)) + WHEN contains - 1 THEN "okay" + ELSE "not okay" +END AS check +---- + +Description of the returned code:: + +'WHEN contains - 1 INTEGER' is deprecated. It is replaced by 'WHEN ++`contains`++ - 1 INTEGER'. + +Suggestions for improvement:: +To continue using variables with this name in simple `CASE` expressions, use backticks to escape the variable name: ++ +[source,cypher] +---- +MATCH p = (:A)-[:HAS]->(:B) +WITH p, size(nodes(p)) AS `contains` +RETURN CASE size(relationships(p)) + WHEN `contains` - 1 THEN "okay" + ELSE "not okay" +END AS check +---- +====== +[.include-with-GQLSTATUS-deprecated-with-replacement] +====== +Query:: ++ +[source,cypher] +---- +MATCH p = (:A)-[:HAS]->(:B) +WITH p, size(nodes(p)) AS contains +RETURN CASE size(relationships(p)) + WHEN contains - 1 THEN "okay" + ELSE "not okay" +END AS check +---- + +Returned GQLSTATUS code:: +01N01 + +Returned status description:: +warn: feature deprecated with replacement. +`WHEN contains - 1 INTEGER` is deprecated. +It is replaced by `WHEN ++`contains`++ - 1 INTEGER`. + +Suggestions for improvement:: +To continue using variables with this name in simple `CASE` expressions, use backticks to escape the variable name: ++ +[source,cypher] +---- +MATCH p = (:A)-[:HAS]->(:B) +WITH p, size(nodes(p)) AS `contains` +RETURN CASE size(relationships(p)) + WHEN `contains` - 1 THEN "okay" + ELSE "not okay" +END AS check +---- +====== +===== + +.Using the `[]` operator on an unescaped variable named `in` within a `WHEN` operand in a simple `CASE` expression +[.tabbed-example] +===== +[.include-with-neo4j-code] +====== +Query:: ++ +[source,cypher] +---- +MATCH (c:Client)-[:MAKES]->(t:Transaction) +WITH t, c.ibanNumbers AS in +RETURN CASE t.ibanNumber + WHEN in[0] THEN "used main account" + ELSE "used different account" +END AS check +---- + +Description of the returned code:: + +'WHEN in[0] INTEGER' is deprecated. It is replaced by 'WHEN ++`in`++[0] INTEGER'. + +Suggestions for improvement:: +To continue using variables with this name in simple `CASE` expressions, use backticks to escape the variable name: ++ +[source,cypher] +---- +MATCH (c:Client)-[:MAKES]->(t:Transaction) +WITH t, c.ibanNumbers AS `in` +RETURN CASE t.ibanNumber + WHEN `in`[0] THEN "used main account" + ELSE "used different account" +END AS check +---- +====== +[.include-with-GQLSTATUS-deprecated-with-replacement] +====== +Query:: ++ +[source,cypher] +---- +MATCH (c:Client)-[:MAKES]->(t:Transaction) +WITH t, c.ibanNumbers AS in +RETURN CASE t.ibanNumber + WHEN in[0] THEN "used main account" + ELSE "used different account" +END AS check +---- + +Returned GQLSTATUS code:: +01N01 + +Returned status description:: +warn: feature deprecated with replacement. +`WHEN in[0] INTEGER` is deprecated. +It is replaced by `WHEN ++`in`++[0] INTEGER`. + +Suggestions for improvement:: +To continue using variables with this name in simple `CASE` expressions, use backticks to escape the variable name: ++ +[source,cypher] +---- +MATCH (c:Client)-[:MAKES]->(t:Transaction) +WITH t, c.ibanNumbers AS `in` +RETURN CASE t.ibanNumber + WHEN `in`[0] THEN "used main account" + ELSE "used different account" +END AS check +---- +====== +===== + +.Using the `[]` operator on an unescaped variable named `in` within a `WHEN` operand in a simple `CASE` expression +[.tabbed-example] +===== +[.include-with-neo4j-code] +====== +Query:: ++ +[source,cypher] +---- +MATCH (in:Client)-[:MAKES]->(t:Transaction) +RETURN CASE t.ibanNumber + WHEN in["mainAccount"] THEN "used main account" + ELSE "used different account" +END AS check +---- + +Description of the returned code:: + +'WHEN in["mainAccount"] INTEGER' is deprecated. It is replaced by 'WHEN ++`in`++["mainAccount"] INTEGER'. + +Suggestions for improvement:: +To continue using variables with this name in simple `CASE` expressions, use backticks to escape the variable name: ++ +[source,cypher] +---- +MATCH (in:Client)-[:MAKES]->(t:Transaction) +RETURN CASE t.ibanNumber + WHEN `in`["mainAccount"] THEN "used main account" + ELSE "used different account" +END AS check +---- +====== +[.include-with-GQLSTATUS-deprecated-with-replacement] +====== +Query:: ++ +[source,cypher] +---- +MATCH (in:Client)-[:MAKES]->(t:Transaction) +RETURN CASE t.ibanNumber + WHEN in["mainAccount"] THEN "used main account" + ELSE "used different account" +END AS check +---- + +Returned GQLSTATUS code:: +01N01 + +Returned status description:: +warn: feature deprecated with replacement. +`WHEN in["mainAccount"] INTEGER` is deprecated. +It is replaced by `WHEN ++`in`++["mainAccount"] INTEGER`. + +Suggestions for improvement:: +To continue using variables with this name in simple `CASE` expressions, use backticks to escape the variable name: ++ +[source,cypher] +---- +MATCH (in:Client)-[:MAKES]->(t:Transaction) +RETURN CASE t.ibanNumber + WHEN `in`["mainAccount"] THEN "used main account" + ELSE "used different account" +END AS check +---- +====== +===== + [#_deprecated-notifications-without-replacement] === Deprecated features without a future replacement