Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions modules/ROOT/content-nav.adoc
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
* xref:index.adoc[]
* xref:errors/index.adoc[]
** xref:errors/all-errors.adoc[]
** xref:errors/gql-errors.adoc[]
* xref:notifications/index.adoc[]
** xref:notifications/all-notifications.adoc[]
* xref:changelogs.adoc[]
Expand Down
107 changes: 107 additions & 0 deletions modules/ROOT/pages/errors/gql-errors.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
:description: This section describes the GQLSTATUS errors that Neo4j can return, grouped by category, and an example of when they can occur.

[[neo4j-gqlstatus-errors]]
= List of all GQLSTATUS server error codes

The following page provides an overview of all server errors in Neo4j, along with some scenarios and their possible solutions.
All errors in Neo4j have severity level `ERROR`.

* <<_connection-exceptions, Connection exceptions>>


[[_connection-exceptions]]
== Connection exceptions

The following is a list of the connection exceptions that can occur in Neo4j.

=== 08000

Notifies the client that an exception occurred during the connection.

.Error details
[cols="<1s,<4"]
|===
|GQLSTATUS code
m|0800
|Status description
a|error: connection exception
|Classification
m|CLIENT_ERROR
|===

=== 08007

Notifies the client that an exception occurred during the resolution of a transaction.

.Error details
[cols="<1s,<4"]
|===
|GQLSTATUS code
m|08007
|Status description
|error: connection exception - transaction resolution unknown.
|Classification
m|CLIENT_ERROR
|===

=== 08N00

Notifies the client that an exception occurred while trying to connect to a specified database.

.Error details
[cols="<1s,<4"]
|===
|GQLSTATUS code
m|08N00
|Status description
a|error: connection exception - unable to connect to database. Unable to connect to database `$db`. Unable to get bolt address of the leader. Check the status of the database. Retrying your request at a later time may succeed.
|Classification
m|CLIENT_ERROR
|===

=== 08N01

Notifies the client that an exception occurred while trying to write to a specified database.

.Error details
[cols="<1s,<4"]
|===
|GQLSTATUS code
m|08N01
|Status description
a|error: connection exception - unable to write to database. Unable to write to database `$db` on this server. Server-side routing is disabled. Either connect to the database leader directly or enable server-side routing by setting `$cfgSetting=true`.
|Classification
m|CLIENT_ERROR
|===

=== 08N02

Notifies the client that an exception occurred while trying to connect to a specified database.

.Error details
[cols="<1s,<4"]
|===
|GQLSTATUS code
m|08N02
|Status description
a|error: connection exception - unable to route to database. Unable to connect to database `$db`. Server-side routing is disabled. Either connect to `$db` directly, or enable server-side routing by setting `$cfgSetting=true`.
|Classification
m|CLIENT_ERROR
|===

=== 08N03

Notifies the client that an exception occurred while trying to connect to a specified database.

.Error details
[cols="<1s,<4"]
|===
|GQLSTATUS code
m|08N03
|Status description
a|error: connection exception - failed to write to graph. Failed to write to graph `$graph`. Check the defined access mode in both driver and database.
|Classification
m|CLIENT_ERROR
|===


102 changes: 86 additions & 16 deletions modules/ROOT/pages/errors/index.adoc
Original file line number Diff line number Diff line change
@@ -1,21 +1,91 @@
:description: The Neo4j error codes for Neo4j version {neo4j-version}.

[[error-codes]]
:description: The Neo4j error codes for Neo4j version.
[[neo4j-errors]]
= Server errors

Error codes are Neo4j status codes 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 error code:
[role=label--version-5.25]
[[gqlstatus-error-object]]
== GQL-status error object

[[gqlstatus-standard-defined-codes]]
=== Standard-defined GQLSTATUS codes

Client errors::
These errors are caused by the client and are usually related to the request itself.
Client errors have the prefix `Neo.ClientError`.
.Standard-defined GQLSTATUS error codes
[options="header", cols="<1s,<4"]
|===
|GQLSTATUS code | StatusDescription
| 08000 | error: connection exception
| 08007 | error: connection exception - transaction resolution unknown
| 22000 | error: data exception
| 22001 | error: data exception - string data, right truncation
| 22003 | error: data exception - numeric value out of range. The numeric value `$value` is outside the required range.
| 22004 | error: data exception - null value not allowed
| 22007 | error: data exception - invalid date, time, or datetime format
| 22008 | error: data exception - datetime field overflow
| 22011 | error: data exception - substring error
| 22012 | error: data exception - division by zero
| 22015 | error: data exception - interval field overflow
| 22018 | error: data exception - invalid character value for cast. The character value `$value` is an invalid argument for the specified cast.
| 2201E | error: data exception - invalid argument for natural logarithm. The value `$value` is an invalid argument for the specified natural logarithm.
| 2201F | error: data exception - invalid argument for power function. The value `$value` is an invalid argument for the specified power function.
| 22027 | error: data exception - trim error
| 2202F | error: data exception - array data, right truncation
| 22G02 | error: data exception - negative limit value
| 22G03 | error: data exception - invalid value type
| 22G04 | error: data exception - values not comparable
| 22G05 | error: data exception - invalid date, time, or datetime function field name
| 22G06 | error: data exception - invalid datetime function value
| 22G07 | error: data exception - invalid duration function field name
| 22G0B | error: data exception - list data, right truncation
| 22G0C | error: data exception - list element error
| 22G0F | error: data exception - invalid number of paths or groups
| 22G0H | error: data exception - invalid duration format. The duration format `$format` is invalid.
| 22G0M | error: data exception - multiple assignments to a graph element property
| 22G0N | error: data exception - number of node labels below supported minimum
| 22G0P | error: data exception - number of node labels exceeds supported maximum
| 22G0Q | error: data exception - number of edge labels below supported minimum
| 22G0R | error: data exception - number of edge labels exceeds supported maximum
| 22G0S | error: data exception - number of node properties exceeds supported maximum
| 22G0T | error: data exception - number of edge properties exceeds supported maximum
| 22G0U | error: data exception - record fields do not match
| 22G0V | error: data exception - reference value, invalid base type
| 22G0W | error: data exception - reference value, invalid constrained type
| 22G0X | error: data exception - record data, field unassignable
| 22G0Y | error: data exception - record data, field missing
| 22G0Z | error: data exception - malformed path
| 22G10 | error: data exception - path data, right truncation
| 22G11 | error: data exception - reference value, referent deleted
| 22G12 | error: data exception - invalid value type
| 22G13 | error: data exception - invalid group variable value
| 22G14 | error: data exception - incompatible temporal instant unit groups
| 25000 | error: invalid transaction state
| 25G01 | error: invalid transaction state - active GQL-transaction
| 25G02 | error: invalid transaction state - catalog and data statement mixing not supported
| 25G03 | error: invalid transaction state - read-only GQL-transaction
| 25G04 | error: invalid transaction state - accessing multiple graphs not supported
| 2D000 | error: invalid transaction termination
| 40000 | error: transaction rollback
| 40003 | error: transaction rollback - statement completion unknown
| 42000 | error: syntax error or access rule violation
| 42001 | error: syntax error or access rule violation - invalid syntax
| 42002 | error: syntax error or access rule violation - invalid reference
| 42004 | error: syntax error or access rule violation - use of visually confusable identifiers
| 42006 | error: syntax error or access rule violation - number of edge labels below supported minimum
| 42007 | error: syntax error or access rule violation - number of edge labels exceeds supported maximum
| 42008 | error: syntax error or access rule violation - number of edge properties exceeds supported maximum
| 42009 | error: syntax error or access rule violation - number of node labels below supported minimum
| 42010 | error: syntax error or access rule violation - number of node labels exceeds supported maximum
| 42011 | error: syntax error or access rule violation - number of node properties exceeds supported maximum
| 42012 | error: syntax error or access rule violation - number of node type key labels below supported minimum
| 42013 | error: syntax error or access rule violation - number of node type key labels exceeds supported maximum
| 42014 | error: syntax error or access rule violation - number of edge type key labels below supported minimum
| 42015 | error: syntax error or access rule violation - number of edge type key labels exceeds supported maximum
| G1000 | error: dependent object error
| G1001 | error: dependent object error - edges still exist
| G1002 | error: dependent object error - endpoint node is deleted
| G1003 | error: dependent object error - endpoint node not in current working graph
| G2000 | error: graph type violation
|===

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 could therefore succeed if retrying the request.
Transient errors have the prefix `Neo.TransientError`.
[[gqlstatus-neo4j-defined-codes]]
=== Neo4j-defined GQLSTATUS error codes

Database errors::
These errors are caused by the database and are usually related to the database state.
Database errors have the prefix `Neo.DatabaseError`.
8 changes: 6 additions & 2 deletions modules/ROOT/pages/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,12 @@ endif::[]

This document details all status codes that a Neo4j DBMS may return to indicate the outcome of a request.

== GQL status codes

== Format

== Neo4j status codes

=== Format

Each Neo4j status code follows the same format:

Expand All @@ -23,7 +27,7 @@ Neo.[Type].[SubType].[Name]
-----


== Types of Neo4j status codes
=== Types of Neo4j status codes

The fact that a Neo4j status code is returned by the server does not always mean there is a fatal error.
Neo4j status codes can also indicate transient problems that may go away if you retry the request.
Expand Down
25 changes: 19 additions & 6 deletions modules/ROOT/pages/notifications/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,25 @@ Additional helper methods are exposed for some useful fields.
!===
|===

=== Standard-defined GQLSTATUS notification codes

The GQL standard defines a set of GQLSTATUS codes that are used to represent successful completion, warnings, and informational messages.
The following table lists the standard-defined GQLSTATUS codes and their meanings:

.Standard-defined GQLSTATUS notification codes
[options="header", cols="<1s,<4"]
|===
|GQLSTATUS code | StatusDescription
| 00000 | note: successful completion
| 00001 | note: successful completion - omitted result
| 01000 | warn: warning
| 01004 | warn: string data, right truncation
| 01G03 | warn: graph does not exist
| 01G04 | warn: graph type does not exist
| 01G11 | warn: null value eliminated in set function
| 02000 | note: no data
| 03000 | info: informational
|===

[[general-codes-for-success]]
=== General codes for success
Expand Down Expand Up @@ -306,9 +325,3 @@ Finally, the list of poly-filled GQL-status objects is sorted according to the G
// The following table illustrates the compatibility between the different server and driver versions for both the current Notification API and the GqlStatusObject API:

// TODO





>>>>>>> gql-notifications