From d7ac33b5707ff5cb6c588c55df47b1aed0f6018a Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 4 Dec 2024 09:45:37 +0000 Subject: [PATCH] Apply feedback from review (#230) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Louise Söderström --- modules/ROOT/pages/errors/all-errors.adoc | 21 +------------- modules/ROOT/pages/errors/gql-errors.adoc | 2 +- modules/ROOT/pages/errors/index.adoc | 28 +++++++++---------- .../notifications/all-notifications.adoc | 2 +- 4 files changed, 17 insertions(+), 36 deletions(-) diff --git a/modules/ROOT/pages/errors/all-errors.adoc b/modules/ROOT/pages/errors/all-errors.adoc index 8e119cc..b8fa554 100644 --- a/modules/ROOT/pages/errors/all-errors.adoc +++ b/modules/ROOT/pages/errors/all-errors.adoc @@ -4,26 +4,7 @@ [[neo4j-errors]] = List of Neo4j error codes -This page lists the current Neo4j error codes, which which are returned along side xref:errors/gql-errors.adoc[GQLSTATUS error codes]. - -Error codes are returned by the server when the execution of a query fails. -They always have the severity level `ERROR`. -Errors are grouped based on the type of the Neo4j code: - -Client errors:: -These errors are caused by the client (user input or user application) and are usually related to the request itself. -The Neo4j codes for client errors have the prefix `Neo.ClientError`. - -Transient errors:: -These errors are detected by the server and are usually related to some kind of database unavailability, such as limits reached, out-of-memory, timeouts, etc. -The error can be temporary, and the request could succeed if retried. -The Neo4j codes for transient errors have the prefix `Neo.TransientError`. - -Database errors:: -These errors are caused by the database and are usually related to the database state. -The Neo4j codes for database errors have the prefix `Neo.DatabaseError`. - -This page contains lists of all Neo4j errors, grouped by type. +This page lists the current Neo4j error codes, which which are returned along side xref:errors/gql-errors.adoc[GQLSTATUS error codes], grouped by type. == Client errors diff --git a/modules/ROOT/pages/errors/gql-errors.adoc b/modules/ROOT/pages/errors/gql-errors.adoc index 6e81035..6fd6411 100644 --- a/modules/ROOT/pages/errors/gql-errors.adoc +++ b/modules/ROOT/pages/errors/gql-errors.adoc @@ -9,7 +9,7 @@ All errors in Neo4j have severity level `ERROR`. [WARNING] ==== -Please note that while GQLSTATUS codes remain stable, the status descriptions associated with these codes may change over time. +Please note that while GQLSTATUS codes remain stable (any changes to them will be breaking), changes to status descriptions associated with these codes are not breaking and may happen at any time. For this reason, parsing the status descriptions or incorporating them into scripts is not recommended. ==== diff --git a/modules/ROOT/pages/errors/index.adoc b/modules/ROOT/pages/errors/index.adoc index 6056329..8d559c6 100644 --- a/modules/ROOT/pages/errors/index.adoc +++ b/modules/ROOT/pages/errors/index.adoc @@ -3,7 +3,7 @@ = Server errors Neo4j returns a server error to indicate that the outcome of a Cypher query or command execution is unsuccessful. -The driver receives these erors and sends them to the Neo4j tools (e.g. Browser, Bloom, Cypher Shell) or the user application, which display them to the user. +The driver receives these errors and sends them to the Neo4j tools (e.g. Browser, Bloom, Cypher Shell) or the user application, which display them to the user. Starting from version 5.26, the Neo4j error codes have an additional GQL-status object along with the Neo4j exception that provides information about the status of a Cypher query or command execution in compliance with the link:https://www.iso.org/standard/76120.html[ISO/IEC 39075:2024(en) - Information technology - Database languages - GQL Standard]. This additional GQL-status object is also displayed in the query log from Neo4j 5.25 onwards. @@ -44,8 +44,8 @@ Each GQL-status object consists of the following fields: a| A 5-character string that is the concatenation of a 2-character class code followed by a 3-character subclass code, which identifies the condition of the error. |StatusDescription a| A human-readable description of the GQLSTATUS, which consists of a condition, a subcondition, and an optional additional text about the condition. -The condition and subcondition are textual representations of the class and subclass codes, respectively. The format is `error: condition - subcondition. AdditionalInfo`. +The condition and subcondition are textual representations of the class and subclass codes, respectively. The subcondition for the subclass 000 is empty. | DiagnosticRecord a| Extra information about the status, given as key-value pairs, both on the server and driver side. @@ -225,30 +225,30 @@ h| Driver 5.25 or older h| Driver 5.26 or newer h| Server 5.24 or older -| Bolt: old format +| Bolt: existing error information -Query log: old format +Query log: existing error information -| Bolt: new format with default values +| Bolt: additional GQL-status object with default values -Query log: old format +Query log: existing error information h| Server 5.25 -| Bolt: old format +| Bolt: existing error information -Query log: new format -| Bolt: new format with default values +Query log: additional errorInfo entry +| Bolt: additional GQL-status object with default values -Query log: new format +Query log: additional errorInfo entry h| Server 5.26 or newer -| Bolt: old format +| Bolt: existing error information -Query log: new format +Query log: additional errorInfo entry -| Bolt: new format +| Bolt: additional GQL-status object -Query log: new format +Query log: additional errorInfo entry |=== diff --git a/modules/ROOT/pages/notifications/all-notifications.adoc b/modules/ROOT/pages/notifications/all-notifications.adoc index 09f1401..8d3d418 100644 --- a/modules/ROOT/pages/notifications/all-notifications.adoc +++ b/modules/ROOT/pages/notifications/all-notifications.adoc @@ -17,7 +17,7 @@ The following page provides an overview of all notifications in Neo4j, including [WARNING] ==== -Please note that while GQLSTATUS codes remain stable, the status descriptions associated with these codes may change over time. +Please note that while GQLSTATUS codes remain stable (any changes to them will be breaking), changes to status descriptions associated with these codes are not breaking and may happen at any time. For this reason, parsing the status descriptions or incorporating them into scripts is not recommended. ====