neo4j-status-codes-5
neo4j-status-codes-5
Notifications
Table of Contents
Server errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
GQL-status error object Label—version 5.25 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Classes of GQLSTATUS error codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Neo4j-status error object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Types of server errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Error internals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Query logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Server-driver version compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
List of GQLSTATUS error codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
List of Neo4j error codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Server notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
GQL-status notification object Label—version 5.23 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Neo4j-status notification object Label—deprecated 5.26 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Server notification grouping and filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Notification internals Label—deprecated 5.26 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Server-driver version compatibility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
List of notification codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Changes to status codes per Neo4j version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Neo4j 5.25 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Neo4j 5.24 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Neo4j 5.23 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Neo4j 5.17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Neo4j 5.15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Neo4j 5.14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Neo4j 5.13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Neo4j 5.9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Neo4j 5.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Neo4j 5.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Neo4j 5.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Neo4j 4.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Neo4j 4.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Neo4j 4.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Neo4j 4.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Neo4j 4.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
This manual covers all status codes for errors and notifications that a Neo4j server
may return to indicate the result of a Cypher request.
Starting from 5.23 for notifications and 5.25 for errors, Neo4j supports the GQL standard.
GQL is the new ISO International Standard query language for graph databases. Cypher®, Neo4j’s query
language, supports most mandatory and a substantial portion of the optional GQL features (as defined by
the ISO/IEC 39075:2024(en) - Information technology - Database languages - GQL Standard). For more
information, see Cypher Manual → GQL conformance.
As part of this GQL compliance, Cypher also includes status codes that a GQL-compliant DBMS returns to
indicate the outcome of a request. For more information on the GQL-status object framework for
notifications and errors, see Server notifications and Server errors.
1
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 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 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.
For more information, see Operations Manual → GQL error information.
The default GQLSTATUS code 50N42 is returned when an exception does not have a
GQL-status object. Starting from Neo4j 5.25, we started adding GQL objects to
exceptions. Therefore, you can expect many 50N42 codes during this transition period.
However, it is important not to rely on this default code, as future Neo4j versions might
change it by adding an appropriate GQL object to the exception. Additionally, GQL codes
for external procedures are not yet stable.
This page describes the GQL-status and the Neo4j-status object frameworks for errors, their structure, the
objects they provide for errors, and how to interpret them. It also explains the error internals and the
server-driver compatibility for both the GQLSTATUS and errors.
1. Every exception that results in a transaction rollback takes precedence over other exceptions.
2. Every exception takes precedence over any completion condition. For completion conditions, see the
GQL-status notification object.
The GQL-status object also includes Neo4j-specific information, such as severity level and error
classification.
GQLSTATUS code 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.
2
StatusDescription A human-readable description of the GQLSTATUS, which consists of a condition, a
subcondition, and an optional additional text about the condition. 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 Extra information about the status, given as key-value pairs, both on the server and
driver side. To retrieve the full diagnostic record, you can use the
diagnosticRecord() on the server side or the corresponding method on the driver
sides. Additional helper methods are exposed for some useful fields.
Field Description
OPERATION The operation that the error is related to. Always defaults to empty.
OPERATION_CODE The operation code that the error is related to. Always defaults to 0.
CURRENT_SCHEMA The current schema that the error is related to. Always defaults to /.
_position (Optional) The position, given by offset, line and column, where the error is
relevant in the query text.
A GQL-status error object can also contain an optional GQL-status object that represents the cause of the
error and is used to provide additional, more specific diagnostic information.
The following table lists the GQLSTATUS classes and their meanings:
Class Condition
08 connection exception
22 data exception
40 transaction rollback
3
52 procedure exception
Category The category of the error. Available categories are CLIENT_ERROR, TRANSIENT_ERROR,
and DATABASE_ERROR.
Position (Optional) The position, given by offset, line and column, where the error is relevant
in the query text.
ClientError These errors are caused by the client (user input or user Rollback
application) and are usually related to the request itself.
Changing the request might yield a successful outcome.
Neo4j codes have the prefix Neo.ClientError, while the
GQLSTATUS codes have ErrorClassification of type
CLIENT_ERROR.
4
Type Description Effect on the transaction
TransientError These errors are detected by the server and are usually Rollback
related to some kind of database unavailability, such as limits
reached, out-of-memory, timeouts, etc. The error can be
temporary, therefore retrying later might yield a successful
outcome. Neo4j codes have the prefix Neo.TransientError,
while the GQLSTATUS codes have ErrorClassification of
type TRANSIENT_ERROR.
DatabaseError These errors are caused by the database and are usually Rollback
related to the database state and mean that the database
failed to service the request. Neo4j codes have the prefix
Neo.DatabaseError, while the GQLSTATUS codes have
ErrorClassification of type DATABASE_ERROR.
Error internals
Neo4j supports server errors in the form of Java exceptions. Most of these implement the HasStatus
interface, which means they have a status code in addition to the exception message.
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.
The exceptions also get new compulsary fields for gqlStatus, statusDescription, diagnosticRecord, and
an optional field for cause. The cause field in turn has its own GQLSTATUS, status description, diagnostic
record, and message.
The getMessage() method is kept as Java exceptions inherently have this method. 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. All of these fields construct the GQLSTATUS object, which is sent to the driver as part
of the Failure Bolt message. Exactly how this looks, depends on the combination of driver and server
versions. See Server-driver version compatibility for more information.
On the driver side, the Neo4jException is extended with the corresponding methods as on the server side.
The driver receives the Failure Bolt message and extracts the status code and the error message. Then, it
constructs an exception with the status code, error message, and other relevant information, and sends it
to the client.
Query logging
Since the query log is server-side and DBMS wide, multiple clients connected to the same DBMS write to
the same query log. As the clients can have separate driver versions, they may have different error
framework formats.
In Neo4j 5.25, the default JSON template for the query log is updated to include an errorInfo entry. This
entry contains GQLSTATUS, statusDescription, classification, position (if applicable), and cause (if
applicable) with the same entries.
5
Server-driver version compatibility
The server and driver communicate with each other through the Bolt protocol. During the handshake
process, they agree on using the newest possible Bolt protocol version that both the server and the driver
support. For more information on the Bolt versions supported by different server versions, see the Bolt
Protocol documentation.
The new error framework with the additional GQL-status object for errors is available in the JSON format
query log for Neo4j server Neo4j 5.25 and later versions. It is supported over Bolt since Bolt 5.7, which
corresponds to version 5.26 or later on both server and driver side.
To fully utilize the new error framework, both your server and the driver must support it. Drivers that are
older than 5.26 will not send any GQL-status object for exceptions, even if server is 5.26 or later.
If a driver of version 5.26 or later talks to a server that is older than 5.26, the driver needs to poly-fill the
exceptions with a GQL-status object. In this case, the default GQLSTATUS code 50N42 is returned for all
exceptions.
Server 5.24 or older Bolt: existing error information Bolt: additional GQL-status object with default
values
Query log: existing error information
Query log: existing error information
Server 5.25 Bolt: existing error information Bolt: additional GQL-status object with default
values
Query log: additional errorInfo entry
Query log: additional errorInfo entry
Server 5.26 or newer Bolt: existing error information Bolt: additional GQL-status object
Query log: additional errorInfo entry Query log: additional errorInfo entry
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.
Connection exceptions
Connection exceptions occur when the client (e.g. Browser/Bloom/Cypher Shell) is unable to connect to the
server for various reasons such as network issues, server-side routing being disabled, or the database
being unavailable, etc.
6
08000
Status description
error: connection exception
08007
Status description
error: connection exception - transaction resolution unknown
08N00
Status description
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.
08N01
Status description
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'.
08N02
Status description
error: connection exception - unable to connect 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'.
08N03
Status description
error: connection exception - failed to write to graph. Failed to write to graph { $graph }. Check the
defined access mode in both driver and database.
08N04
Status description
error: unable to route use clause. Routing with { $clause } is not supported in embedded sessions.
Connect to the database directly or try running the query using a Neo4j driver or the HTTP API.
7
08N05
Status description
error: connection exception - unable to route administration command. Routing administration
commands is not supported in embedded sessions. Connect to the system database directly or try
running the query using a Neo4j driver or the HTTP API.
08N06
Status description
error: connection exception - protocol error. General network protocol error.
08N07
Status description
error: connection exception - not the leader. This member is not the leader.
08N08
Status description
error: connection exception - database is read only. This database is read only on this server.
08N09
Status description
error: connection exception - database unavailable. The database { $db } is currently unavailable.
Check the database status. Retry your request at a later time.
08N10
Status description
error: connection exception - invalid server state. Message { $msg } cannot be handled by session in
the { $boltServerState } state.
08N11
Status description
error: connection exception - request error. The request is invalid and could not be processed by the
server. See cause for further details.
08N12
Status description
error: connection exception - failed to parse bookmark. Failed to parse the supplied bookmark. Verify it
is correct or check the debug log for more information.
8
08N13
Status description
error: connection exception - database not up to requested bookmark. The database { $db } is not up
to the requested bookmark { $transactionId1 }. The latest transaction ID is { $transactionId2 }.
08N14
Status description
error: connection exception - alias chains are not permitted. Unable to provide a routing table for the
database identifed by the alias { $alias1 } because the request comes from another alias { $alias2 }
and alias chains are not permitted.
08N15
Status description
error: connection exception - no such routing policy. Policy definition of the routing policy {
$routingPolicy } could not be found. Verify that the spelling is correct.
08N16
Status description
error: connection exception - general driver client error. Remote execution failed with message { $msg
}.
08N17
Status description
error: connection exception - general driver transient error. Remote execution failed with message {
$msg }.
08N18
Status description
error: connection exception - general driver database error. Remote execution failed with message {
$msg }.
Data exceptions
Database exceptions occur when a client request contains the wrong format, types, or other unsupported
input. Some examples are data and constraint creation, which conflicts with existing constraints,
properties of non-storable type, and spatial and temporal values with invalid components.
22000
9
Status description
error: data exception
22003
Status description
error: data exception - numeric value out of range. The numeric value { $value } is outside the required
range.
22007
Status description
error: data exception - invalid date, time, or datetime format
22015
Status description
error: data exception - interval field overflow
22G03
Status description
error: data exception - invalid value type
22N00
Status description
error: data exception - unsupported value. The provided value is unsupported and cannot be processed.
22N01
Status description
error: data exception - invalid type. Expected the value { $value } to be of type { $valueTypeList },
but was of type { $valueType }.
22N02
Status description
error: data exception - specified negative numeric value. Expected { $option } to be a positive number
but found { $value } instead.
22N03
Status description
error: data exception - specified numeric value out of range. Expected { $component } to be of type {
$valueType } and in the range { $lower } to { $upper } but found { $value }.
10
22N04
Status description
error: data exception - invalid input value. Invalid input { $input } for { $context }. Expected {
$inputList }.
22N05
Status description
error: data exception - input failed validation. Invalid input { $input } for { $context }.
22N06
Status description
error: data exception - empty input string. Invalid input. { $option } needs to be specified.
22N07
Status description
error: data exception - invalid pre-parser option key. Invalid pre-parser option(s): { $optionList }.
22N08
Status description
error: data exception - invalid pre-parser combination. Invalid pre-parser option, cannot combine {
$option1 } with { $option2 }.
22N09
Status description
error: data exception - conflicting pre-parser combination. Invalid pre-parser option, cannot specify
multiple conflicting values for { $option }.
22N10
Status description
error: data exception - invalid pre-parser option value. Invalid pre-parser option, specified { $input } is
not valid for option { $option }. Valid options are: { $optionList }.
22N11
Status description
error: data exception - invalid argument. Invalid argument: cannot process { $input }.
11
22N12
Status description
error: data exception - invalid date, time, or datetime format. Invalid argument: cannot process { $input
}.
22N13
Status description
error: data exception - invalid time zone. Specified time zones must include a date component.
22N14
Status description
error: data exception - invalid temporal value combination. Cannot select both { $temporal } and {
$component }.
22N15
Status description
error: data exception - invalid temporal component. Cannot read the specified { $component }
component from { $temporal }.
22N18
Status description
error: data exception - incomplete spatial value. A { $crs } POINT must contain { $mapKeyList }.
22N19
Status description
error: data exception - invalid spatial value. A POINT must contain either 'x' and 'y', or 'latitude' and
'longitude'.
22N20
Status description
error: data exception - invalid spatial value dimensions. Cannot create POINT with { $dim1 }D
coordinate reference system (CRS) and { $value } coordinates. Use the equivalent { $dim2 }D
coordinate reference system instead.
22N22
Status description
error: data exception - invalid spatial value combination. Cannot specify both coordinate reference
system (CRS) and spatial reference identifier (SRID).
12
22N23
Status description
error: data exception - invalid latitude value. Cannot create WGS84 POINT with invalid coordinate: {
$coordinates }. The valid range for the latitude coordinate is [-90, 90].
22N24
Status description
error: data exception - invalid coordinate arguments. Cannot construct a { $valueType } from {
$coordinates }.
22N25
Status description
error: data exception - invalid temporal arguments. Cannot construct a { $valueType } from {
$temporal }.
22N26
Status description
error: data exception - unsupported rounding mode. Unknown rounding mode. Valid values are:
CEILING, FLOOR, UP, DOWN, HALF_EVEN, HALF_UP, HALF_DOWN, UNNECESSARY.
22N27
Status description
error: data exception - invalid entity type. Invalid input { $input } for { $context }. Expected to be {
$valueTypeList }.
22N28
Status description
error: data exception - overflow error. The result of the operation { $operation } has caused an
overflow.
22N32
Status description
error: data exception - non-deterministic sort expression. 'ORDER BY' expressions must be
deterministic.
22N33
Status description
error: data exception - invalid shortest path expression. Shortest path expressions must contain start
13
and end nodes. Cannot find: { $variable }.
22N35
Status description
error: data exception - invalid date format. Cannot parse { $input } as a DATE. Calendar dates need to
be specified using the format 'YYYY-MM', while ordinal dates need to be specified using the format
'YYYY-DDD'.
22N36
Status description
error: data exception - invalid temporal format. Cannot parse { $input } as a { $valueType }.
22N37
Status description
error: data exception - invalid coercion. Cannot coerce { $value } to { $valueType }.
22N38
Status description
error: data exception - invalid function argument. Invalid argument to the function { $fun }.
22N41
Status description
error: data exception - merge node uniqueness constraint violation. The 'MERGE' clause did not find a
matching node { $variable } and cannot create a new node due to conflicts with existing uniqueness
constraints.
22N42
Status description
error: data exception - merge relationship uniqueness constraint violation. The 'MERGE' clause did not
find a matching relationship { $variable } and cannot create a new relationship due to conflicts with
existing uniqueness constraints.
22N43
Status description
error: data exception - unable to load external resource. Could not load external resource from { $url
}.
14
22N44
Status description
error: data exception - parallel runtime disabled. Parallel runtime has been disabled, enable it or
upgrade to a bigger Aura instance.
22N46
Status description
error: data exception - unsupported use of parallel runtime. Parallel runtime does not support updating
queries or a change in the state of transactions. Use another runtime.
22N47
Status description
error: data exception - invalid parallel runtime configuration. No workers are configured for the parallel
runtime. Set 'server.cypher.parallel.worker_limit' to a larger value.
22N49
Status description
error: data exception - CSV buffer size overflow. Cannot read a CSV field larger than the set buffer size.
Ensure the field does not have an unterminated quote, or increase the buffer size via
'dbms.import.csv.buffer_size'.
22N51
Status description
error: data exception - database or alias does not exist. A [composite] database or alias with the name {
$db } does not exist. Verify that the spelling is correct.
22N52
Status description
error: data exception - invalid combination of PROFILE and EXPLAIN. 'PROFILE' and 'EXPLAIN' cannot
be combined.
22N53
Status description
error: data exception - invalid use of PROFILE. Cannot 'PROFILE' query before results are materialized.
22N54
Status description
error: data exception - invalid map. Multiple conflicting entries specified for { $mapKey }.
15
22N56
Status description
error: data exception - protocol message length limit overflow. Protocol message length limit exceeded
(limit: { $boltMsgLenLimit }).
22N66
Status description
error: data exception - conflicting constraint already exists. A conflicting constraint already exists: {
$constrDescrOrName }.
22N67
Status description
error: data exception - duplicated constraint name. A constraint with the same name already exists: {
$constr }.
22N69
Status description
error: data exception - index does not exist. The index specified by { $idxDescrOrName } does not exist.
22N71
Status description
error: data exception - index with the same name already exists. An index with the same name already
exists: { $idx }.
22N77
Status description
error: data exception - property presence verification failed. { $entityType } ({ $entityId }) with {
$tokenType } { $token } must have the following properties: { $propKeyList }.
22N78
Status description
error: data exception - property type verification failed. { $entityType } ({ $entityId }) with {
$tokenType } { $token } must have the property $propKey with value type { $valueType }.
22N81
Status description
error: data exception - expression type unsupported here. Invalid input: { $exprType } is not supported
in { $context }.
16
22N82
Status description
error: data exception - input contains invalid characters. Input { $input } contains invalid characters for
{ $context }. Special characters may require that the input is quoted using backticks.
22N84
Status description
error: data exception - string too long. Expected the string to be no more than { $upper } characters
long.
22N85
Status description
error: data exception - string too short. Expected the string to be at least { $lower } characters long.
22N86
Status description
error: data exception - numeric range 0 disallowed. Expected a nonzero number.
22N88
Status description
error: data exception - not a valid CIDR IP. { $input } is not a valid CIDR IP.
22N89
Status description
error: data exception - new password cannot be the same as the old password. Expected the new
password to be different from the old password.
22N90
Status description
error: data exception - property type unsupported in constraint. { $item } is not supported in property
type constraints.
22N91
Status description
error: data exception - cannot convert alias local to remote or remote to local. Failed to alter the
specified database alias { $alias }. Altering remote alias to a local alias or vice versa is not supported.
Drop and recreate the alias instead.
17
22N92
Status description
error: data exception - missing RETURN. This query requires a RETURN clause.
22N93
Status description
error: data exception - missing YIELD. A required YIELD clause is missing.
22N94
Status description
error: data exception - invalid YIELD *. 'YIELD *' is not supported in this context. Explicitly specify which
columns to yield.
22N95
Status description
error: data exception - parsing JSON exception. Invalid JSON input. Please check the format.
22N96
Status description
error: data exception - mapping JSON exception. Unable to map the JSON input. Please verify the
structure.
22N97
Status description
error: data exception - unexpected struct tag. Unexpected struct tag: { $value }.
22N98
Status description
error: data exception - wrong first field during deserialization. Unable to deserialize request. Expected
first field to be { $field }, but was '{ $value }'.
22N99
Status description
error: data exception - wrong token during deserialization. Unable to deserialize request. Expected {
$token }, found { $value }.
18
22NA0
Status description
error: data exception - invalid property based access control rule. Failed to administer property rule.
22NA4
Status description
error: data exception - invalid property based access control rule involving comparison with NULL. The
property value access rule pattern { $pred } always evaluates to 'NULL'.
22NA5
Status description
error: data exception - invalid property based access control rule involving IS NULL. The property value
access rule pattern { $pred } always evaluates to 'NULL'. Use `IS NULL' instead.
22NA6
Status description
error: data exception - invalid property based access control rule involving IS NOT NULL. The property
value access rule pattern { $pred } always evaluates to 'NULL'. Use 'IS NOT NULL' instead.
22NA8
Status description
error: data exception - parsing JSON failure. Underlying error: { $cause }.
22NB0
Status description
error: data exception - invalid property based access control rule involving WHERE and IS NULL. The
property value access rule pattern { $pred } always evaluates to 'NULL'. Use WHERE syntax in
combination with IS NULL instead.
22NB1
Status description
error: data exception - type mismatch. Type mismatch: expected to be { $valueTypeList } but was {
$input }.
19
25N01
Status description
error: invalid transaction state - invalid combination of statement types. Failed to execute the query {
$query } due to conflicting statement types (read query, write query, schema modification, or
administration command). To execute queries in the same transaction, they must be either of the same
type, or be a combination of schema modifications and read commands.
25N02
Status description
error: invalid transaction state - unable to complete transaction. Unable to complete transaction. See
debug log for details.
25N03
Status description
error: invalid transaction state - concurrent access violation. Transaction is being used concurrently by
another request.
25N04
Status description
error: invalid transaction state - specified transaction does not exist. Transaction { $transactionId }
does not exist.
25N05
Status description
error: invalid transaction state - transaction terminated or closed. The transaction has been terminated
or closed.
25N06
Status description
error: invalid transaction state - transaction start failed. Failed to start transaction. See debug log for
details.
25N08
Status description
error: invalid transaction state - invalid transaction lease. The lease for the transaction is no longer valid.
25N09
20
Status description
error: invalid transaction state - internal transaction failure. The transaction failed due to an internal
error.
25N11
Status description
error: invalid transaction state - conflicting transaction state. There was a conflict detected between the
transaction state and applied updates. Please retry the transaction.
25N12
Status description
error: invalid transaction state - index was dropped. Index { $idx } was dropped in this transaction
and cannot be used.
25N13
Status description
error: invalid transaction state - cannot access entity after removal. A { $entityType } was accessed
after being deleted in this transaction. Verify the transaction statements.
2DN01
Status description
error: invalid transaction termination - commit failed. Failed to commit transaction. See debug log for
details.
2DN02
Status description
error: invalid transaction termination - constituent commit failed. Failed to commit constituent
transaction. See debug log for details.
2DN03
Status description
error: invalid transaction termination - transaction termination failed. Failed to terminate transaction.
See debug log for details.
21
2DN04
Status description
error: invalid transaction termination - constituent transaction termination failed. Failed to terminate
constituent transaction. See debug log for details.
2DN05
Status description
error: invalid transaction termination - failed to apply transaction. There was an error on applying the
transaction. See logs for more information.
2DN06
Status description
error: invalid transaction termination - failed to append transaction. There was an error on appending
the transaction. See logs for more information.
2DN07
Status description
error: invalid transaction termination - inner transactions still open. Unable to commit transaction
because it still have non-closed inner transactions.
Transaction rollback
Transaction rollback errors occur when there is a failure in a transaction or a constituent transaction
rollback.
40000
Status description
error: transaction rollback
40003
Status description
error: transaction rollback - statement completion unknown
40N01
Status description
error: transaction rollback - rollback failed. Failed to rollback transaction. See debug log for details.
22
40N02
Status description
error: transaction rollback - constituent rollback failed. Failed to rollback constituent transaction. See
debug log for details.
42000
Status description
error: syntax error or access rule violation
42001
Status description
error: syntax error or access rule violation - invalid syntax
42002
Status description
error: syntax error or access rule violation - invalid reference
42006
Status description
error: syntax error or access rule violation - number of edge labels below supported minimum
42007
Status description
error: syntax error or access rule violation - number of edge labels exceeds supported maximum
42008
Status description
error: syntax error or access rule violation - number of edge properties exceeds supported maximum
42009
Status description
error: syntax error or access rule violation - number of node labels below supported minimum
23
42010
Status description
error: syntax error or access rule violation - number of node labels exceeds supported maximum
42011
Status description
error: syntax error or access rule violation - number of node properties exceeds supported maximum
42012
Status description
error: syntax error or access rule violation - number of node type key labels below supported minimum
42013
Status description
error: syntax error or access rule violation - number of node type key labels exceeds supported
maximum
42014
Status description
error: syntax error or access rule violation - number of edge type key labels below supported minimum
42015
Status description
error: syntax error or access rule violation - number of edge type key labels exceeds supported
maximum
42I00
Status description
error: syntax error or access rule violation - invalid case expression. 'CASE' expressions must have the
same number of 'WHEN' and 'THEN' operands.
42I01
Status description
error: syntax error or access rule violation - invalid FOREACH. Invalid use of { $clause } inside
'FOREACH'.
24
42I02
Status description
error: syntax error or access rule violation - invalid comment. Failed to parse comment. A comment
starting with '/*' must also have a closing '*/'.
42I05
Status description
error: syntax error or access rule violation - invalid FIELDTERMINATOR. The FIELDTERMINATOR
specified for LOAD CSV can only be one character wide. The FIELDTERMINATOR specified for LOAD
CSV can only be one character wide.
42I06
Status description
error: syntax error or access rule violation - invalid input. Invalid input { $input }, expected: {
$valueList }.
42I13
Status description
error: syntax error or access rule violation - invalid number of procedure or function arguments. The
procedure or function call does not provide the required number of arguments; expected { $count1 }
but got { $count2 }. The procedure or function { $procFun } has the signature: { $sig }.
42I18
Status description
error: syntax error or access rule violation - invalid reference to implicitly grouped expressions. The
aggregation column contains implicit grouping expressions referenced by the variables { $varList }.
Implicit grouping expressions are variables not explicitly declared as grouping keys.
42I20
Status description
error: syntax error or access rule violation - invalid symbol in expression. Label expressions and
relationship type expressions cannot contain { $input }. To express a label disjunction use {
$labelExpr } instead.
42I25
Status description
error: syntax error or access rule violation - invalid use of CALL IN TRANSACTIONS. 'CALL { … } IN
TRANSACTIONS' is not supported after a write clause.
25
42I29
Status description
error: syntax error or access rule violation - invalid use of IS. The IS keyword cannot be used together
with multiple labels in { $input }. Rewrite the expression as { $replacement }.
42I31
Status description
error: syntax error or access rule violation - invalid use of MATCH. 'MATCH …' cannot directly follow an
'OPTIONAL MATCH …'. Use a WITH clause between them.
42I37
Status description
error: syntax error or access rule violation - invalid use of RETURN *. 'RETURN *' is not allowed when
there are no variables in scope.
42I38
Status description
error: syntax error or access rule violation - invalid use of RETURN. 'RETURN …' can only be used at the
end of a query or subquery.
42I40
Status description
error: syntax error or access rule violation - invalid use of UNION and UNION ALL. UNION and UNION ALL
cannot be combined.
42I45
Status description
error: syntax error or access rule violation - invalid use of multiple path patterns. Multiple path patterns
cannot be used in the same clause in combination with a selective path selector. { $action }
42I47
Status description
error: syntax error or access rule violation - parser error. Parser Error: { $msg }.
42I48
Status description
error: syntax error or access rule violation - invalid use of a subquery in MERGE. Subqueries are not
allowed in a MERGE clause.
26
42I50
Status description
error: syntax error or access rule violation - token name too long. Invalid input { $input }... A {
$tokenType } name cannot be longer than { $maxTokenLength }.
42I51
Status description
info: invalid call signature. The procedure or function { $procFun } must have the signature: { $sig }.
42N00
Status description
error: syntax error or access rule violation - no such database. The database { $db } was not found.
Verify that the spelling is correct.
42N01
Status description
error: syntax error or access rule violation - no such constituent graph exists in composite database.
The constituent graph { $graph } was not found in the in composite database { $db }. Verify that the
spelling is correct.
42N02
Status description
error: syntax error or access rule violation - writing in read access mode. Writing in read access mode
not allowed.
42N03
Status description
error: syntax error or access rule violation - writing to multiple graphs. Writing to multiple graphs in the
same transaction is not allowed. Use CALL IN TRANSACTION or create separate transactions in your
application.
42N04
Status description
error: syntax error or access rule violation - unsupported access of composite database. Failed to
access database identified by { $db1 } while connected to session database { $db2 }. Connect to {
$db3 } directly.
27
42N05
Status description
error: syntax error or access rule violation - unsupported access of standard database. Failed to access
database identified by { $db1 } while connected to composite session database { $db2 }. Connect to {
$db3 } directly or create an alias in the composite database.
42N06
Status description
error: syntax error or access rule violation - unsupported action on composite database. { $action } is
not supported on composite databases.
42N07
Status description
error: syntax error or access rule violation - variable shadowing. The variable { $variable } is
shadowing a variable with the same name from the outer scope and needs to be renamed.
42N08
Status description
error: syntax error or access rule violation - no such procedure or function. The procedure or function {
$procFun } was not registered for this database instance. Verify that the spelling is correct.
42N09
Status description
error: syntax error or access rule violation - no such user. A user with the name { $user } was not
found. Verify that the spelling is correct.
42N10
Status description
error: syntax error or access rule violation - no such role. A role with the name { $role } was not
found. Verify that the spelling is correct.
42N11
Status description
error: syntax error or access rule violation - database or alias already exists. A [composite] database or
alias with the name { $db } already exists.
42N12
28
Status description
error: syntax error or access rule violation - user already exists. A user with the name { $user } already
exists.
42N13
Status description
error: syntax error or access rule violation - role already exists. A role with the name { $role } already
exists.
42N14
Status description
error: syntax error or access rule violation - invalid use of command. { $clause } cannot be used
together with { $cmd }.
42N15
Status description
error: syntax error or access rule violation - invalid use of reserved keyword. { $syntax } is a reserved
keyword and cannot be used in this place.
42N16
Status description
error: syntax error or access rule violation - unsupported index or constraint. Only single property {
$idxType } are supported.
42N17
Status description
error: syntax error or access rule violation - unsupported request. { $input } is not allowed on the
system database.
42N19
Status description
error: syntax error or access rule violation - duplicate clause. Duplicate { $syntax } clause.
42N20
Status description
error: syntax error or access rule violation - empty list range operator. The list range operator '[ ]' cannot
be empty.
29
42N21
Status description
error: syntax error or access rule violation - unaliased return item. Expression in { $clause } must be
aliased (use AS).
42N22
Status description
error: syntax error or access rule violation - single return column required. A COLLECT subquery must
end with a single return column.
42N24
Status description
error: syntax error or access rule violation - missing WITH. A WITH clause is required between { $input1
} and { $input2 }.
42N29
Status description
error: syntax error or access rule violation - unbound variables in pattern expression. Pattern
expressions are not allowed to introduce new variables: { $var }.
42N31
Status description
error: syntax error or access rule violation - specified number out of range. Expected { $component } to
be { $valueType } in the range { $lower } to { $upper } but found { $value }.
42N39
Status description
error: syntax error or access rule violation - incompatible return columns. All subqueries in a UNION
clause must have the same return column names.
42N40
Status description
error: syntax error or access rule violation - single relationship pattern required. The { $fun } function
must contain one relationship pattern.
42N42
Status description
error: syntax error or access rule violation - unsupported sub-path binding. Sub-path assignment is not
30
supported.
42N45
Status description
error: syntax error or access rule violation - unexpected end of input. Unexpected end of input,
expected 'CYPHER', 'EXPLAIN', 'PROFILE' or a query.
42N49
Status description
error: syntax error or access rule violation - unsupported normal form. Unknown Normal Form: { $input
}.
42N51
Status description
error: syntax error or access rule violation - invalid parameter. Invalid parameter { $param }.
42N57
Status description
error: syntax error or access rule violation - invalid use of data-modifications in expressions. { $expr }
cannot contain any updating clauses.
42N70
Status description
error: syntax error or access rule violation - function without required WHERE clause. The function {
$fun } requires a WHERE clause.
42N71
Status description
error: syntax error or access rule violation - incomplete query. A query must conclude with a RETURN
clause, a FINISH clause, an update clause, a unit subquery call, or a procedure call without a YIELD
clause.
42N73
Status description
error: syntax error or access rule violation - invalid placement of USE clause. The USE clause must be
the first clause of a query or an operand to '… UNION …' . In a CALL sub-query, it can also be the second
clause if the first clause is an importing WITH.
31
42N74
Status description
error: syntax error or access rule violation - invalid nested USE clause. Failed to access { $db1 } and {
$db2 }. Child USE clauses must target the same graph as their parent query. Run in separate
(sub)queries instead.
42N75
Status description
error: syntax error or access rule violation - invalid use of graph function. A call to the graph function {
$fun } is only allowed as the top-level argument of a USE clause.
42N76
Status description
error: syntax error or access rule violation - unfulfillable hints. The hint(s) { $hintAndedList } cannot be
fulfilled.
42N77
Status description
error: syntax error or access rule violation - missing hint predicate. The hint { $hint } cannot be
fulfilled. The query does not contain a compatible predicate for { $entityType } on { $variable }.
42N78
Status description
error: syntax error or access rule violation - variable already bound. Node { $var } has already been
bound and cannot be modified by the { $clause } clause.
42N83
Status description
error: syntax error or access rule violation - impersonation disallowed while password change required.
Cannot impersonate a user while password change required.
42N84
Status description
error: syntax error or access rule violation - TERMINATE TRANSACTION misses YIELD clause. WHERE clause
without YIELD clause. Use 'TERMINATE TRANSACTION … YIELD … WHERE …'.
42N85
32
Status description
error: syntax error or access rule violation - cannot specify both allowed and denied databases. Allowed
and denied database options are mutually exclusive.
42N86
Status description
error: syntax error or access rule violation - wildcard in parameter. { $syntax } failed. Parameterized
database and graph names do not support wildcards.
42N88
Status description
error: syntax error or access rule violation - cannot grant privilege. Permission cannot be granted for
'REMOVE IMMUTABLE PRIVILEGE'.
42N89
Status description
error: syntax error or access rule violation - invalid driver settings map. Failed evaluating the given
driver settings. { $cause }
42N90
Status description
error: syntax error or access rule violation - cannot alter immutable composite database. Composite
databases cannot be altered (database: { $db }).
42N97
Status description
error: syntax error or access rule violation - missing mandatory auth clause. Clause { $clause } is
mandatory for auth provider { $auth }.
42N98
Status description
error: syntax error or access rule violation - cannot modify own user. Cannot modify the user record of
the current user.
42N99
Status description
error: syntax error or access rule violation - cannot delete own user. Cannot delete the user record of
the current user.
33
42NA5
Status description
info: accessing multiple graphs only supported on composite databases. Accessing multiple graphs in
the same query is only supported on composite databases. Connect to a composite database with the
desired constituents.
42NA6
Status description
info: invalid alias target. Aliases are not allowed to target composite databases.
42NA7
Status description
info: referenced database not found. No database is corresponding to { $db }. Verify that the
elementId is correct.
42NFD
Status description
error: syntax error or access rule violation - credentials expired. Permission denied. The credentials you
provided were valid, but must be changed before you can use this instance.
42NFE
Status description
error: syntax error or access rule violation - auth info expired. Authentication and/or authorization info
expired.
42NFF
Status description
error: syntax error or access rule violation - permission/access denied. Access denied, see the security
logs for details.
50N00
Status description
error: general processing exception - internal error. Internal exception raised { $msgTitle }: { $msg }
34
50N05
Status description
error: general processing exception - deadlock detected. Deadlock detected while trying to acquire
locks. See log for more details.
50N06
Status description
error: general processing exception - remote execution client error. Remote execution failed. See cause
for more details.
50N07
Status description
error: general processing exception - execution failed. Execution failed. See cause and debug log for
details.
50N09
Status description
error: general processing exception - invalid server state transition. The server transitioned into a server
state that is not valid in the current context: { $boltServerState }.
50N11
Status description
error: general processing exception - constraint creation failed. Unable to create { $constrDescrOrName
}.
50N12
Status description
error: general processing exception - constraint drop failed. Unable to drop { $constrDescrOrName }.
50N16
Status description
error: general processing exception - remote execution transient error. Remote execution failed. See
cause for more details.
50N17
Status description
error: general processing exception - remote execution database error. Remote execution failed. See
cause for more details.
35
50N42
Status description
error: general processing exception - unexpected error. Unexpected error has occurred. See debug log
for details.
50N42 is the default GQLSTATUS code for exceptions without a GQL object. For more
information, see Operations Manual → Use JSON format for the query log.
51N00
Status description
error: system configuration or operation exception - procedure registration error. Failed to register
procedure/function.
51N01
Status description
error: system configuration or operation exception - class field annotation should be public, non-final,
and non-static. The field { $procField } in the class { $procClass } is annotated as a '@Context' field,
but it is declared as static. '@Context' fields must be public, non-final and non-static.
51N02
Status description
error: system configuration or operation exception - unsupported injectable component type. Unable to
set up injection for procedure { $procClass }. The field { $procField } has type { $procFieldType }
which is not a supported injectable component.
51N03
Status description
error: system configuration or operation exception - unable to access field. Unable to set up injection for
{ $procClass }, failed to access field { $procField }.
51N04
Status description
error: system configuration or operation exception - missing class field annotation. The field {
$procField } on { $procClass } must be annotated as a '@Context' field in order to store its state.
36
51N05
Status description
error: system configuration or operation exception - class field should be public and non-final. The field
{ $procField } on { $procClass } must be declared non-final and public.
51N06
Status description
error: system configuration or operation exception - missing argument name. The argument at position
{ $pos } in { $procMethod } requires a '@Name' annotation and a non-empty name.
51N07
Status description
error: system configuration or operation exception - invalid ordering of default arguments. The {
$procFun } contains a non-default argument after a default argument. Non-default arguments are not
allowed to be positioned after default arguments.
51N08
Status description
error: system configuration or operation exception - exactly one @UserAggregationResult method and
one @UserAggregationUpdate method required. The class { $procClass } must contain exactly one
'@UserAggregationResult' method and exactly one '@UserAggregationUpdate' method.
51N09
Status description
error: system configuration or operation exception - @UserAggregationUpdate method must be public
and void. The '@UserAggregationUpdate' method { $procMethod } of { $procClass } must be public
and have the return type 'void'.
51N10
Status description
error: system configuration or operation exception - aggregation method not public. The method {
$procMethod } of { $procClass } must be public.
51N11
Status description
error: system configuration or operation exception - class not public. The class { $procClass } must be
public.
37
51N12
Status description
error: system configuration or operation exception - class not void. The procedure { $proc } has zero
output fields and must be defined as void.
51N13
Status description
error: system configuration or operation exception - procedure or function name already in use. Unable
to register the procedure or function { $procFun } because the name is already in use.
51N14
Status description
error: system configuration or operation exception - duplicate field name. The procedure { $proc } has
a duplicate { $procFieldType } field, { $procField }.
51N15
Status description
error: system configuration or operation exception - invalid map key type. Type mismatch for map key.
Required 'STRING', but found { $valueType }.
51N16
Status description
error: system configuration or operation exception - invalid default value type. Type mismatch for the
default value. Required { $valueType }, but found { $input }.
51N17
Status description
error: system configuration or operation exception - invalid procedure or function name. Procedures
and functions cannot be defined in the root namespace, or use a reserved namespace. Use the package
name instead (e.g., org.example.com.{ $procFun }).
51N18
Status description
error: system configuration or operation exception - invalid method return type. The method {
$procMethod } has an invalid return type. Procedures must return a stream of records, where each
record is of a defined concrete class.
38
51N20
Status description
error: system configuration or operation exception - cannot inject field. The field { $procField } is not
injectable. Ensure the field is marked as public and non-final.
51N21
Status description
error: system configuration or operation exception - procedure registry is busy. The procedure
registration failed because the procedure registry was busy. Try again.
51N22
Status description
error: system configuration or operation exception - exhaustive shortest path search disabled. Finding
the shortest path for the given pattern requires an exhaustive search. To enable exhaustive searches,
set 'cypher.forbid_exhaustive_shortestpath' to false.
51N23
Status description
error: system configuration or operation exception - cyclic shortest path search disabled. Cannot find
the shortest path when the start and end nodes are the same. To enable this behavior, set
'dbms.cypher.forbid_shortestpath_common_nodes' to false.
51N24
Status description
error: system configuration or operation exception - insufficient resources for plan search. Could not
find a query plan within given time and space limits.
51N27
Status description
error: system configuration or operation exception - not supported in this edition. { $item } is not
supported in { $edition }.
51N29
Status description
error: system configuration or operation exception - not supported by this server. The command { $cmd
} must be executed on the current 'LEADER' server.
39
51N30
Status description
error: system configuration or operation exception - not supported with this configuration. { $item } is
not supported in { $context }.
51N32
Status description
error: system configuration or operation exception - server panic. Server is in panic.
51N33
Status description
error: system configuration or operation exception - replication error. This member failed to replicate
transaction, try again.
51N34
Status description
error: system configuration or operation exception - write transaction failed due to leader change.
Failed to write to the database due to a cluster leader change. Retrying your request at a later time may
succeed.
51N35
Status description
error: system configuration or operation exception - database location changed. The location of { $db }
has changed while the transaction was running.
51N36
Status description
error: system configuration or operation exception - out of memory. There is not enough memory to
perform the current task.
51N37
Status description
error: system configuration or operation exception - stack overflow. There is not enough stack size to
perform the current task.
51N38
Status description
error: system configuration or operation exception - failed to acquire execution thread. There are
40
insufficient threads available for executing the current task.
51N39
Status description
error: system configuration or operation exception - raft log corrupted. Expected set of files not found
on disk. Please restore from backup.
51N40
Status description
error: system configuration or operation exception - unable to start database. Database { $db } failed
to start. Try restarting it.
51N41
Status description
error: system configuration or operation exception - admin operation failed. Server or database admin
operation not possible.
51N43
Status description
error: system configuration or operation exception - cannot deallocate servers. Cannot deallocate
server(s) { $serverList }.
51N44
Status description
error: system configuration or operation exception - cannot drop server. Cannot drop server { $server
}.
51N45
Status description
error: system configuration or operation exception - cannot cordon server. Cannot cordon server {
$server }.
51N46
Status description
error: system configuration or operation exception - cannot alter server. Cannot alter server { $server
}.
41
51N47
Status description
error: system configuration or operation exception - cannot rename server. Cannot rename server {
$server }.
51N48
Status description
error: system configuration or operation exception - cannot enable server. Cannot enable server {
$server }.
51N49
Status description
error: system configuration or operation exception - cannot alter database. Cannot alter database { $db
}.
51N50
Status description
error: system configuration or operation exception - cannot recreate database. Cannot recreate
database { $db }.
51N51
Status description
error: system configuration or operation exception - cannot create database. Cannot create database {
$db }.
51N52
Status description
error: system configuration or operation exception - number of primaries out of range. Cannot alter
database topology. Number of primaries { $count } needs to be at least 1 and may not exceed {
$upper }.
51N53
Status description
error: system configuration or operation exception - number of secondaries out of range. Cannot alter
database topology. Number of secondaries { $count } needs to be at least 0 and may not exceed {
$upper }.
42
51N54
Status description
error: system configuration or operation exception - cannot reallocate. Failed to calculate reallocation
for databases. { $msg }
51N55
Status description
error: system configuration or operation exception - cannot create additional database. Failed to create
the database { $db }. The limit of databases is reached. Either increase the limit using the config
setting { $cfgSetting } or drop a database.
51N56
Status description
error: system configuration or operation exception - topology out of range. The number of {
$serverType } seeding servers { $count1 } is larger than the desired number of { $allocType }
allocations { $count2 }.
51N57
Status description
error: system configuration or operation exception - generic topology modification error. Unexpected
error while picking allocations. { $msg }
51N59
Status description
error: system configuration or operation exception - internal resource exhaustion. The DBMS is unable
to handle the request, please retry later or contact the system operator. More information is present in
the logs.
51N60
Status description
error: system configuration or operation exception - unable to check enterprise license acceptance. The
DBMS is unable to determine the enterprise license acceptance status.
51N63
Status description
error: system configuration or operation exception - index is still populating. Index is not ready yet.
Wait until it finishes populating and retry the transaction.
43
51N64
Status description
error: system configuration or operation exception - index dropped while sampling. The index dropped
while sampling.
51N65
Status description
error: system configuration or operation exception - vector index dimensionality mismatch. Vector index
{ $idx } has a dimensionality of { $dim1 }, but indexed vectors have { $dim2 }.
51N66
Status description
error: system configuration or operation exception - resource exhaustion. Insufficient resources to
complete the request.
51N68
Status description
error: system configuration or operation exception - CDC is disabled for this database. Change Data
Capture is not currently enabled for this database.
51N69
Status description
error: system configuration or operation exception - system database is immutable. It is not possible to
perform { $operation } on the system database.
51N70
Status description
error: system configuration or operation exception - bolt is not enabled. Cannot get routing table for {
$db } because Bolt is not enabled. Please update your configuration such that 'server.bolt.enabled' is
set to true.
51N71
Status description
error: system configuration or operation exception - unsupported operation of a sharded database.
Feature: { $feat } is not available in a sharded database.
Procedure exception
Procedure exceptions occur when there is an error in executing a procedure, such as when the procedure
44
execution fails due to a client error, when the procedure cannot be invoked on a primary, when the number
of arguments to checkConnectivity is invalid, etc.
52N02
Status description
error: procedure exception - procedure execution client error. Execution of the procedure { $proc }
failed due to a client error.
52N03
Status description
error: procedure exception - invalid procedure execution mode. Execution of the procedure { $proc }
failed due to an invalid specified execution mode { $procExeMode }.
52N05
Status description
error: procedure exception - must invoke procedure on secondary. Cannot invoke procedure on this
member because it is not a secondary for the database { $db }.
52N06
Status description
error: procedure exception - invalid number of arguments to checkConnectivity. Unexpected number of
arguments (expected 0-2 but received { $count }).
52N07
Status description
error: procedure exception - invalid port argument to checkConnectivity. Unrecognised port name {
$port } (valid values are: { $portList }.
52N08
Status description
error: procedure exception - invalid server id argument to checkConnectivity. Unable to parse server id
{ $server }.
52N09
Status description
error: procedure exception - procedure execution database error. Execution of the procedure { $proc }
failed due to a database error.
45
52N10
Status description
error: procedure exception - invalid address key. An address key is included in the query string provided
to the GetRoutingTableProcedure, but its value could not be parsed.
52N11
Status description
error: procedure exception - generic topology procedure error. An unexpected error has occurred.
Please refer to the server’s debug log for more information.
52N12
Status description
error: procedure exception - cannot change default database. The previous default database { $db } is
still running.
52N13
Status description
error: procedure exception - new default database does not exist. New default database { $db } does
not exist.
52N14
Status description
error: procedure exception - system cannot be default database. System database cannot be set as
default.
52N16
Status description
error: procedure exception - invalid procedure argument list. Invalid arguments to procedure.
52N17
Status description
error: procedure exception - quarantine change failed. Setting/removing the quarantine marker failed.
52N18
Status description
error: procedure exception - too many seeders. The number of seeding servers { $countSeeders } is
larger than the defined number of allocations { $countAllocs }.
46
52N19
Status description
error: procedure exception - no such seeder. The specified seeding server with id { $server } was not
found. Verify that the spelling is correct.
52N23
Status description
error: procedure exception - non-reloadable namespace. The following namespaces are not reloadable:
{ $namespaceList }
52N25
Status description
error: procedure exception - JMX error. JMX error while accessing { $param }. See logs for more
information.
52N29
Status description
error: procedure exception - outdated change identifier. Given ChangeIdentifier describes a transaction
that occurred before any enrichment records exist.
52N30
Status description
error: procedure exception - future change identifier. Given ChangeIdentifier describes a transaction
that hasn’t yet occurred.
52N31
Status description
error: procedure exception - wrong database. Change identifier { $param } does not belong to this
database.
52N32
Status description
error: procedure exception - invalid sequence number. Change identifier { $param1 } has an invalid
sequence number { $param2 }.
52N33
Status description
error: procedure exception - procedure invocation failed. Failed to invoke procedure/function { $sig }
caused by: { $msg }.
47
52N34
Status description
error: procedure exception - procedure sandboxed. { $sig } is unavailable because it is sandboxed.
Sandboxing is controlled by the dbms.security.procedures.unrestricted setting. Only un-restrict
procedures you can trust with access to database internals.
52N35
Status description
error: procedure exception - procedure compilation failed. Failed to compile procedure/function defined
in { $procClass }: { $msg }
Client errors
This is a complete list of all client errors Neo4j may return, and what they mean.
Neo.ClientError.General.InvalidArguments The request contained fields that were empty or are not
allowed.
Neo.ClientError.General.TransactionOutOfMemoryError The transaction used more memory than was allowed. The
maximum allowed size for a transaction can be configured
with db.memory.transaction.max_size in the Neo4j
configuration file (normally in conf/neo4j.conf or, if you are
using Neo4j Desktop, found through the user interface).
48
Neo4j code Description
Neo.ClientError.Procedure.ProcedureTimedOut The procedure did not complete within the specified timeout.
You may want to retry with a longer timeout.
Neo.ClientError.Request.InvalidFormat The client provided a request that was missing required fields
or had values that are not allowed.
Neo.ClientError.Request.InvalidUsage The client made a request but did not consume outgoing
buffers in a timely fashion.
49
Neo4j code Description
Neo.ClientError.Schema.IndexNotApplicable The request did not contain the properties required by the
index.
50
Neo4j code Description
51
Neo4j code Description
Transient errors
This is a complete list of all transient errors Neo4j may return, and what they mean.
Neo.TransientError.General.StackOverFlowError There is not enough stack size to perform the current task.
This is generally considered to be a database error, so please
contact Neo4j support.
You could try increasing the stack size; for example to set the
stack size to 2M, add server.jvm.additional=-Xss2M to in the
Neo4j configuration file (normally in conf/neo4j.conf or, if you
are using Neo4j Desktop, found through the user interface).
52
Neo4j code Description
Neo.TransientError.Transaction.BookmarkTimeout Bookmark wait timed out. Database has not reached the
specified version.
Database error
This is a complete list of all database errors Neo4j may return, and what they mean.
Neo.DatabaseError.ChangeDataCapture.ScanFailure Unable to read the Change Data Capture data for this
database.
53
Neo4j code Description
Neo.DatabaseError.General.StorageDamageDetected Expected set of files not found on disk. Please restore from
backup.
Neo.DatabaseError.Schema.RelationshipTypeAccessFailed The request accessed a relationship type that does not exist.
Neo.DatabaseError.Schema.SchemaRuleAccessFailed The request referred to a schema rule that does not exist.
54
Server notifications
After a successful query execution, the Neo4j server sends notifications to give additional information
about the query execution or provide advice on how to improve the query’s quality. The driver receives
these notifications and sends them to the Neo4j tools (e.g. Browser, Bloom, Cypher Shell) or the user
application, which display them to the user.
From version 5.23, Neo4j has a new GqlStatusObject API in addition to the existing Notification API
(deprecated since 5.26). The GqlStatusObject API provides information about the status of a Cypher query
or command execution in compliance with the ISO/IEC 39075:2024(en) - Information technology -
Database languages - GQL Standard.
This page describes the GQL-status object and the Neo4j notification frameworks, their structure, the
objects they provide for notification, and how to interpret them. It also explains the server notification
grouping and filtering, the notification internals, and the server-driver compatibility for both the
Notification and GqlStatusObject APIs.
For more information about SUCCESSFUL COMPLETION, NO DATA, or OMITTED RESULT, see General codes for
success.
The GQL-status object can contain multiple GQL-status objects, where each object represents a different
condition of the query execution. The primary GQL-status object describes the condition with the greatest
precedence and is always present. All other GQL-status objects in the list are additional GQL-status
objects.
The GQL-status object also includes Neo4j-specific information, such as severity level and notification
classification, which can be used for filtering. For more information about notification grouping and
filtering, see Server notification grouping and filtering.
55
GQLSTATUS code 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 notification.
DiagnosticRecord Extra information about the status, given as key-value pairs, both on the server and
driver side. To retrieve the full diagnostic record, you can use the
diagnosticRecord() on the server side or the corresponding method on the driver
sides. Additional helper methods are exposed for some useful fields.
Field Description
OPERATION The operation that the notification is related to. Always defaults to empty.
OPERATION_CODE The operation code that the notification is related to. Always defaults to 0.
CURRENT_SCHEMA The current schema that the notification is related to. Always defaults to /.
_severity The Neo4j severity level, which can be one of the following:
_position The position, given by row and column, where the notification is relevant in
the query text.
_status_paramete A map that contains all variable parts of the status description.
rs
56
GQLSTATUS Condition Subcondition Description
00000 Successful completion Successful completion with a regular non-empty result (n > 0
columns, m > 0 rows), for example, a RETURN clause with
matches.
00001 Successful completion Omitted result Successful completion with no return columns (n = 0
columns, m = 0 rows), for example, EXPLAIN queries.
GQLSTATUS general codes are filled in by the server unless the server is too old to be aware of GQL-
status objects, in which case, it is polyfilled by the driver (see Server - driver compatibility).
The following table lists the Neo4j-defined groups of GQLSTATUS codes and their meanings:
57
Neo4j-status notification object Label—deprecated 5.26
The Neo4j-status object for notifications contains diagnostic information representing the successful
outcome of a Cypher query or command execution, including severity, the ClientNotification code,
category, title, description, and position in the query text where the notification is relevant. Depending on
the application, some of the fields from the notification object might not be visible.
• WARNING: There might be a problem with your query. Please, take a look.
• INFORMATION: The query is correct, but this information can still be useful.
Position The position, given by row and column, where the notification is relevant in the
query text.
The driver-side notification configuration used for filtering notifications by category and severity is the
same for both Neo4j Notification and GQL-status object frameworks. The driver can filter notifications by
category/classification and severity level, and the server will only send notifications that match the driver-
side configuration.
The driver can also choose to ignore notifications. However, as per the GQLSTATUS framework, the server
must always send the primary GQL-status object. Therefore, if notifications are off or the notification
configuration filtering is set to filter out all notifications, the server will still send the primary GQL-status
object with the status SUCCESSFUL COMPLETION, OMITTED RESULT or NO DATA.
58
CATEGORY/CL SEVERITY EXPLANATION RECOMMENDED ACTION
ASSIFICATION
DEPRECATION WARNING The query or command uses deprecated features Update to use the new
that should be replaced. functionality.
HINT WARNING The given hint cannot be satisfied. Remove the hint or fix the query
so the hint can be used.
UNSUPPORTED WARNING The query or command is trying to use features not Unsupported features cannot be
supported by the current system or using trusted and should not be used in
experimental features that should not be used in production.
production.
UNRECOGNIZED WARNING OR The query or command mentions entities that are Make sure you have not
INFORMATION unknown to the system. misspelled the entity.
SECURITY WARNING OR The result of the query or command indicates a Make sure that the behaviour is
INFORMATION potential security issue. what you intended.
GENERIC WARNING OR Notifications that are not part of a wider class. Depends on the specific
INFORMATION notification.
PERFORMANCE INFORMATION The query uses costly operations and might be slow.
Consider if it is possible to rewrite the query in a
different way.
On the server side, notifications are part of the Result Core API. A method called getNotifications(),
which is deprecated since 5.26, returns a list of server-side notification objects. These notifications are
then sent to the driver as success Bolt message metadata. On the driver side, notifications are part of the
ResultSummary API, which has a method called notifications() that returns a list of driver-side
Notification objects. The result of the getCode() or code() methods is known as the Neo4j status code.
Driver-side notification configuration filters notifications by severity and/or category at both the driver and
session levels. For more information, see Server notification grouping and filtering.
From version 5.23, Neo4j has a new GqlStatusObject API in addition to the existing Notification API. This
can be used using the .getGqlStatusObjects() method in the Result Core API or by using the latest Neo4j
drivers. The Notification API is deprecated since Neo4j 5.26.
59
Server-driver version compatibility
The GqlStatusObject API is available in Neo4j 5.22 and later versions on the server side and in the 5.23
driver and later versions on the driver side. The current Notification API is still present, and the
GqlStatusObject API can be used in parallel with it.
To fully utilize the GqlStatusObject API, both your server and the driver must support it. Drivers that are
older than 5.23 send only notifications from the Notification API, even if the server is 5.22 or later.
If a driver of version 5.23 or later talks to a server that is too old to be aware of GQL-status objects, the
driver needs to poly-fill the GqlStatusObject API with information. The driver tries to deduce SUCCESS,
OMITTED RESULT, or NO DATA from the returned number of records and columns. If that fails, the general
GQLSTATUS code will be set to 02N42. Then, the driver poly-fills the rest of the GQL-status object list with
the notifications from the old notification API. These will get GQLSTATUS 01N42 for notifications with
severity WARNING and 03N42 for notifications with severity INFORMATION. Finally, the list of poly-filled GQL-
status objects is sorted according to the GQL precedence rules described in GQL-status notification object.
02N42 No data Unknown Poly-filled general status when SUCCESS, OMITTED RESULT, or
subcondition NO DATA cannot be deduced.
• PERFORMANCE notifications
• HINT notifications
• UNRECOGNIZED notifications
• UNSUPPORTED notifications
• DEPRECATION notifications
• SECURITY notifications
• TOPOLOGY notifications
• SCHEMA notifications
• GENERIC notifications
60
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.
PERFORMANCE notifications
Performance notifications are returned whenever the query uses costly operations and the performance
may be improved by changing the query or adding an index.
Cartesian product
This notification is returned when there is a Cartesian product in the plan.
Description If a part of a query contains multiple disconnected patterns, this will build a cartesian product
between all those parts. This may produce a large amount of data and slow down query
processing. While occasionally intended, it may often be possible to reformulate the query that
avoids the use of this cross product, perhaps by adding a relationship between the different parts
or by using OPTIONAL MATCH (%s)
Category PERFORMANCE
Status description info: cartesian product. The disconnected patterns { $pat } build a cartesian
product. A cartesian product may produce a large amount of data and slow down
query processing.
Classification PERFORMANCE
SeverityLevel INFORMATION
61
Example 1. A query that contains many disconnected patterns
Query
Query
62
Unbounded variable length pattern
This notification is returned when there is no upper bound specified on the variable length relationship.
Title The provided pattern is unbounded, consider adding an upper limit to the number of
node hops.
Description Using shortest path with an unbounded pattern will likely result in long execution times. It is
recommended to use an upper limit to the number of node hops in your pattern.
Category PERFORMANCE
Status description info: unbounded variable length pattern. The provided pattern { $pat } is
unbounded. Shortest path with an unbounded pattern may result in long execution
times. Use an upper limit (e.g. [*..5]) on the number of node hops in your pattern.
Classification PERFORMANCE
SeverityLevel INFORMATION
63
Example 2. Shortest path with an unbounded pattern
Query
MATCH p=shortestPath((n)-[*]->(m))
WHERE n <> m
RETURN p
MATCH p=shortestPath((n)-[*..8]->(m))
WHERE n <> m
RETURN p
Query
64
Title Exhaustive shortest path has been planned for your query that means that shortest
path graph algorithm might not be used to find the shortest path. Hence an
exhaustive enumeration of all paths might be used in order to find the requested
shortest path.
Description Using shortest path with an exhaustive search fallback might cause query slow down since
shortest path graph algorithms might not work for this use case. It is recommended to introduce a
WITH to separate the MATCH containing the shortest path from the existential predicates on that
path.
Category PERFORMANCE
Status description info: exhaustive shortest path. The query runs with exhaustive shortest path due to
the existential predicate(s) { $pred_list }. It may be possible to use WITH to
separate the MATCH from the existential predicate(s).
Classification PERFORMANCE
SeverityLevel INFORMATION
65
Example 3. A query that runs with an exhaustive shortest path
Query
MATCH p = shortestPath(()-[*..42]-())
WHERE ANY(n in nodes(p) WHERE n:Label)
RETURN p
MATCH p = shortestPath(()-[*..42]-())
WITH p
WHERE ANY(n in nodes(p) WHERE n:Label)
RETURN p
Query
MATCH p = shortestPath(()-[*..42]-())
WHERE ANY(n in nodes(p) WHERE n:Label)
RETURN p
MATCH p = shortestPath(()-[*..42]-())
WITH p
WHERE ANY(n in nodes(p) WHERE n:Label)
RETURN p
No applicable index
This notification is returned when using LOAD CSV with a MATCH or a MERGE clause that matches a non-
66
indexed label. This may not perform well on large data sets. Adding an index could improve the query
speed.
Description Using LOAD CSV followed by a MATCH or MERGE that matches a non-indexed label will most likely not
perform well on large data sets. Please consider using a schema index.
Category PERFORMANCE
Status description info: no applicable index. LOAD CSV in combination with MATCH or MERGE on a label
that does not have an index may result in long execution times. Consider adding an
index for label { $label }.
Classification PERFORMANCE
SeverityLevel INFORMATION
67
Example 4. LOAD CSV with MATCH or MERGE
Query
Query
Eager operator
This notification is returned when the execution plan for a query contains the Eager operator.
Title The execution plan for this query contains the Eager operator, which forces all
dependent data to be materialized in main memory before proceeding
68
Description Using LOAD CSV with a large data set in a query where the execution plan contains the Eager
operator could potentially consume a lot of memory and is likely to not perform well. See the Neo4j
Manual entry on the Eager operator for more information and hints on how problems could be
avoided.
Category PERFORMANCE
Status description info: eager operator. The query execution plan contains the Eager operator. LOAD
CSV in combination with Eager can consume a lot of memory.
Classification PERFORMANCE
SeverityLevel INFORMATION
69
Example 5. LOAD CSV with an Eager operator
Query
LOAD CSV together with an Eager operator can take up a lot of memory.
Query
70
Dynamic property
Table 17. Notification details
Title Queries using dynamic properties will use neither index seeks nor index scans for
those properties
Description Using a dynamic property makes it impossible to use an index lookup for this query (%s)
Category PERFORMANCE
Status description info: dynamic property. An index exists on label/type(s) { $label_list }. It is not
possible to use indexes for dynamic properties. Consider using static properties.
Classification PERFORMANCE
SeverityLevel INFORMATION
71
Example 6. A dynamic node property key makes it impossible to use indexes
Query
Query
72
Example 7. A dynamic relationship property key makes it impossible to use indexes
Query
Query
73
Title The database was unable to generate code for the query. A stacktrace can be found
in the debug.log.
Description The database was unable to generate code for the query. A stacktrace can be found in the
debug.log. (method too big)
Category PERFORMANCE
Status description info: failed code generation. Failed to generate code, falling back to interpreted
$enginetype engine. A stacktrace can be found in the debug.log. Cause: $msg.
Classification PERFORMANCE
SeverityLevel INFORMATION
HINT notifications
HINT notifications are returned by default when the Cypher planner or runtime cannot create a query plan
to fulfill a specified hint, for example, JOIN or INDEX. This behavior of the Cypher planner or runtime can be
changed by setting the configuration dbms.cypher.hints_error to true. In this case, the query will return
an error.
Description The hinted join was not planned. This could happen because no generated plan contained the join
key, please try using a different join key or restructure your query. (%s)
Category HINT
Status description warn: join hint unfulfillable. Unable to create a plan with JOIN ON $var_list. Try to
change the join key(s) or restructure your query.
Classification HINT
SeverityLevel WARNING
74
Example 8. Inability to fulfill the hint despite the given JOIN hint
Query
MATCH (a:A)
WITH a, 1 AS horizon
OPTIONAL MATCH (a)-[r]->(b:B)
USING JOIN ON a
OPTIONAL MATCH (a)--(c)
RETURN *
Query
MATCH (a:A)
WITH a, 1 AS horizon
OPTIONAL MATCH (a)-[r]->(b:B)
USING JOIN ON a
OPTIONAL MATCH (a)--(c)
RETURN *
75
Title The request (directly or indirectly) referred to an index that does not exist.
Description The hinted index does not exist, please check the schema (%s)
Category HINT
Status description warn: hinted index not found. Unable to create a plan with { $index_descr }
because the index does not exist.
Classification HINT
SeverityLevel WARNING
76
Example 9. Inability to use the label index despite the given index hint
Query
Query
77
Example 10. Inability to use the relationship index despite the given index hint
Query
MATCH ()-[r:Rel]-()
USING INDEX r:Rel(id)
WHERE r.id = 1
RETURN r
Query
MATCH ()-[r:Rel]-()
USING INDEX r:Rel(id)
WHERE r.id = 1
RETURN r
UNRECOGNIZED notifications
Unrecognized notifications are returned when the query or command mentions entities that are unknown
to the system.
78
Title The request referred to a home database that does not exist.
Description The home database provided does not currently exist in the DBMS. This command will not take
effect until this database is created. (%s)
Category UNRECOGNIZED
Status description note: successful completion - home database not found. The database { $db } does
not exist. Verify that the spelling is correct or create the database for the command
to take effect.
Classification UNRECOGNIZED
SeverityLevel INFORMATION
Example 11. Setting the home database to a database that does not exist
Query
CREATE USER john SET PASSWORD "secret" SET HOME DATABASE nej4
Query
CREATE USER john SET PASSWORD "secret" SET HOME DATABASE nej4
79
Unknown label
Table 22. Notification details
Description One of the labels in your query is not available in the database, make sure you didn’t misspell it or
that the label is available when you run this statement in your application (%s)
Category UNRECOGNIZED
Status description warn: unknown label. The label { $label } does not exist. Verify that the spelling is
correct.
Classification UNRECOGNIZED
SeverityLevel WARNING
80
Example 12. Matching on a node with a label that does not exist in the database
Query
Query
Description One of the relationship types in your query is not available in the database, make sure you didn’t
misspell it or that the label is available when you run this statement in your application (%s)
Category UNRECOGNIZED
Status description warn: unknown relationship type. The relationship type { $reltype } does not
exist. Verify that the spelling is correct.
81
Classification UNRECOGNIZED
SeverityLevel WARNING
Example 13. Matching a relationship with a type that does not exist
Query
Query
Description One of the property names in your query is not available in the database, make sure you didn’t
misspell it or that the label is available when you run this statement in your application (%s)
Category UNRECOGNIZED
82
GQLSTATUS code 01N52
Status description warn: unknown property key. The property { $propkey } does not exist. Verify that
the spelling is correct.
Classification UNRECOGNIZED
SeverityLevel WARNING
Query
Query
83
Title The query contains an aggregation function that skips null values.
Description The query contains an aggregation function that skips null values.
Category UNRECOGNIZED
Classification UNRECOGNIZED
SeverityLevel WARNING
Query
Query
UNSUPPORTED category
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.
Unsupported runtime
Table 26. Notification details
84
Description Selected runtime is unsupported for this query, please use a different runtime instead or fallback to
default. (%s)
Category UNSUPPORTED
Status description warn: unsupported runtime. The query cannot be executed with {
$preparser_input1 }, { $preparser_input2 } is used. Cause: { $msg }.
Classification UNSUPPORTED
SeverityLevel WARNING
85
Example 16. A runtime is not supported by a Cypher command
Query
Query
The usage of this notification has been removed since Neo4j 5.14.
86
Title This feature is experimental and should not be used in production systems.
Category UNSUPPORTED
SeverityLevel WARNING
Query
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.
Feature deprecated
Table 28. Notification details
87
Descriptions • The procedure 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.
• New 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 DEPRECATION
Classification DEPRECATION
SeverityLevel WARNING
88
Example 18. Create a database with an unescaped name containing a dot
Query
Query
Query
89
Using differently ordered return items in a UNION [ALL] clause is deprecated in versions
5.5 to 5.25. However, starting from version 5.26, the deprecation has been withdrawn
following cost-benefit analysis and valuable user feedback.
Query
90
Example 21. Using the Unicode \u0085 in an unescaped identifier
Query
RETURN 1 as my\u0085identifier
Query
RETURN 1 as my\u0085identifier
91
Descriptions • The semantics of using colon in the separation of alternative relationship types
will change in a future version. (%s)
• The use of nodes or relationships for setting properties is deprecated and will be
removed in a future version. Please use properties() instead.
Category DEPRECATION
Classification DEPRECATION
SeverityLevel WARNING
92
Example 22. Colon after the vertical bar |: in a relationship pattern
Query
Query
93
Example 23. Setting properties using a node
Query
MATCH (a)-[]-(b)
SET a = b
MATCH (a)-[]-(b)
SET a = properties(b)
Query
MATCH (a)-[]-(b)
SET a = b
MATCH (a)-[]-(b)
SET a = properties(b)
94
Example 24. Setting properties using a relationship
Query
MATCH (a)-[r]-(b)
SET a += r
MATCH (a)-[r]-(b)
SET a += properties(r)
Query
MATCH (a)-[r]-(b)
SET a += r
MATCH (a)-[r]-(b)
SET a += properties(r)
95
Example 25. Shortest path with a fixed relationship length
Query
Query
96
Example 26. Using a deprecated runtime option
Query
Query
97
Example 27. Using the text-1.0 index provider when creating a text index
Query
Query
98
Example 28. Using a renamed or a deprecated procedure
CALL cdc.query
CALL unsupported.dbms.shutdown
CALL unsupported.dbms.shutdown
99
Example 29. Using id() function
Query
MATCH (a)
RETURN id(a)
MATCH (a)
RETURN elementId(a)
Query
MATCH (a)
RETURN id(a)
Query
MATCH (a)
RETURN id(a)
MATCH (a)
RETURN elementId(a)
100
Example 30. Using an unescaped variable named 'where' in a node pattern
Query
Query
101
Example 31. Using an unescaped variable named 'where' in a relationship pattern
Query
Query
102
Example 32. Using an unparenthesized label expression predicate as the right-hand side operand of +
Query
MATCH (n)-[r]->(m)
WITH m, n.truthCodes AS listOfBooleans
RETURN listOfBooleans + m:A
MATCH (n)-[r]->(m)
WITH m, n.truthCodes AS listOfBooleans
RETURN listOfBooleans + (m:A)
Query
MATCH (n)-[r]->(m)
WITH m, n.truthCodes AS listOfBooleans
RETURN listOfBooleans + m:A
MATCH (n)-[r]->(m)
WITH m, n.truthCodes AS listOfBooleans
RETURN listOfBooleans + (m:A)
103
Example 33. Using an unparenthesized label expression predicate as the right-hand side operand of +
Query
MATCH (n)-[r]->(m)
WITH r, n.truthCodes AS listOfBooleans
RETURN listOfBooleans + r:C|D
MATCH (n)-[r]->(m)
WITH r, n.truthCodes AS listOfBooleans
RETURN listOfBooleans + (r:C|D)
Query
MATCH (n)-[r]->(m)
WITH r, n.truthCodes AS listOfBooleans
RETURN listOfBooleans + r:C|D
MATCH (n)-[r]->(m)
WITH r, n.truthCodes AS listOfBooleans
RETURN listOfBooleans + (r:C|D)
104
Example 34. Using an unescaped variable named is as a WHEN operand in a simple CASE expression
Query
MATCH (n)
WITH n, n.internationalStandard AS is
RETURN CASE n
WHEN is :: INTEGER THEN "ISO/IEC" + is
ELSE is
END AS standardsName
MATCH (n)
WITH n, n.internationalStandard AS `is`
RETURN CASE n
WHEN `is` :: INTEGER THEN "ISO/IEC" + `is`
ELSE `is`
END AS standardsName
Query
MATCH (n)
WITH n, n.internationalStandard AS is
RETURN CASE n
WHEN is :: INTEGER THEN "ISO/IEC" + is
ELSE is
END AS standardsName
MATCH (n)
WITH n, n.internationalStandard AS `is`
RETURN CASE n
WHEN `is` :: INTEGER THEN "ISO/IEC" + `is`
ELSE `is`
END AS standardsName
105
Example 35. Using an unescaped variable named contains in addition operations within a WHEN operand in
a simple CASE expression
Query
MATCH p = (:A)-[:HAS]->(:B)
WITH p, size(relationships(p)) AS contains
RETURN CASE size(nodes(p))
WHEN contains + 1 THEN "okay"
ELSE "not okay"
END AS check
MATCH p = (:A)-[:HAS]->(:B)
WITH p, size(relationships(p)) AS `contains`
RETURN CASE size(nodes(p))
WHEN `contains` + 1 THEN "okay"
ELSE "not okay"
END AS check
106
Query
MATCH p = (:A)-[:HAS]->(:B)
WITH p, size(relationships(p)) AS contains
RETURN CASE size(nodes(p))
WHEN contains + 1 THEN "okay"
ELSE "not okay"
END AS check
MATCH p = (:A)-[:HAS]->(:B)
WITH p, size(relationships(p)) AS `contains`
RETURN CASE size(nodes(p))
WHEN `contains` + 1 THEN "okay"
ELSE "not okay"
END AS check
107
Example 36. Using an unescaped variable named contains in subtraction operations within a WHEN operand
in a simple CASE expression
Query
MATCH p = (:A)-[:HAS]->(:B)
WITH p, size(nodes(p)) AS contains
RETURN CASE size(relationships(p))
WHEN contains - 1 THEN "okay"
ELSE "not okay"
END AS check
MATCH p = (:A)-[:HAS]->(:B)
WITH p, size(nodes(p)) AS `contains`
RETURN CASE size(relationships(p))
WHEN `contains` - 1 THEN "okay"
ELSE "not okay"
END AS check
108
Query
MATCH p = (:A)-[:HAS]->(:B)
WITH p, size(nodes(p)) AS contains
RETURN CASE size(relationships(p))
WHEN contains - 1 THEN "okay"
ELSE "not okay"
END AS check
MATCH p = (:A)-[:HAS]->(:B)
WITH p, size(nodes(p)) AS `contains`
RETURN CASE size(relationships(p))
WHEN `contains` - 1 THEN "okay"
ELSE "not okay"
END AS check
109
Example 37. Using the [] operator on an unescaped variable named in within a WHEN operand in a simple
CASE expression
Query
MATCH (c:Client)-[:MAKES]->(t:Transaction)
WITH t, c.ibanNumbers AS in
RETURN CASE t.ibanNumber
WHEN in[0] THEN "used main account"
ELSE "used different account"
END AS check
MATCH (c:Client)-[:MAKES]->(t:Transaction)
WITH t, c.ibanNumbers AS `in`
RETURN CASE t.ibanNumber
WHEN `in`[0] THEN "used main account"
ELSE "used different account"
END AS check
Query
MATCH (c:Client)-[:MAKES]->(t:Transaction)
WITH t, c.ibanNumbers AS in
RETURN CASE t.ibanNumber
WHEN in[0] THEN "used main account"
ELSE "used different account"
END AS check
MATCH (c:Client)-[:MAKES]->(t:Transaction)
WITH t, c.ibanNumbers AS `in`
RETURN CASE t.ibanNumber
WHEN `in`[0] THEN "used main account"
ELSE "used different account"
END AS check
110
Example 38. Using the [] operator on an unescaped variable named in within a WHEN operand in a simple
CASE expression
Query
MATCH (in:Client)-[:MAKES]->(t:Transaction)
RETURN CASE t.ibanNumber
WHEN in["mainAccount"] THEN "used main account"
ELSE "used different account"
END AS check
MATCH (in:Client)-[:MAKES]->(t:Transaction)
RETURN CASE t.ibanNumber
WHEN `in`["mainAccount"] THEN "used main account"
ELSE "used different account"
END AS check
Query
MATCH (in:Client)-[:MAKES]->(t:Transaction)
RETURN CASE t.ibanNumber
WHEN in["mainAccount"] THEN "used main account"
ELSE "used different account"
END AS check
MATCH (in:Client)-[:MAKES]->(t:Transaction)
RETURN CASE t.ibanNumber
WHEN `in`["mainAccount"] THEN "used main account"
ELSE "used different account"
END AS check
111
Deprecated features without a future replacement
Table 30. Notification details
Category DEPRECATION
Status description warn: feature deprecated without replacement. { $thing } is deprecated and will
be removed without a replacement.
Classification DEPRECATION
SeverityLevel WARNING
112
Example 39. Using Cypher query option connectComponentsPlanner
Query
Query
Category DEPRECATION
Status description warn: procedure field deprecated. { $field } for procedure { $proc } is
deprecated.
Classification DEPRECATION
SeverityLevel WARNING
113
Feature deprecated with replacement - DeprecatedFormat
Table 32. Notification details
Title The client made a request for a format which has been deprecated.
Category DEPRECATION
Classification DEPRECATION
SeverityLevel WARNING
SECURITY category
Security notifications indicate that the result of the query or command might have a potential security
issue. Verify that this is the intended behavior of your query or command.
Descriptions • The user does not have the role. See Status Codes documentation for more
information.
• The role does not have the privilege. See Status Codes documentation for more
information.
Category SECURITY
Status description note: successful completion - role or privilege not assigned. { $cmd } has no effect. The role or
privilege is not assigned.
Classification SECURITY
SeverityLevel INFORMATION
*<command> and cmd could be either the full command given by the user or a subset of the given command.
114
Example 40. Revoking a role from a user who does not have that role
Command
Command
115
Example 41. Revoking a privilege from a role that does not have that privilege
Command
Command
Descriptions • The user already has the role. See Status Codes documentation for more
information.
• The role already has the privilege. See Status Codes documentation for more
information.
Category SECURITY
116
Status description note: successful completion - role or privilege already assigned. { $cmd } has no effect. The role or
privilege is already assigned.
Classification SECURITY
SeverityLevel INFORMATION
*<command> and cmd could be either the full command given by the user or a subset of the given command.
Example 42. Granting a role to a user who already has that role
Command
Command
117
Example 43. Granting or denying a privilege to a role that already has that privilege
Command
Command
Description Role does not exist. Make sure nothing is misspelled. This notification will become an error in a
future major version. See Status Codes documentation for more information.
Category SECURITY
Status description warn: impossible revoke command. cmd has no effect. $msg Make sure nothing is
misspelled. This notification will become an error in a future major version.
118
Classification SECURITY
SeverityLevel WARNING
*<command> and cmd could be either the full command given by the user or a subset of the given command.
Command
Command
119
Example 45. Revoking a role from a non-existing user
Command
Command
120
Example 46. Revoking a privilege from a non-existing role
Command
Command
121
Example 47. Revoking a privilege on a non-existing graph from a role
Command
Command
122
Example 48. Revoking a privilege on a non-existing database from a role
Command
Command
123
Example 49. Revoking a privilege from a role with wildcard graph parameter
Parameter
{
"graph": "*"
}
Command
Parameter
{
"graph": "*"
}
Command
124
Example 50. Revoking a privilege from a role with a wildcard database parameter
Parameter
{
"database": "*"
}
Command
Parameter
{
"database": "*"
}
Command
125
AuthProviderNotDefined
Table 36. Notification details
Description The auth provider { $provider } is not defined in the configuration. Verify that the
spelling is correct or define { $provider } in the configuration.
Category SECURITY
Status description note: successful completion - undefined auth provider. The auth provider { $auth } is
not defined in the configuration. Verify that the spelling is correct or define { $auth }
in the configuration.
Classification SECURITY
SeverityLevel INFORMATION
126
Example 51. Create a user with an auth provider that is not defined in the configuration
Command
Command
127
Example 52. Alter a user to add an auth provider that is not defined in the configuration
Command
Command
ExternalAuthNotEnabled
Table 37. Notification details
Category SECURITY
128
Status description warn: external auth disabled. Use the setting 'dbms.security.require_local_user' to enable external
auth.
Classification SECURITY
SeverityLevel WARNING
Example 53. Create a user with an external auth provider when linked users are not enabled
Command
Command
129
Example 54. Alter a user to add an external auth provider when linked users are not enabled
Command
Command
TOPOLOGY category
Topology notifications provide additional information related to managing databases and servers.
Description Server %s is already enabled. Verify that this is the intended server.
Category TOPOLOGY
130
Status description note: successful completion - server already enabled. ENABLE SERVER has no effect.
Server { $server } is already enabled. Verify that this is the intended server.
Classification TOPOLOGY
SeverityLevel INFORMATION
Command
Command
Description Server %s is already cordoned. Verify that this is the intended server.
Category TOPOLOGY
Status description note: successful completion - server already cordoned. CORDON SERVER has no effect.
Server { $server } is already cordoned. Verify that this is the intended server.
131
Classification TOPOLOGY
SeverityLevel INFORMATION
Command
Command
No databases reallocated
Table 40. Notification details
Category TOPOLOGY
Status description note: successful completion - no databases reallocated. REALLOCATE DATABASES has
no effect. No databases were reallocated. No better allocation is currently possible.
Classification TOPOLOGY
SeverityLevel INFORMATION
132
Example 57. Reallocating databases resulted in no allocation changes
Command
REALLOCATE DATABASES
Example scenarios
Scenario 1: The cluster is already balanced. For example, when there are three servers, each
hosting databases foo and bar, meaning all databases are allocated to all servers.
Scenario 2: The cluster appears unbalanced, but server constraints prevent you from moving
to a better, more balanced, allocation. For example, assuming server 1 hosts databases foo
and bar, server 2 hosts only foo, and server 3 hosts no databases. Then, a better allocation
would move foo from server 1 to server 3, but if server 3 has the constraint
deniedDatabases:['foo']}, then the cluster is already balanced subject to this constraint.
Command
REALLOCATE DATABASES
Example scenarios
Scenario 1: The cluster is already balanced. For example, when there are three servers, each
hosting databases foo and bar, meaning all databases are allocated to all servers.
Scenario 2: The cluster appears unbalanced, but server constraints prevent you from moving
to a better, more balanced, allocation. For example, assuming server 1 hosts databases foo
and bar, server 2 hosts only foo, and server 3 hosts no databases. Then, a better allocation
would move foo from server 1 to server 3, but if server 3 has the constraint
deniedDatabases:['foo']}, then the cluster is already balanced subject to this constraint.
133
there are no cordoned servers and, therefore, does not return it.
Category TOPOLOGY
Status description note: successful completion - cordoned servers existed during allocation. Cordoned
servers existed when making an allocation decision. Server(s) { $server_list } are
cordoned. This can impact allocation decisions.
Classification TOPOLOGY
SeverityLevel INFORMATION
134
Example 58. Cordoned servers existed during an allocation decision
The example assumes that you have a cluster with three servers, of which server 123e4567-
e89b-12d3-a456-426614174000 is cordoned using the dbms.cluster.cordonServer procedure.
Then the below command will return this notification.
Command
The example assumes that you have a cluster with three servers, of which server 123e4567-
e89b-12d3-a456-426614174000 is cordoned using the dbms.cluster.cordonServer procedure.
Then the below command will return this notification.
Command
Description The requested topology matched the current topology. No allocations were
changed.
Category TOPOLOGY
135
Status description note: successful completion - requested topology matched current topology. ALTER
DATABASE has no effect. The requested topology matched the current topology. No
allocations were changed.
Classification TOPOLOGY
SeverityLevel INFORMATION
The example assumes that you have a cluster with three servers and a database foo with a
topology of two primaries and one secondary.
Command
The example assumes that you have a cluster with three servers and a database foo with a
topology of two primaries and one secondary.
Command
SCHEMA category
Schema notifications provide additional information related to indexes and constraints.
136
Title <command> has no effect.
Category SCHEMA
Status description note: successful completion - index or constraint already exists. { $cmd } has no
effect. { $index_constr_pat } already exists.
SeverityLevel INFORMATION
*<command> and cmd could be either the full command given by the user or a subset of the given command.
Command
Command
137
Example 61. Creating an index when another unrelated index using that name already exists
Command
Command
138
Example 62. Creating a constraint when an identical constraint already exists
Command
Command
139
Example 63. Creating a constraint when another unrelated constraint using that name already exists
Command
CREATE CONSTRAINT myConstraint IF NOT EXISTS FOR (n:Label2) REQUIRE (n.property2) IS NOT
NULL
CREATE CONSTRAINT myConstraint2 IF NOT EXISTS FOR (n:Label2) REQUIRE (n.property2) IS NOT
NULL
Command
CREATE CONSTRAINT myConstraint IF NOT EXISTS FOR (n:Label2) REQUIRE (n.property2) IS NOT
NULL
CREATE CONSTRAINT myConstraint2 IF NOT EXISTS FOR (n:Label2) REQUIRE (n.property2) IS NOT
NULL
140
Index or constraint does not exist
Table 44. Notification details
Category SCHEMA
Status description note: successful completion - index or constraint does not exist. { $cmd } has no
effect. { $index_constr_name } does not exist.
SeverityLevel INFORMATION
141
Example 64. Attempting to drop a non-existing index
Command
Command
142
Example 65. Attempting to drop a non-existing constraint
Command
Command
GENERIC notifications
GENERIC notification codes do not belong to any wider category and do not have any connection to each
other.
Title Variable in subquery is shadowing a variable with the same name from the outer
scope.
143
Description Variable in subquery is shadowing a variable with the same name from the outer scope. If you
want to use that variable instead, it must be imported into the subquery using importing WITH
clause. (%s)
Category GENERIC
Status description info: subquery variable shadowing. The variable { $var } in the subquery uses the
same name as a variable from the outer query. Use WITH $var in the subquery to
import the one from the outer scope unless you want it to be a new variable.
Classification GENERIC
SeverityLevel INFORMATION
144
Example 66. Shadowing of a variable from the outer scope
Query
MATCH (n)
CALL {
MATCH (n)--(m)
RETURN m
}
RETURN *
MATCH (n)
CALL {
WITH n
MATCH (n)--(m)
RETURN m
}
RETURN *
145
Query
MATCH (n)
CALL {
MATCH (n)--(m)
RETURN m
}
RETURN *
MATCH (n)
CALL {
WITH n
MATCH (n)--(m)
RETURN m
}
RETURN *
Title The use of OPTIONAL is redundant when the procedure calls a void procedure.
Category GENERIC
Status description info: redundant optional procedure. The use of OPTIONAL is redundant as CALL %s is
a void procedure.
Classification GENERIC
SeverityLevel INFORMATION
146
Example 67. Redundant use of OPTIONAL in a procedure call
Query
CALL db.createLabel("A")
Query
CALL db.createLabel("A")
Category GENERIC
147
Status description info: redundant optional subquery. The use of OPTIONAL is redundant as CALL is a
unit subquery.
Classification GENERIC
SeverityLevel INFORMATION
148
Example 68. Redundant use of OPTIONAL in a CALL subquery
Query
UNWIND [1, 2, 3] AS x
OPTIONAL CALL (x) {
CREATE({i:x})
}
UNWIND [1, 2, 3] AS x
CALL (x) {
CREATE({i:x})
}
Query
UNWIND [1, 2, 3] AS x
OPTIONAL CALL (x) {
CREATE({i:x})
}
UNWIND [1, 2, 3] AS x
CALL (x) {
CREATE({i:x})
}
Parameter missing
Table 48. Notification details
149
Neo4j code Neo.ClientNotification.Statement.ParameterNotProvided
Title The statement refers to a parameter that was not provided in the request.
Description Did not supply query with enough parameters. The produced query plan will not be cached and is
not executable without EXPLAIN. (%s)
Category GENERIC
Status description warn: parameter missing. The query plan cannot be cached and is not executable
without EXPLAIN due to the undefined parameter(s) { $param_list }. Provide the
parameter(s).
Classification GENERIC
SeverityLevel WARNING
Example 69. Using an EXPLAIN query with parameters without providing them
Query
Query
150
Procedure or function execution warning
Table 49. Notification details
Category GENERIC
Status description warn: procedure execution warning. The procedure { $proc } generates the
warning { $msg }.
Classification GENERIC
SeverityLevel WARNING
Title The query contains a relationship type expression that cannot be satisfied.
Category GENERIC
Status description warn: unsatisfiable relationship type expression. The expression { $label_expr }
cannot be satisfied because relationships must have exactly one type.
Classification GENERIC
SeverityLevel WARNING
151
Example 70. Matching on a relationship type expression that can never be satisfied
Query
Query
Title The query returns no results because a relationship variable is bound more than
once.
Description • A relationship is referenced more than once in the query, which leads to no
results because relationships must not occur more than once in each result. (%s)
Category GENERIC
Status description warn: repeated relationship reference. { $var } is repeated in { $pat }, which
leads to no results.
Classification GENERIC
152
SeverityLevel WARNING
Query
Query
153
Example 72. Binding a variable-length relationship variable more than once (when run on version 5.6 or
newer)
Query
Query
154
Changes to status codes per Neo4j version
Neo4j 5.25
Starting from 5.25, the query log includes the GQL error information under the JSON object errorInfo. For
more information, see Operations Manual → GQL error information.
Neo4j 5.24
New:
Neo.ClientNotification.Statement.RedundantOptionalProcedure
Neo.ClientNotification.Statement.RedundantOptionalSubquery
Neo.ClientNotification.Security.AuthProviderNotDefined
Neo.ClientNotification.Security.ExternalAuthNotEnabled
Neo.ClientNotification.Statement.AggregationSkippedNull
Neo4j 5.23
From version 5.23, Neo4j has a new GqlStatusObject API in addition to the existing Notification API.
The GqlStatusObject API provides information about the status of a Cypher query or command execution
in compliance with the GQL standard. It includes GQLSTATUS code, StatusDescription, and
DiagnosticRecord. For more information, see GQL-status notification object.
Neo4j 5.17
New:
Neo.ClientNotification.Cluster.RequestedTopologyMatchedCurrentTopology
Neo.ClientNotification.Schema.IndexOrConstraintAlreadyExists
Neo.ClientNotification.Schema.IndexOrConstraintDoesNotExist
Neo4j 5.15
New:
Neo.ClientNotification.Cluster.CordonedServersExistedDuringAllocation
Neo4j 5.14
New:
Neo.ClientNotification.Cluster.NoDatabasesReallocated
Neo.ClientNotification.Statement.SideEffectVisibility
155
Changed
Neo4j 5.13
New:
Neo.ClientNotification.Cluster.ServerAlreadyEnabled
Neo.ClientError.ChangeDataCapture.InvalidIdentifier
Neo.TransientError.ChangeDataCapture.FutureIdentifier
Neo.DatabaseError.ChangeDataCapture.Disabled
Neo.DatabaseError.ChangeDataCapture.ScanFailure
Neo4j 5.9
New:
Neo.ClientNotification.Security.CommandHasNoEffect
Neo.ClientNotification.Security.ImpossibleRevokeCommand
Neo4j 5.5
New:
Neo.ClientNotification.Statement.RepeatedRelationshipReference
Neo4j 5.4
New:
Neo.ClientNotification.Statement.UnsatisfiableRelationshipTypeExpression
Neo4j 5.0
New:
Neo.ClientNotification.Database.HomeDatabaseNotFound
Neo.ClientNotification.Request.DeprecatedFormat
Neo.ClientNotification.Schema.HintedIndexNotFound
Neo.ClientNotification.Statement.CartesianProduct
Neo.ClientNotification.Statement.CodeGenerationFailed
Neo.ClientNotification.Statement.DynamicProperty
Neo.ClientNotification.Statement.EagerOperator
Neo.ClientNotification.Statement.ExhaustiveShortestPath
Neo.ClientNotification.Statement.NoApplicableIndex
Neo.ClientNotification.Statement.RuntimeExperimental
Neo.ClientNotification.Statement.SubqueryVariableShadowing
Neo.ClientNotification.Statement.UnboundedVariableLengthPattern
Neo.ClientNotification.Statement.ParameterNotProvided
Neo.ClientError.Statement.UnsupportedOperationError
156
Removed:
Neo.ClientError.Statement.CodeGenerationFailed
Neo.TransientError.Transaction.TransientTransactionFailure
Neo.ClientNotification.Statement.CartesianProductWarning
Neo.ClientNotification.Statement.DynamicPropertyWarning
Neo.ClientNotification.Statement.EagerOperatorWarning
Neo.ClientNotification.Statement.ExhaustiveShortestPathWarning
Neo.ClientNotification.Statement.ExperimentalFeature
Neo.ClientNotification.Statement.MissingAlias
Neo.ClientNotification.Statement.NoApplicableIndexWarning
Neo.ClientNotification.Statement.SubqueryVariableShadowingWarning
Neo.ClientNotification.Statement.UnboundedVariableLengthPatternWarning
Neo4j 4.4
New:
Neo.ClientError.Statement.UnsupportedAdministrationCommand
Neo.DatabaseError.Transaction.LinkedTransactionError
Neo4j 4.3
New:
Neo.ClientError.General.UpgradeRequired
Neo.TransientError.Statement.ExecutionTimeout
Neo4j 4.2
New:
Neo.ClientNotification.Statement.MissingAlias
Neo.ClientNotification.Statement.SubqueryVariableShadowingWarning
Neo.TransientError.Transaction.TransientTransactionFailure
Neo4j 4.1
New:
Neo.ClientError.Cluster.Routing
Neo.ClientError.General.TransactionOutOfMemoryError
Neo.ClientError.Statement.AccessMode
Neo.DatabaseError.Statement.RemoteExecutionFailed
Neo.TransientError.General.MemoryPoolOutOfMemoryError
Removed:
Neo.ClientError.Cluster.TransactionSizeExceedsLimit
Neo.DatabaseError.Cluster.SerializationFailure
Neo.TransientError.General.TransactionOutOfMemoryError
157
Neo4j 4.0
New:
Neo.ClientError.Cluster.TransactionSizeExceedsLimit
Neo.ClientError.Database.DatabaseNotFound
Neo.ClientError.Database.ExistingDatabaseFound
Neo.ClientError.Fabric.AccessMode
Neo.ClientError.Schema.ConstraintViolation
Neo.ClientError.Schema.ConstraintWithNameAlreadyExists
Neo.ClientError.Schema.EquivalentSchemaRuleAlreadyExists
Neo.ClientError.Schema.IndexMultipleFound
Neo.ClientError.Schema.IndexWithNameAlreadyExists
Neo.ClientError.Statement.NotSystemDatabaseError
Neo.ClientError.Statement.RuntimeUnsupportedError
Neo.ClientError.Transaction.InvalidBookmarkMixture
Neo.DatabaseError.Cluster.SerializationFailure
Neo.DatabaseError.Database.DatabaseLimitReached
Neo.DatabaseError.Database.UnableToStartDatabase
Neo.DatabaseError.Database.Unknown
Neo.DatabaseError.Fabric.RemoteExecutionFailed
Neo.DatabaseError.Schema.TokenLimitReached
Neo.DatabaseError.Statement.CodeGenerationFailed
Neo.TransientError.Database.DatabaseUnavailable
Neo.TransientError.General.TransactionMemoryLimit
Neo.TransientError.General.TransactionOutOfMemoryError
Neo.TransientError.Transaction.BookmarkTimeout
Neo.TransientError.Transaction.LeaseExpired
Neo.TransientError.Transaction.MaximumTransactionLimitReached
Removed:
Neo.ClientError.LegacyIndex.LegacyIndexNotFound
Neo.ClientError.Request.TransactionRequired
Neo.ClientError.Schema.ConstraintVerificationFailed
Neo.ClientError.Security.EncryptionRequired
Neo.ClientError.Statement.LabelNotFound
Neo.ClientNotification.Statement.CreateUniqueUnavailableWarning
Neo.ClientNotification.Statement.JoinHintUnsupportedWarning
Neo.ClientNotification.Statement.PlannerUnavailableWarning
Neo.ClientNotification.Statement.PlannerUnsupportedWarning
Neo.DatabaseError.Schema.LabelLimitReached
Neo.TransientError.Cluster.NoLeaderAvailable
Neo.TransientError.General.DatabaseUnavailable
Neo.TransientError.Network.CommunicationError
Neo.TransientError.Schema.SchemaModifiedConcurrently
Neo.TransientError.Transaction.InstanceStateChanged
Neo.TransientError.Transaction.LockSessionExpired
158
License
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
Adapt
remix, transform, and build upon the material
The licensor cannot revoke these freedoms as long as you follow the license terms.
NonCommercial
You may not use the material for commercial purposes.
ShareAlike
If you remix, transform, or build upon the material, you must distribute your contributions under the
same license as the original.
No additional restrictions
You may not apply legal terms or technological measures that legally restrict others from doing
anything the license permits.
Notices
You do not have to comply with the license for elements of the material in the public domain or where your
use is permitted by an applicable exception or limitation.
No warranties are given. The license may not give you all of the permissions necessary for your intended
use. For example, other rights such as publicity, privacy, or moral rights may limit how you use the
material.
See https://creativecommons.org/licenses/by-nc-sa/4.0/ for further details. The full license text is available
at https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.
159