diff --git a/antora.yml b/antora.yml index 33cb13c6..eec141cf 100644 --- a/antora.yml +++ b/antora.yml @@ -1,12 +1,12 @@ name: status-codes title: Status Codes for Errors & Notifications -version: '2025.05' +version: '2025.06' start_page: ROOT:index.adoc nav: - modules/ROOT/content-nav.adoc asciidoc: attributes: page-origin-private: false - neo4j-version: '2025.05' - neo4j-version-exact: '2025.05.0' - neo4j-buildnumber: '2025.05' + neo4j-version: '2025.06' + neo4j-version-exact: '2025.06.0' + neo4j-buildnumber: '2025.06' diff --git a/modules/ROOT/content-nav.adoc b/modules/ROOT/content-nav.adoc index c2213cdb..78d96bfc 100644 --- a/modules/ROOT/content-nav.adoc +++ b/modules/ROOT/content-nav.adoc @@ -151,6 +151,8 @@ **** xref:errors/gql-errors/22NB7.adoc[] **** xref:errors/gql-errors/22NB8.adoc[] **** xref:errors/gql-errors/22NB9.adoc[] +**** xref:errors/gql-errors/22NBA.adoc[] +**** xref:errors/gql-errors/22NBC.adoc[] *** xref:errors/gql-errors/index.adoc#invalid-transaction-state[Invalid transaction state] **** xref:errors/gql-errors/25G02.adoc[] **** xref:errors/gql-errors/25N01.adoc[] @@ -251,6 +253,7 @@ **** xref:errors/gql-errors/42I59.adoc[] **** xref:errors/gql-errors/42I60.adoc[] **** xref:errors/gql-errors/42I61.adoc[] +**** xref:errors/gql-errors/42I62.adoc[] **** xref:errors/gql-errors/42N00.adoc[] **** xref:errors/gql-errors/42N01.adoc[] **** xref:errors/gql-errors/42N02.adoc[] @@ -353,6 +356,7 @@ **** xref:errors/gql-errors/42NA7.adoc[] **** xref:errors/gql-errors/42NA8.adoc[] **** xref:errors/gql-errors/42NA9.adoc[] +**** xref:errors/gql-errors/42NAA.adoc[] **** xref:errors/gql-errors/42NFC.adoc[] **** xref:errors/gql-errors/42NFD.adoc[] **** xref:errors/gql-errors/42NFE.adoc[] @@ -451,6 +455,7 @@ **** xref:errors/gql-errors/51N72.adoc[] **** xref:errors/gql-errors/51N73.adoc[] **** xref:errors/gql-errors/51N74.adoc[] +**** xref:errors/gql-errors/51N76.adoc[] *** xref:errors/gql-errors/index.adoc#procedure-exceptions[Procedure exceptions] **** xref:errors/gql-errors/52N01.adoc[] **** xref:errors/gql-errors/52N02.adoc[] diff --git a/modules/ROOT/pages/errors/all-errors.adoc b/modules/ROOT/pages/errors/all-errors.adoc index 32e93087..05fee878 100644 --- a/modules/ROOT/pages/errors/all-errors.adoc +++ b/modules/ROOT/pages/errors/all-errors.adoc @@ -46,9 +46,6 @@ This is a complete list of all client errors Neo4j may return, and what they mea An illegal chain of aliases has been detected. This request cannot be executed. -| Neo.ClientError.Fabric.AccessMode -| The request could not be completed due to an access mode violation - | Neo.ClientError.General.ForbiddenOnReadOnlyDatabase | This is a read-only database, writing or modifying the database is not allowed. @@ -421,9 +418,6 @@ This is a complete list of all database errors Neo4j may return, and what they m | Neo.DatabaseError.Database.Unknown | Unknown database management error. -| Neo.DatabaseError.Fabric.RemoteExecutionFailed -| The database was unable to execute a remote part of the statement. - | Neo.DatabaseError.General.IndexCorruptionDetected | The request (directly or indirectly) referred to an index that is in a failed state. diff --git a/modules/ROOT/pages/errors/gql-errors/08N19.adoc b/modules/ROOT/pages/errors/gql-errors/08N19.adoc index 01836a70..9df37cb9 100644 --- a/modules/ROOT/pages/errors/gql-errors/08N19.adoc +++ b/modules/ROOT/pages/errors/gql-errors/08N19.adoc @@ -1,7 +1,7 @@ = 08N19 == Status description -error: connection exception - shard execution transient error. Communication with shard `{ <> }` failed. with message `{ <> }`. +error: connection exception - shard execution transient error. Communication with shard `{ <> }` failed with message `{ <> }`. ifndef::backend-pdf[] diff --git a/modules/ROOT/pages/errors/gql-errors/08N20.adoc b/modules/ROOT/pages/errors/gql-errors/08N20.adoc index 6c49f46b..cdcaa4d4 100644 --- a/modules/ROOT/pages/errors/gql-errors/08N20.adoc +++ b/modules/ROOT/pages/errors/gql-errors/08N20.adoc @@ -1,7 +1,7 @@ = 08N20 == Status description -error: connection exception - shard execution database error. Communication with shard `{ <> }` failed. with message `{ <> }`. +error: connection exception - shard execution database error. Communication with shard `{ <> }` failed with message `{ <> }`. ifndef::backend-pdf[] diff --git a/modules/ROOT/pages/errors/gql-errors/08N21.adoc b/modules/ROOT/pages/errors/gql-errors/08N21.adoc index ec61d507..cc09cc53 100644 --- a/modules/ROOT/pages/errors/gql-errors/08N21.adoc +++ b/modules/ROOT/pages/errors/gql-errors/08N21.adoc @@ -1,7 +1,7 @@ = 08N21 == Status description -error: connection exception - shard execution client error. Communication with shard `{ <> }` failed. with message `{ <> }`. +error: connection exception - shard execution client error. Communication with shard `{ <> }` failed with message `{ <> }`. ifndef::backend-pdf[] diff --git a/modules/ROOT/pages/errors/gql-errors/22NBA.adoc b/modules/ROOT/pages/errors/gql-errors/22NBA.adoc new file mode 100644 index 00000000..32995052 --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/22NBA.adoc @@ -0,0 +1,27 @@ += 22NBA + +== Status description + +error: data exception - omitting mandatory field for property type constraints for vectors. Property type constraints for vectors need to define both coordinate type and dimension. + +== Example scenario + +For example, try to create a property type constraint for a vector, omitting the dimension: + +[source,cypher] +---- +CREATE CONSTRAINT myConstraint +FOR (n:Label) +REQUIRE n.prop IS :: VECTOR +---- + +You will receive an error with GQLSTATUS xref:errors/gql-errors/50N11.adoc[50N11]. +This error has a cause detailed in xref:errors/gql-errors/22N90.adoc[22N90], which also has a subsequent cause with GQLSTATUS 22NBA and the status description above. + + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] \ No newline at end of file diff --git a/modules/ROOT/pages/errors/gql-errors/22NBC.adoc b/modules/ROOT/pages/errors/gql-errors/22NBC.adoc new file mode 100644 index 00000000..600270ba --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/22NBC.adoc @@ -0,0 +1,21 @@ += 22NBC + +== Status description + +error: data exception - index belongs to constraint. Index belongs to constraint `{ <> }`. + +== Scenario + +This error code is used when the user tries drop an index belonging to a constraint. + +== Possible solution + +Drop the constraint instead. + + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] \ No newline at end of file diff --git a/modules/ROOT/pages/errors/gql-errors/42I62.adoc b/modules/ROOT/pages/errors/gql-errors/42I62.adoc new file mode 100644 index 00000000..62e49f68 --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/42I62.adoc @@ -0,0 +1,11 @@ += 42I62 + +== Status description +error: syntax error or access rule violation - unsupported distance metric. Unknown distance metric: `{ <> }`. + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] \ No newline at end of file diff --git a/modules/ROOT/pages/errors/gql-errors/42N39.adoc b/modules/ROOT/pages/errors/gql-errors/42N39.adoc index 3b046491..c6952bff 100644 --- a/modules/ROOT/pages/errors/gql-errors/42N39.adoc +++ b/modules/ROOT/pages/errors/gql-errors/42N39.adoc @@ -3,7 +3,7 @@ = 42N39 == Status description -error: syntax error or access rule violation - incompatible return column names. All `{<>}` must have the same return column names. Use `AS` to ensure columns have the same name. +error: syntax error or access rule violation - incompatible return column names. All `{ <> }` must have the same return column names. Use `AS` to ensure columns have the same name. ifndef::backend-pdf[] [discrete.glossary] diff --git a/modules/ROOT/pages/errors/gql-errors/42NAA.adoc b/modules/ROOT/pages/errors/gql-errors/42NAA.adoc new file mode 100644 index 00000000..9e2f9572 --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/42NAA.adoc @@ -0,0 +1,63 @@ += 42NAA + +== Status description +error: syntax error or access rule violation - incorrectly formatted graph reference. Incorrectly formatted graph reference `{ <> }`. Expected a single quoted or unquoted identifier. Separate name parts should not be quoted individually. + +== Explanation +As of Cypher 25, database names and aliases cannot include name parts that are quoted individually. +Either the whole name must be quoted, or the whole name must be unquoted. +A recommended approach, which is consistent between different commands and Cypher versions, is to send in the database name or alias as a parameter rather than a string literal. + +== Example scenario +For example, try to create a database with using the following Cypher 25 command: + +[source,cypher] +---- +CYPHER 25 CREATE ALIAS `foo`.`bar` FOR DATABASE baz +---- + +An error will be thrown with GQLSTATUS 42NAA and the following status description: + +[source] +---- +error: syntax error or access rule violation - incorrectly formatted graph reference. Incorrectly formatted graph reference '`foo`.`bar`'. Expected a single quoted or unquoted identifier. Separate name parts should not be quoted individually. +---- + +== Possible solutions + +To resolve this issue, the preferred way is to replace the alias name with a parameter: + +.Parameters +[source, parameters] +---- +{ + "aliasName": "foo.bar" +} +---- + +.Query +[source, cypher] +---- +CREATE ALIAS $aliasName FOR DATABASE baz +---- + +Alternatively, if you use a string literal, the correct quoting for Cypher 25 will either be + +[source,cypher] +---- +CYPHER 25 CREATE ALIAS `foo.bar` FOR DATABASE baz +---- + +or + +[source,cypher] +---- +CYPHER 25 CREATE ALIAS foo.bar FOR DATABASE baz +---- + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] diff --git a/modules/ROOT/pages/errors/gql-errors/51N31.adoc b/modules/ROOT/pages/errors/gql-errors/51N31.adoc index f26d753f..376080c6 100644 --- a/modules/ROOT/pages/errors/gql-errors/51N31.adoc +++ b/modules/ROOT/pages/errors/gql-errors/51N31.adoc @@ -1,8 +1,10 @@ +:page-role: changed-2025.06 + = 51N31 == Status description -error: system configuration or operation exception - not supported. `{ <> }` is not supported in `{ <> }`. +error: system configuration or operation exception - not supported. `{ <> }` is not supported in `{ <> }`. ifndef::backend-pdf[] diff --git a/modules/ROOT/pages/errors/gql-errors/51N41.adoc b/modules/ROOT/pages/errors/gql-errors/51N41.adoc index d6bf25db..a6534876 100644 --- a/modules/ROOT/pages/errors/gql-errors/51N41.adoc +++ b/modules/ROOT/pages/errors/gql-errors/51N41.adoc @@ -1,7 +1,7 @@ = 51N41 == Status description -error: system configuration or operation exception - admin operation failed. Server or database admin operation not possible. +error: system configuration or operation exception - admin operation failed. Server or database admin operation not possible. Reason: `{ <> }` ifndef::backend-pdf[] [discrete.glossary] diff --git a/modules/ROOT/pages/errors/gql-errors/51N76.adoc b/modules/ROOT/pages/errors/gql-errors/51N76.adoc new file mode 100644 index 00000000..b6249cab --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/51N76.adoc @@ -0,0 +1,16 @@ += 51N76 + + +== Status description +error: system configuration or operation exception - upgrade failed. The upgrade to a new Neo4j version failed. + +== Explanation +This error code can occur during a Neo4j upgrade to a new version in the rare case when something in the user's setup or DBMS environment prevents the upgrade. +The error will be accompanied by a cause with a more concrete GQLSTATUS, describing what the user needs to change before retrying the upgrade. + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] diff --git a/modules/ROOT/pages/errors/gql-errors/index.adoc b/modules/ROOT/pages/errors/gql-errors/index.adoc index 0f7cfcd9..e1e914d4 100644 --- a/modules/ROOT/pages/errors/gql-errors/index.adoc +++ b/modules/ROOT/pages/errors/gql-errors/index.adoc @@ -106,15 +106,15 @@ Status description:: error: connection exception - general driver database error === xref:errors/gql-errors/08N19.adoc[08N19] -Status description:: error: connection exception - shard execution transient error. Communication with shard `{ <> }` failed. with message `{ <> }`. +Status description:: error: connection exception - shard execution transient error. Communication with shard `{ <> }` failed with message `{ <> }`. === xref:errors/gql-errors/08N20.adoc[08N20] -Status description:: error: connection exception - shard execution database error. Communication with shard `{ <> }` failed. with message `{ <> }`. +Status description:: error: connection exception - shard execution database error. Communication with shard `{ <> }` failed with message `{ <> }`. === xref:errors/gql-errors/08N21.adoc[08N21] -Status description:: error: connection exception - shard execution client error. Communication with shard `{ <> }` failed. with message `{ <> }`. +Status description:: error: connection exception - shard execution client error. Communication with shard `{ <> }` failed with message `{ <> }`. [[data-exceptions]] @@ -611,6 +611,14 @@ Status description:: error: data exception - invalid Neo4j type. `{ <> }` Status description:: error: data exception - invalid inner list type. Lists cannot have `{ <> }` as an inner type in this context. +=== xref:errors/gql-errors/22NBA.adoc[22NBA] + +Status description:: error: data exception - omitting mandatory field for property type constraints for vectors. Property type constraints for vectors need to define both coordinate type and dimension. + +=== xref:errors/gql-errors/22NBC.adoc[22NBC] + +Status description:: error: data exception - index belongs to constraint. Index belongs to constraint `{ <> }`. + [[invalid-transaction-state]] == Invalid transaction state @@ -1022,6 +1030,10 @@ Status description:: error: syntax error or access rule violation - invalid glob Status description:: error: syntax error or access rule violation - missing LOOKUP INDEX function name. Missing function name for the LOOKUP INDEX. +=== xref:errors/gql-errors/42I62.adoc[42I62] + +Status description:: error: syntax error or access rule violation - unsupported distance metric. Unknown distance metric: `{ <> }`. + [role=label--changed-2025.03] === xref:errors/gql-errors/42N00.adoc[42N00] @@ -1180,7 +1192,7 @@ Status description:: error: syntax error or access rule violation - duplicate re [role=label--changed-2025.03] === xref:errors/gql-errors/42N39.adoc[42N39] -Status description:: error: syntax error or access rule violation - incompatible return column names. All `{<>}` must have the same return column names. Use `AS` to ensure columns have the same name. +Status description:: error: syntax error or access rule violation - incompatible return column names. All `{ <> }` must have the same return column names. Use `AS` to ensure columns have the same name. === xref:errors/gql-errors/42N3A.adoc[42N3A] @@ -1434,6 +1446,10 @@ Status description:: error: syntax error or access rule violation - invalid refe Status description:: error: syntax error or access rule violation - system database procedure rules. The system database supports a restricted set of Cypher clauses. The supported clause structure for procedure calls is: `CALL`, `YIELD`, `RETURN`. `YIELD` and `RETURN` clauses are optional. The order of the clauses is fixed and each can only occur once. +=== xref:errors/gql-errors/42NAA.adoc[42NAA] + +Status description:: error: syntax error or access rule violation - incorrectly formatted graph reference. Incorrectly formatted graph reference `{ <> }`. Expected a single quoted or unquoted identifier. Separate name parts should not be quoted individually. + === xref:errors/gql-errors/42NFC.adoc[42NFC] Status description:: error: syntax error or access rule violation - auth info validation error. Authentication and/or authorization could not be validated. See security logs for details. @@ -1661,9 +1677,10 @@ Status description:: error: system configuration or operation exception - not su Status description:: error: system configuration or operation exception - not supported with this configuration. `{ <> }` is not supported in `{ <> }`. +[role=label--changed-2025.06] === xref:errors/gql-errors/51N31.adoc[51N31] -Status description:: error: system configuration or operation exception - not supported. `{ <> }` is not supported in `{ <> }`. +Status description:: error: system configuration or operation exception - not supported. `{ <> }` is not supported in `{ <> }`. === xref:errors/gql-errors/51N32.adoc[51N32] @@ -1703,7 +1720,7 @@ Status description:: error: system configuration or operation exception - unable === xref:errors/gql-errors/51N41.adoc[51N41] -Status description:: error: system configuration or operation exception - admin operation failed. Server or database admin operation not possible. +Status description:: error: system configuration or operation exception - admin operation failed. Server or database admin operation not possible. Reason: `{ <> }` === xref:errors/gql-errors/51N43.adoc[51N43] @@ -1833,6 +1850,10 @@ Status description:: error: system configuration or operation exception - transa Status description:: error: system configuration or operation exception - maximum number of transactions reached. Failed to start a new transaction. The limit of concurrent transactions is reached. Increase the number of concurrent transactions using `{ <> }` in the neo4j.conf file. +=== xref:errors/gql-errors/51N76.adoc[51N76] + +Status description:: error: system configuration or operation exception - upgrade failed. The upgrade to a new Neo4j version failed. + [[procedure-exceptions]] == Procedure exceptions diff --git a/modules/ROOT/pages/notifications/all-notifications.adoc b/modules/ROOT/pages/notifications/all-notifications.adoc index 8953e9d3..6247bda9 100644 --- a/modules/ROOT/pages/notifications/all-notifications.adoc +++ b/modules/ROOT/pages/notifications/all-notifications.adoc @@ -1218,39 +1218,63 @@ The query contains an aggregation function that skips null values. ====== ===== -[#_unsupported_notifications] -== `UNSUPPORTED` notifications +[#_deprecated_notifications] +== `DEPRECATION` notifications -Unsupported notifications are returned when the query or command is trying to use features that are not supported by the current system or using experimental features that should not be used in production. +Deprecation notifications contain information about a feature or functionality that has been deprecated. +It is important to change to the new functionality, otherwise, the query might break in a future version. -[#_neo_clientnotification_statement_runtimeunsupportedwarning] -=== Unsupported runtime +[#_neo_clientnotification_statement_featuredeprecated] +=== Feature deprecated .Notification details [cols="<1s,<4"] |=== |Neo4j code -m|Neo.ClientNotification.Statement.RuntimeUnsupportedWarning +m|Neo.ClientNotification.Statement.FeatureDeprecationWarning |Title -a|This query is not supported by the chosen runtime. -|Description -|Selected runtime is unsupported for this query, please use a different runtime instead or fallback to default. -(`%s`) +a|This feature is deprecated and will be removed in future versions. +|Descriptions +a| +- The procedure has a deprecated field. (`%s`) +- The function has a deprecated field. (`%s`) +- Creating an entity (`%s`) and referencing that entity in a property definition in the same CREATE is deprecated. +- Merging an entity (`%s`) and referencing that entity in a property definition in the same MERGE is deprecated. +- The Unicode character `%s` is deprecated for unescaped identifiers and will be considered as a whitespace character in the future. +To continue using it, escape the identifier by adding backticks around the identifier `%s`. +- The character with the Unicode representation `%s` is deprecated for unescaped identifiers and will not be supported in the future. +To continue using it, escape the identifier by adding backticks around the identifier `%s`. +- All subqueries in a `UNION [ALL]` should have the same ordering for the return columns. +[NOTE] +In versions 5.5 to 5.25, using differently ordered return items in a `UNION [ALL]` clause is deprecated. +However, starting from version 5.26, the deprecation has been withdrawn following cost-benefit analysis and valuable user feedback. +- label:deprecated[Deprecated from 5.26 to 2025.05] Databases and aliases with unescaped `.` are deprecated unless the dots indicate that they belong to a composite database. +Names containing `.` should be escaped. (`%s`) +[NOTE] +Databases and aliases with unescaped `.` are deprecated in versions 5.26 to 2025.05. +However, starting from version 2025.06, this deprecation has been withdrawn, and replaced by two new deprecations. +The reason for this change is that the previous quoting rules have been found inconsistent and ambiguous, and will be improved starting from Cypher 25. +For more information, see: + +* <<_graph_reference_deprecation,Using separately backticked name parts in graph references>> +* <<_graph_reference_deprecation_use,Using separately backticked name parts in graph references in USE clause>> +* link:https://neo4j.com/docs/cypher-manual/25/values-and-types/graph-references[Cypher manual -> Graph references]. +- label:deprecated[Deprecated in 2025.06] Graph references with separately backticked name parts (`%s`) are deprecated. In future Cypher versions, use parameters or backtick the entire name (`%s`). +- label:deprecated[Deprecated in 2025.06] Graph references with separately backticked name parts (`%s`) are deprecated. In future Cypher versions, remove the backticks (`%s`). |Category -m|UNSUPPORTED +m|DEPRECATION |GQLSTATUS code -m|01N40 +m|01N00 |Status description -a|warn: unsupported runtime. -The query cannot be executed with `{ <>1 }`, `{ <>2 }` is used. -Cause: `{ <> }`. +a|warn: feature deprecated. `{ <> }` |Classification -m|UNSUPPORTED +m|DEPRECATION |SeverityLevel m|WARNING |=== -.A runtime is not supported by a Cypher command +[[_graph_reference_deprecation]] +.Using separately backticked name parts in graph references [.tabbed-example] ===== [.include-with-GQLSTATUS-code] @@ -1259,136 +1283,113 @@ Query:: + [source,cypher] ---- -EXPLAIN CYPHER runtime=pipelined SHOW INDEXES YIELD * +CYPHER 5 CREATE ALIAS `foo`.`bar` FOR DATABASE ... ---- Returned GQLSTATUS code:: -01N40 +01N00 Returned status description:: -warn: unsupported runtime. -The query cannot be executed with `runtime=pipelined`, `runtime=slotted` is used. -Cause: Pipelined does not yet support the plans including `ShowIndexes`, use another runtime. +warn: feature deprecated. +Graph references with separately backticked name parts (\`foo`.\`bar`) are deprecated. In future Cypher versions, use parameters or backtick the entire name (\`foo.bar`). Suggestions for improvement:: -Use a different runtime or remove the runtime option to run the query with the default runtime: +In newer Cypher versions, either the whole graph reference name should be backticked or it should be sent in as a parameter. ++ +[source,cypher] +---- +CYPHER 25 CREATE ALIAS `foo.bar` FOR DATABASE ... +---- + [source,cypher] ---- -SHOW INDEXES YIELD * +CYPHER 25 CREATE ALIAS $param FOR DATABASE ... ---- +For more information on the semantics of graph references, see link:https://neo4j.com/docs/cypher-manual/25/values-and-types/graph-references[Cypher manual -> Graph references]. + ====== [.include-with-neo4j-code] ====== - Query:: + [source,cypher] ---- -CYPHER runtime=pipelined SHOW INDEXES YIELD * +CYPHER 5 CREATE ALIAS `foo`.`bar` FOR DATABASE ... ---- Description of the returned code:: -Selected runtime is unsupported for this query, please use a different runtime instead or fallback to default. -(Pipelined does not yet support the plans including `ShowIndexes`, use another runtime.) +Graph references with separately backticked name parts (\`foo`.\`bar`) are deprecated. In future Cypher versions, use parameters or backtick the entire name (\`foo.bar`). Suggestions for improvement:: -Use a different runtime or remove the runtime option to run the query with the default runtime: +In newer Cypher versions, either the whole graph reference name should be backticked or it should be sent in as a parameter. ++ +[source,cypher] +---- +CYPHER 25 CREATE ALIAS `foo.bar` FOR DATABASE ... +---- + [source,cypher] ---- -SHOW INDEXES YIELD * +CYPHER 25 CREATE ALIAS $param FOR DATABASE ... ---- +For more information on the semantics of graph references, see link:https://neo4j.com/docs/cypher-manual/25/values-and-types/graph-references[Cypher manual -> Graph references]. ====== ===== -[role=label--deprecated-5.14] -[#_neo_clientnotification_statement_runtimeexperimental] -=== RuntimeExperimental +[[_graph_reference_deprecation_use]] +.Using separately backticked name parts in graph references in USE clause +[.tabbed-example] +===== +[.include-with-GQLSTATUS-code] +====== +Query:: ++ +[source,cypher] +---- +CYPHER 5 USE graph.byName("`a.b`.c") ... +---- -[NOTE] -==== -The usage of this notification has been removed since Neo4j 5.14. -==== +Returned GQLSTATUS code:: +01N00 -.Notification details -[cols="<1s,<4"] -|=== -|Neo4j code -m|Neo.ClientNotification.Statement.RuntimeExperimental -|Title -a|This feature is experimental and should not be used in production systems. -|Description -|You are using an experimental feature (`%s`) -|Category -m|UNSUPPORTED -|SeverityLevel -m|WARNING -|=== +Returned status description:: +warn: feature deprecated. +Graph references with separately backticked name parts (\`a.b`.\`c`) are deprecated. In future Cypher versions, remove the backticks (a.b.c). -.Use of the parallel runtime -==== +Suggestions for improvement:: +In newer Cypher versions, the backticks should be removed. ++ +[source,cypher] +---- +CYPHER 25 USE graph.byName("a.b.c") ... +---- +For more information on the semantics of graph references, see link:https://neo4j.com/docs/cypher-manual/25/values-and-types/graph-references[Cypher manual -> Graph references]. + +====== +[.include-with-neo4j-code] +====== Query:: + [source,cypher] ---- -CYPHER runtime=parallel MATCH (n) RETURN (n) +CYPHER 5 USE graph.byName("`a.b`.c") ... ---- Description of the returned code:: -You are using an experimental feature (The parallel runtime is experimental and might suffer from instability and potentially correctness issues.) +Graph references with separately backticked name parts (\`a.b`.\`c`) are deprecated. In future Cypher versions, remove the backticks (a.b.c). Suggestions for improvement:: -The parallel runtime should not be used in production. Choose another runtime or remove the option to use the default runtime: +In newer Cypher versions, the backticks should be removed. + [source,cypher] ---- -MATCH (n) RETURN (n) +CYPHER 25 USE graph.byName("a.b.c") ... ---- -==== +For more information on the semantics of graph references, see link:https://neo4j.com/docs/cypher-manual/25/values-and-types/graph-references[Cypher manual -> Graph references]. -[#_deprecated_notifications] -== `DEPRECATION` notifications - -Deprecation notifications contain information about a feature or functionality that has been deprecated. -It is important to change to the new functionality, otherwise, the query might break in a future version. - -[#_neo_clientnotification_statement_featuredeprecated] -=== Feature deprecated - -.Notification details -[cols="<1s,<4"] -|=== -|Neo4j code -m|Neo.ClientNotification.Statement.FeatureDeprecationWarning -|Title -a|This feature is deprecated and will be removed in future versions. -|Descriptions -a| -- The procedure has a deprecated field. (`%s`) -- The function has a deprecated field. (`%s`) -- Creating an entity (`%s`) and referencing that entity in a property definition in the same CREATE is deprecated. -- Merging an entity (`%s`) and referencing that entity in a property definition in the same MERGE is deprecated. -- The Unicode character `%s` is deprecated for unescaped identifiers and will be considered as a whitespace character in the future. -To continue using it, escape the identifier by adding backticks around the identifier `%s`. -- The character with the Unicode representation `%s` is deprecated for unescaped identifiers and will not be supported in the future. -To continue using it, escape the identifier by adding backticks around the identifier `%s`. -- label:new[Valid from Neo4j 5.5] All subqueries in a UNION [ALL] should have the same ordering for the return columns. -Using differently ordered return items in a UNION [ALL] clause is deprecated and will be removed in a future version. -- Databases and aliases with unescaped `.` are deprecated unless to indicate that they belong to a composite database. -Names containing `.` should be escaped. (`%s`) -|Category -m|DEPRECATION -|GQLSTATUS code -m|01N00 -|Status description -a|warn: feature deprecated. `{ <> }` -|Classification -m|DEPRECATION -|SeverityLevel -m|WARNING -|=== +====== +===== .Create a database with an unescaped name containing a dot [.tabbed-example] @@ -1441,6 +1442,20 @@ CREATE DATABASE `foo.bar` ====== ===== +[NOTE] +==== +Databases and aliases with unescaped `.` are deprecated in versions 5.26 to 2025.05. +However, starting from version 2025.06, this deprecation has been withdrawn, and replaced by two new deprecations. +The reason for this change is that the previous quoting rules have been found inconsistent and ambiguous, and will be improved starting from Cypher 25. +For more information, see: + +* <<_graph_reference_deprecation,Using separately backticked name parts in graph references>> + +* <<_graph_reference_deprecation_use,Using separately backticked name parts in graph references in USE clause>> + +* link:https://neo4j.com/docs/cypher-manual/25/values-and-types/graph-references[Cypher manual -> Graph references]. +==== + .Using differently ordered return items in a `UNION` clause [.tabbed-example] ===== @@ -1503,7 +1518,7 @@ RETURN 'val' as one, 'val' as two [NOTE] ==== -Using differently ordered return items in a UNION [ALL] clause is deprecated in versions 5.5 to 5.25. +In versions 5.5 to 5.25, using differently ordered return items in a `UNION [ALL]` clause is deprecated. However, starting from version 5.26, the deprecation has been withdrawn following cost-benefit analysis and valuable user feedback. ====