Skip to content

Commit 6e7b231

Browse files
committed
remove legacy and further updates
1 parent 07dab7d commit 6e7b231

File tree

8 files changed

+164
-149
lines changed

8 files changed

+164
-149
lines changed

README.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
= docs-status-codes
44

5-
This repository contains the AsciiDoc and other sources to build the link:{docs-uri}/status-codes[Neo4j Status Codes].
5+
This repository contains the AsciiDoc and other sources to build the link:{docs-uri}/status-codes[Status Codes for Errors & Notifications].
66

77
[[local-build]]
88
== Installation

antora.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: status-codes
2-
title: Status Codes
2+
title: Status Codes for Errors & Notifications
33
version: '5'
44
start_page: ROOT:index.adoc
55
nav:

modules/ROOT/pages/changelogs.adoc

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,18 @@
11
:description: This page lists all changes to status codes per Neo4j version.
22
= Changes to status codes per Neo4j version
33

4+
== Neo4j 5.26
5+
6+
**Changed:**
7+
Using differently ordered return items in a `UNION [ALL]` clause has been undeprecated following cost-benefit analysis and valuable user feedback.
8+
9+
== Neo4j 5.25
10+
11+
**New:**
12+
13+
Starting from 5.25, the query log includes the GQL error information under the JSON object `errorInfo`.
14+
For more information, see link:https://neo4j.com/docs/operations-manual/current/monitoring/logging/#gql-error-information[Operations Manual -> GQL error information].
15+
416
== Neo4j 5.24
517

618
**New:**

modules/ROOT/pages/errors/all-errors.adoc

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,18 @@
1-
:description: The legacy error codes for Neo4j 5.
1+
:description: The error codes for Neo4j 5.
22

33

44
[[neo4j-errors]]
5-
= List of legacy server error codes
5+
= List of Neo4j codes
66

7-
This page lists the legacy server error codes, also known as Neo4j status codes.
8-
These will be replaced by xref:errors/gql-errors.adoc[GQLSTATUS server error codes].
7+
This page lists the current Neo4j error codes, which will be replaced by xref:errors/gql-errors.adoc[GQLSTATUS error codes] in the future.
98

109
Error codes are returned by the server when the execution of a query fails.
1110
They always have the severity level `ERROR`.
1211
Errors are grouped based on the type of the Neo4j status code:
1312

1413
Client errors::
15-
These errors are caused by the client and are usually related to the request itself.
16-
The Neo4j status codes for client errors have the prefix `Neo.ClientError`.
14+
These errors are caused by the client (user input or user application) and are usually related to the request itself.
15+
The Neo4j codes for client errors have the prefix `Neo.ClientError`.
1716

1817
Transient errors::
1918
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.
@@ -33,7 +32,7 @@ This is a complete list of all client errors Neo4j may return, and what they mea
3332
[options="header", cols="<1m,<1"]
3433
|===
3534

36-
| Neo4j legacy code
35+
| Neo4j code
3736
| Description
3837

3938
| Neo.ClientError.ChangeDataCapture.InvalidIdentifier
@@ -299,7 +298,7 @@ This is a complete list of all transient errors Neo4j may return, and what they
299298
[options="header", cols="<1m,<1"]
300299
|===
301300

302-
| Neo4j legacy code
301+
| Neo4j code
303302
| Description
304303

305304
| Neo.TransientError.ChangeDataCapture.FutureIdentifier
@@ -406,7 +405,7 @@ This is a complete list of all database errors Neo4j may return, and what they m
406405
[options="header", cols="<1m,<1"]
407406
|===
408407

409-
| Neo4j legacy code
408+
| Neo4j code
410409
| Description
411410

412411
| Neo.DatabaseError.ChangeDataCapture.Disabled

modules/ROOT/pages/errors/index.adoc

Lines changed: 31 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,14 @@ The Neo4j DBMS returns a server error to indicate that the outcome of a Cypher q
66

77
Starting from version 5.25, 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].
88

9+
[NOTE]
10+
====
11+
This additional GQL-status object is currently displayed only in the query log.
12+
For more information, see link:https://neo4j.com/docs/operations-manual/current/monitoring/logging/#gql-error-information[Operations Manual -> GQL error information].
13+
====
14+
915
This page describes the GQL-status object and the Neo4j error frameworks, their structure, the objects they provide for errors, and how to interpret them.
10-
It also explains the error internals and the server-driver compatibility for both the GQLSTATUS and legacy errors.
16+
It also explains the error internals and the server-driver compatibility for both the GQLSTATUS and errors.
1117

1218
[role=label--version-5.25]
1319
[[gqlstatus-error-object]]
@@ -57,7 +63,7 @@ This wrapped object is referred to as a `cause` and used to provide additional,
5763
[[gqlstatus-neo4j-defined-codes]]
5864
== Classes of GQLSTATUS error codes
5965

60-
The Neo4j GQLSTATUS codes are divided into classes and subclasses.
66+
The GQLSTATUS codes are divided into classes and subclasses.
6167
The class code is a 2-character string that indicates the general condition of the status, such as connection exception, data exception, etc.
6268
The subclass code is a 3-character string that provides more detailed information about the condition.
6369
The Neo4j-define subclasses start with N, followed by a 2-digit number, while the ones that do not start with N are standard-defined subclasses.
@@ -88,19 +94,19 @@ The following table lists the GQLSTATUS classes and their meanings:
8894
| procedure exception
8995
|===
9096

91-
[[legacy-error-object]]
92-
== Legacy error object
97+
[[-error-object]]
98+
== Neo4j error object
9399

94-
The Neo4j legacy error object contains diagnostic information representing the *unsuccessful* outcome of a Cypher query or command execution, including severity, status code, category, description, message, and position in the query text where the error is relevant.
100+
The Neo4j error object contains diagnostic information representing the *unsuccessful* outcome of a Cypher query or command execution, including severity, status code, category, description, message, and position in the query text where the error is relevant.
95101
Depending on the application, some of the fields from the error object might not be visible.
96102

97103
The error object consists of the following fields:
98104

99-
.Neo4j legacy error object
105+
.Neo4j error object
100106
[cols="<1s,<4"]
101107
|===
102-
|Neo4j legacy code
103-
a|The Neo4j status code in the form of `Neo.[Type].[SubType].[Name]`.
108+
|Neo4j code
109+
a|The Neo4j code in the form of `Neo.[Type].[SubType].[Name]`.
104110
|Description
105111
a|The description of the specific error.
106112
|Message
@@ -114,38 +120,38 @@ Available categories are `CLIENT_ERROR`, `TRANSIENT_ERROR`, and `DATABASE_ERROR`
114120
a|(Optional) The position, given by offset, line and column, where the error is relevant in the query text.
115121
|===
116122

117-
For more information, see the xref:errors/all-errors.adoc[List of legacy server error codes].
123+
For more information, see the xref:errors/all-errors.adoc[List of Neo4j error codes].
118124

119-
[[error-grouping-and-filtering]]
120-
== Server error classification
125+
[[error-types]]
126+
== Types of server errors
121127

122128
The fact that an error is returned by the server does not always mean that it is a fatal error.
123129
Status codes can also indicate transient problems that may go away if you retry the request.
124-
The server error classification determines the effect on the transaction.
130+
The server error group determines the effect on the transaction.
125131

126-
.Server error classification
132+
.Server error types
127133
[options="header", cols="<1m,<2,<1"]
128134
|===
129135

130-
| Classification
136+
| Type
131137
| Description
132138
| Effect on the transaction
133139

134-
| xref:errors/all-errors.adoc#_client_errors[ClientError]
135-
| These errors are caused by the client and are usually related to the request itself.
140+
| ClientError
141+
| These errors are caused by the client (user input or user application) and are usually related to the request itself.
136142
Changing the request might yield a successful outcome.
137-
Legacy client errors have the prefix `Neo.ClientError`.
143+
Neo4j codes have the prefix `Neo.ClientError`, while the GQLSTATUS codes have `ErrorClassification` of type `CLIENT_ERROR`.
138144
| Rollback
139145

140-
| xref:errors/all-errors#_transient_errors[TransientError]
146+
| TransientError
141147
| 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.
142148
The error can be temporary, therefore retrying later might yield a successful outcome.
143-
Legacy transient errors have the prefix Neo.`TransientError`.
149+
Neo4j codes have the prefix Neo.`TransientError`, while the GQLSTATUS codes have `ErrorClassification` of type `TRANSIENT_ERROR`.
144150
| Rollback
145151

146-
| xref:errors/all-errors#_database_error[DatabaseError]
152+
| DatabaseError
147153
| These errors are caused by the database and are usually related to the database state and mean that the database failed to service the request.
148-
Legacy database errors have the prefix `Neo.DatabaseError`.
154+
Neo4j codes have the prefix `Neo.DatabaseError`, while the GQLSTATUS codes have `ErrorClassification` of type `DATABASE_ERROR`.
149155
| Rollback
150156

151157
|===
@@ -154,14 +160,14 @@ Legacy database errors have the prefix `Neo.DatabaseError`.
154160
== Error internals
155161

156162
Neo4j supports server errors in the form of Java exceptions.
157-
Most of these implement the `HasStatus` interface, which means they have a Neo4j status code in addition to the exception message.
163+
Most of these implement the `HasStatus` interface, which means they have a status code in addition to the exception message.
158164

159-
On the server side, an exception contains normal Java constructors and methods like `getMessage()`, `getCause()`, etc., and additionally the `status()` method from the `HasStatus` API, which returns the Neo4j status code.
165+
On the server side, an exception contains normal Java constructors and methods like `getMessage()`, `getCause()`, etc., and additionally the `status()` method from the `HasStatus` API, which returns the status code.
160166

161167
Starting from 5.25, the exceptions also get new compulsary fields for `gqlStatus`, `statusDescription`, `diagnosticRecord`, and an optional field for `cause`.
162-
The cause field is a wrapped underlying Neo4j exception, which in turn has its own GQLSTATUS, statusdescription, diagnostic record and message. +
168+
The cause field is a wrapped underlying Neo4j exception, which in turn has its own GQLSTATUS, statusdescription, diagnostic record, and message. +
163169
The `getMessage()` method is kept as Java exceptions inherently have this method.
164-
And a new classification field is added to cover the division of client errors, transient errors and database errors, which today is part of the Neo4j status code.
170+
And a new classification field is added to cover the division of client errors, transient errors, and database errors, which today is part of the Neo4j code.
165171
All of these fields construct the GQLSTATUS object, which is sent to the driver as part of the Failure Bolt message.
166172
Exactly how this looks, depends on the combination of driver and server versions.
167173
See <<server-driver-compatibility, Server-driver version compatibility>> for more information.

modules/ROOT/pages/index.adoc

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11

22
[[status-codes]]
33
ifdef::backend-pdf[]
4-
= Neo4j 5 Status Codes
4+
= Status Codes for Errors and Notifications
55
endif::[]
66
ifndef::backend-pdf[]
77
= Introduction
88
endif::[]
9-
:description: The Neo4j status codes for Neo4j version {neo4j-version}.
9+
:description: Status codes for errors and notifications Neo4j 5
1010
:neo4j-buildnumber: {neo4j-version}
1111

12-
The Neo4j 5 Status Codes manual includes all status codes that a Neo4j server may return to indicate the outcome of a Cypher request.
12+
This manual provides status codes for errors and notifications that a Neo4j server may return to indicate the result of a Cypher request.
1313

1414
Starting from 5.23 for notifications and 5.25 for errors, the Neo4j DBMS supports the GQL standard. +
1515
GQL is the new link:https://www.iso.org/home.html[ISO] International Standard query language for graph databases.
@@ -19,8 +19,6 @@ For more information, see link:https:https://neo4j.com/docs/cypher-manual/curren
1919
As part of this GQL compliance, Cypher now also includes status codes that a GQL-compliant DBMS returns to indicate the outcome of a request.
2020
For more information on the GQL-status object framework for notifications and errors, see xref:notifications/index.adoc[] and xref:errors/index.adoc[].
2121

22-
This manual details all status codes that a Neo4j DBMS may return, including both GQL-compliant and legacy Neo4j status codes.
23-
2422
ifndef::backend-pdf[]
2523
License: link:{common-license-page-uri}[Creative Commons 4.0]
2624
endif::[]

0 commit comments

Comments
 (0)