|
1 | 1 |
|
2 | 2 | [[status-codes]] |
3 | 3 | ifdef::backend-pdf[] |
4 | | -= Neo4j 5 Status Codes |
| 4 | += Status Codes for Errors and Notifications |
5 | 5 | endif::[] |
6 | 6 | ifndef::backend-pdf[] |
7 | 7 | = Introduction |
8 | 8 | endif::[] |
9 | | -:description: The Neo4j status codes for Neo4j version {neo4j-version}. |
| 9 | +:description: Status codes for errors and notifications Neo4j 5 |
10 | 10 | :neo4j-buildnumber: {neo4j-version} |
11 | 11 |
|
| 12 | +This manual covers all status codes for errors and notifications that a Neo4j server may return to indicate the result of a Cypher request. |
12 | 13 |
|
13 | | -This document details all status codes that a Neo4j DBMS may return to indicate the outcome of a request. |
| 14 | +Starting from 5.23 for notifications and 5.25 for errors, Neo4j supports the GQL standard. + |
| 15 | +GQL is the new link:https://www.iso.org/home.html[ISO] International Standard query language for graph databases. |
| 16 | +Cypher®, Neo4j’s query language, supports most mandatory and a substantial portion of the optional GQL features (as defined by the link:https://www.iso.org/standard/76120.html[ISO/IEC 39075:2024(en) - Information technology - Database languages - GQL Standard]). |
| 17 | +For more information, see link:https://neo4j.com/docs/cypher-manual/current/appendix/gql-conformance/[Cypher Manual -> GQL conformance]. |
14 | 18 |
|
15 | | -//== GQL status codes |
16 | | - |
17 | | - |
18 | | -== Neo4j status codes |
19 | | - |
20 | | -=== Format |
21 | | - |
22 | | -Each Neo4j status code follows the same format: |
23 | | - |
24 | | -[source, status code format, role="noheader"] |
25 | | ------ |
26 | | -Neo.[Type].[SubType].[Name] |
27 | | ------ |
28 | | - |
29 | | - |
30 | | -=== Types of Neo4j status codes |
31 | | - |
32 | | -The fact that a Neo4j status code is returned by the server does not always mean there is a fatal error. |
33 | | -Neo4j status codes can also indicate transient problems that may go away if you retry the request. |
34 | | -The type of the status code determines the effect on the transaction. |
35 | | - |
36 | | -.Neo4j status code types |
37 | | -[options="header", cols="<1m,<2,<1"] |
38 | | -|=== |
39 | | - |
40 | | -| Type |
41 | | -| Description |
42 | | -| Effect on the transaction |
43 | | - |
44 | | -| xref:errors/all-errors.adoc#_client_errors[ClientError] |
45 | | -| The client sent a bad request - changing the request might yield a successful outcome. |
46 | | -| Rollback |
47 | | - |
48 | | -| xref:errors/all-errors#_transient_errors[TransientError] |
49 | | -| The database cannot service the request right now, retrying later might yield a successful outcome. |
50 | | -| Rollback |
51 | | - |
52 | | -| xref:errors/all-errors#_database_error[DatabaseError] |
53 | | -| The database failed to service the request. |
54 | | -| Rollback |
55 | | - |
56 | | -| xref:notifications/index.adoc[ClientNotifications] |
57 | | -| The query execution was successful, but there are notifications about the request sent by the client. |
58 | | -| None |
59 | | - |
60 | | -|=== |
61 | | - |
62 | | -[NOTE] |
63 | | -==== |
64 | | -From version 5.23, Neo4j has a new GqlStatusObject API in addition to the existing Notification API. |
65 | | -
|
66 | | -The GqlStatusObject API provides information about the status of a Cypher query or command execution in compliance with the GQL standard. |
67 | | -It includes GQLSTATUS code, StatusDescription, and DiagnosticRecord. |
68 | | -For more information, see xref:notifications/index.adoc#gqlstatus-notification-object[GQL-status notification object]. |
69 | | -==== |
| 19 | +As part of this GQL compliance, Cypher also includes status codes that a GQL-compliant DBMS returns to indicate the outcome of a request. |
| 20 | +For more information on the GQL-status object framework for notifications and errors, see xref:notifications/index.adoc[] and xref:errors/index.adoc[]. |
70 | 21 |
|
71 | 22 | ifndef::backend-pdf[] |
72 | 23 | License: link:{common-license-page-uri}[Creative Commons 4.0] |
|
0 commit comments