Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
107 commits
Select commit Hold shift + click to select a range
43a00fc
bump version to 2025.02 (#259)
renetapopova Feb 5, 2025
6186dc0
Replace 51N27 parameter name item with component (#260)
renetapopova Feb 10, 2025
3b7bf56
Change parameters of 22N14 (#261)
Lojjs Feb 10, 2025
d33d0c6
Update changelog (#263)
NataliaIvakina Feb 17, 2025
3e824e4
Remove labels `Introduced in 5.x` (#266)
NataliaIvakina Feb 19, 2025
64364b6
Dev parameters hover over (#268)
renetapopova Feb 25, 2025
2abb708
Document errors implemented in 2025.02 (#270)
renetapopova Feb 28, 2025
c5d9a86
Update dev version to 2025.03 (#274)
renetapopova Feb 28, 2025
2032e58
Remove 42002 (#278)
hvub Mar 17, 2025
05e53e6
Typo causing broken link (#280)
lidiazuin Mar 19, 2025
4f241fa
Add 50N23 for failed Call In Transactions retry (#276)
alexfoxgill Mar 19, 2025
e35b366
Update docs-pr-checks.yml (#281)
recrwplay Mar 19, 2025
ed4842d
Add examples to the glossary descriptions (#275)
renetapopova Mar 24, 2025
8c72b5d
Document errors implemented in 2025.03 (#284)
renetapopova Mar 24, 2025
7edd9c9
Update conditions and messages of 22N51, 42N00, 42N11, 25N05, 42N39, …
NataliaIvakina Mar 24, 2025
a174b33
Update the version to 2025.04 (#290)
NataliaIvakina Mar 28, 2025
f99aaa5
New Error - Vector coordinate type (#279)
gem-neo4j Mar 31, 2025
ad88e7f
id() changed to a feature deprecated with replacement and move unsupp…
renetapopova Mar 31, 2025
7205b56
Change parameter serverName to server (#287)
Lojjs Mar 31, 2025
5033936
Update message of 2DN01 (#288)
Lojjs Mar 31, 2025
cc5f8c0
Error missing in the content-nav (#294)
lidiazuin Apr 10, 2025
16559ba
Fix a wrong title for 52N28 (#296)
renetapopova Apr 10, 2025
ba5cc44
Add errors implemented in 2025.04 (#299)
NataliaIvakina Apr 28, 2025
f42d50b
Add errors implemented in the code (#304)
NataliaIvakina Apr 30, 2025
6015f84
Update version to 2025.05 (#306)
renetapopova Apr 30, 2025
41a47ad
Change parameter of 42N11 to a list. (#300)
Lojjs May 1, 2025
93f19db
Final surface codes (#301)
JoelBergstrand May 1, 2025
dc6b4b3
Generate gql-errors index.adoc file (#302)
renetapopova May 6, 2025
51b4a9e
Update the scripts readme (#310)
renetapopova May 6, 2025
240409c
Document new GQLSTATUS 22NB9 (#303)
Lojjs May 8, 2025
1abaa32
Fix a heading mistake and the index generation message (#314)
renetapopova May 9, 2025
8d6c26d
Add some missing glossary entries and fix 42I14 (#317)
renetapopova May 19, 2025
0cf19ec
Update the readme file (#318)
renetapopova May 19, 2025
e68d6af
Add a note that error messages are deprecated (#313)
renetapopova May 19, 2025
055a4cc
"or an application-generated id" -> "or consider using an application…
hvub May 27, 2025
d5829c6
Add 52N40 and 52N41 (#321)
nick-giles-neo May 27, 2025
05e5ecc
Update version to 2025.06 (#337)
renetapopova Jun 3, 2025
e869062
Remove old Neo4j statuses. (#291)
Lojjs Jun 5, 2025
e181f58
Update 51N31 to not use <<item>> (#328)
Hunterness Jun 5, 2025
3b19ee9
Add new GQLSTATUS 22NBA (#329)
Lojjs Jun 5, 2025
6aca200
Fix error message so it makes sense (#335)
ConorNeo Jun 5, 2025
44320be
Extend 51N41 with reason (#342)
gfx54b Jun 16, 2025
bc5ce3c
Add 22NBC (#343)
sherfert Jun 16, 2025
984cb3f
Clarify that 42NA8 might show sub-commands (#348)
Lojjs Jun 30, 2025
4f7202f
Dev merge cypher25 (#353)
renetapopova Jul 2, 2025
25510f2
New Error - Distance metric (#345)
gem-neo4j Jul 2, 2025
cdd8acc
Errors and deprecations for graph references (#340)
Lojjs Jul 2, 2025
854eb8f
remove a leftover category (#355)
renetapopova Jul 2, 2025
d349f72
update version to 2025.07 (#357)
renetapopova Jul 2, 2025
e4264f5
Added 42I64 - unsupported aggregation (#359)
JoelBergstrand Jul 8, 2025
c524105
Adding 42I63 wrong clause order (#347)
JoelBergstrand Jul 8, 2025
308f658
Add 51N77 (#346)
sherfert Jul 8, 2025
1bde802
Add new GQLSTATUS codes 22NAA and 22NAB (#349)
Lojjs Jul 9, 2025
fdb9faf
Update 22N69 and 22N71 to have more consistent wording when compared …
Hunterness Jul 9, 2025
d21eb4f
42I64 - Unsupported operation (#360)
JoelBergstrand Jul 22, 2025
9e6463e
Update 51N52 and 51N53 to work for both alter and create (#344)
OliviaYtterbrink Jul 22, 2025
7d27904
Regenerate index file (#363)
renetapopova Jul 22, 2025
5a80b14
Update to 2025.08 (#365)
NataliaIvakina Jul 31, 2025
ebe7c23
Error 51N77 missing from content nav causing broken link (#368)
lidiazuin Aug 7, 2025
8456995
Introduce 22NBD - Unsupported Struct (#371)
gjmwoods Aug 22, 2025
2b63c9d
Bump to 2025.09 (#379)
NataliaIvakina Sep 2, 2025
0d91957
Update workflows to v2 (#372)
recrwplay Sep 8, 2025
5a31a72
Error codes: 42I65 and 42I66 (#375)
JoelBergstrand Sep 9, 2025
1cd7349
Added error code 42I67 unsupported language feature (#381)
JoelBergstrand Sep 9, 2025
5dc3cef
Update deprecation message for legacy text index providers. (#370)
MishaDemianenko Sep 9, 2025
230b1d5
Add 22NBE and 22NBF (#374)
sherfert Sep 10, 2025
be4de65
Introduces GQLSTATUS 22N60 (#382)
bigmontz Sep 11, 2025
b1a5f0a
Update version to 2025.10 (#387)
renetapopova Sep 29, 2025
ff5cbb2
Adding 42I68, mismatched pattern, 53N33 function invocation failed (#…
JoelBergstrand Oct 8, 2025
0d4d229
add new notification (#388)
OliviaYtterbrink Oct 21, 2025
67d0942
added oidc credential forwarding not enabled notification (#391)
evelinadanielsson Oct 28, 2025
f70803b
Add error code for operations that require implicit transaction (#385)
pontusmelke Oct 29, 2025
d5df685
Update the version to 2025.11 (#404)
renetapopova Oct 30, 2025
57ceb3d
Add notification warning for vector on incompatible client (#392)
gjmwoods Oct 30, 2025
182a56a
Extend 52N11/17 with message (#393)
gfx54b Oct 30, 2025
8af5aba
Add `50N24` and `50N25` (#396)
jackwaudby Oct 30, 2025
798f0d3
Add 42NAB (#397)
hvub Oct 30, 2025
325d78f
Additional errors for 42NAC, 50N26, 51N7A (#398)
mnd999 Oct 30, 2025
75b37fe
Add errors for unsupported combinations with path modes (#399)
dogofbrian Nov 4, 2025
3354df6
Add new code for commands not allowed with auth disabled (#405)
Hunterness Nov 6, 2025
bc301e2
Add new error code for having a use clause with admin commands (#402)
OliviaYtterbrink Nov 10, 2025
31f97e9
Added examples of notifications connected to deprecated namespaces (#…
JoelBergstrand Nov 10, 2025
aff6a7f
Add 22G0I
loveleif Nov 10, 2025
5918082
Add AUTH RULE notifications (#409)
l-heemann Nov 17, 2025
5271a67
Remove all introduced in and changed in labels (#414)
renetapopova Nov 18, 2025
14dd285
Remove which (#419)
renetapopova Nov 18, 2025
38f742d
Add changed in label on the level of the description (#418)
renetapopova Nov 19, 2025
7b081c7
Fix a typo (#422)
renetapopova Nov 20, 2025
1298a9f
Errors for Graph Type (#341)
mnd999 Nov 26, 2025
d40e248
Update the changelog page (#415)
renetapopova Nov 27, 2025
ec3e69c
adding error codes for ABAC metadata function (#390)
phil198 Dec 8, 2025
ec11b3d
Add 22ND1 and 22ND2 (#412)
l-heemann Dec 8, 2025
de22f12
Add 42NAD and 42NAE (#413)
HannesSandberg Dec 11, 2025
d186c97
Rephrase status description of 42I67. (#427)
Lojjs Dec 15, 2025
36ee635
Update antora.yml to 2025.12 (#433)
NataliaIvakina Dec 22, 2025
846c45b
Update the version number to 2026.01 (#436)
NataliaIvakina Jan 16, 2026
f639c62
Add new GQLSTATUS codes for search (#408)
Lojjs Jan 16, 2026
ce30241
22NAC, 22NAD and 22NAE for LOAD CSV (#428)
fastlag Jan 16, 2026
b89ecda
Update notifications around Importing WITH and variable scope clauses…
Lojjs Jan 16, 2026
b2e99dc
Adding missing codes to the index file (#438)
renetapopova Jan 19, 2026
ba31e6d
fix the title of 25N14 to 25N15 (#439)
renetapopova Jan 20, 2026
2c1cb46
remove the note about errors being unstable (#441)
renetapopova Jan 21, 2026
d3f1564
Introduce `Neo.ClientNotification.Request.FeatureDeprecationWarning` …
bigmontz Jan 26, 2026
cc78be3
Add index name to 51N63 (#445)
inmost-light Jan 27, 2026
008cd1a
Add 42I76 (#437)
parnmatt Jan 27, 2026
732ffca
Update documentation to reflect description of GQL error 22N31 (#448)
neo-harshg Jan 28, 2026
2f0ac78
Merge branch 'dev' into main-2026.01.3
renetapopova Feb 4, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions antora.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
name: status-codes
title: Status Codes for Errors & Notifications
version: '2025.12'
version: '2026.01'
start_page: ROOT:index.adoc
nav:
- modules/ROOT/content-nav.adoc
asciidoc:
attributes:
page-origin-private: false
neo4j-version: '2025.12'
neo4j-version-exact: '2025.12.1'
neo4j-buildnumber: '2025.12'
neo4j-version: '2026.01'
neo4j-version-exact: '2026.01.3'
neo4j-buildnumber: '2026.01'
8 changes: 8 additions & 0 deletions modules/ROOT/content-nav.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,9 @@
**** xref:errors/gql-errors/22NA9.adoc[]
**** xref:errors/gql-errors/22NAA.adoc[]
**** xref:errors/gql-errors/22NAB.adoc[]
**** xref:errors/gql-errors/22NAC.adoc[]
**** xref:errors/gql-errors/22NAD.adoc[]
**** xref:errors/gql-errors/22NAE.adoc[]
**** xref:errors/gql-errors/22NB0.adoc[]
**** xref:errors/gql-errors/22NB1.adoc[]
**** xref:errors/gql-errors/22NB2.adoc[]
Expand Down Expand Up @@ -285,6 +288,11 @@
**** xref:errors/gql-errors/42I66.adoc[]
**** xref:errors/gql-errors/42I67.adoc[]
**** xref:errors/gql-errors/42I68.adoc[]
**** xref:errors/gql-errors/42I69.adoc[]
**** xref:errors/gql-errors/42I70.adoc[]
**** xref:errors/gql-errors/42I71.adoc[]
**** xref:errors/gql-errors/42I72.adoc[]
**** xref:errors/gql-errors/42I76.adoc[]
**** xref:errors/gql-errors/42N00.adoc[]
**** xref:errors/gql-errors/42N01.adoc[]
**** xref:errors/gql-errors/42N02.adoc[]
Expand Down
4 changes: 3 additions & 1 deletion modules/ROOT/pages/errors/all-errors.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,9 @@ If you want to drop the index, you must also drop the constraint.
| Neo.ClientError.Schema.RepeatedRelationshipTypeInSchema
| Unable to create an index or a constraint because the schema had a repeated relationship type.

| Neo.ClientError.Schema.SchemaRuleEntrySizeLimitError
| A schema rule entry exceeded the maximum allowed size.

| Neo.ClientError.Schema.TokenLengthError
| A token name, such as a label, relationship type or property key is too long

Expand Down Expand Up @@ -491,4 +494,3 @@ Please restore from backup.
| The database was unable to terminate the transaction.

|===

45 changes: 44 additions & 1 deletion modules/ROOT/pages/errors/gql-errors/22N31.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,50 @@


== Status description
error: data exception - invalid properties in merge pattern. `MERGE` cannot be used with graph element property values that are null or NaN.
error: data exception - invalid properties in merge pattern. The `{ <<entityType>> }` property `{ <<propKey>> }` in `{ <<pat>> }` is invalid. `MERGE` cannot be used with a graph element property value that is `{ <<value>> }`.

== Explanation
This error occurs when a `MERGE` pattern includes a node or relationship property value that is not allowed, such as `null` or `NaN`.
Because `MERGE` must be able to match or create a concrete graph element, these invalid values are rejected.

== Example scenarios

Let's take the following example scenarios:

=== Null property value in a `MERGE` pattern
For example, try to merge a node with a `null` property value as follows:

[source,cypher]
----
MERGE (p:Person {age: null})
----

The query returns an error with GQLSTATUS 22N31 and the status description:

[source]
----
error: data exception - invalid properties in merge pattern. The node property 'age' in '(:Person {age: null})' is invalid. `MERGE` cannot be used with a graph element property value that is null.
----

In this case, provide a concrete value for the property, or remove it from the `MERGE` pattern.

=== NaN property value in a `MERGE` pattern
For example, try to merge a relationship with a `NaN` property value as follows:

[source,cypher]
----
WITH 0.0/0.0 AS nan
MERGE (a:Person)-[:KNOWS {score: nan}]->(b:Person)
----

The query returns an error with GQLSTATUS 22N31 and the status description:

[source]
----
error: data exception - invalid properties in merge pattern. The relationship property 'score' in '(:Person)-[:KNOWS {score: NaN}]->(:Person)' is invalid. 'MERGE' cannot be used with graph element property value that is NaN.
----

In this case, provide a numeric value for the property, or remove it from the `MERGE` pattern.


ifndef::backend-pdf[]
Expand Down
40 changes: 40 additions & 0 deletions modules/ROOT/pages/errors/gql-errors/22NAC.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
= 22NAC

== Status description
error: data exception - characters after quote in CSV field. Characters after an ending quote in a CSV field are not supported. See `{ <<input>> }` at position `{ <<pos>> }`. This is read as `{ <<variable>> }`.

== Explanation
When a CSV file contains a field that starts with a quote and has content after the ending quote, the file is formatted incorrectly, and trying to read such a file with `LOAD CSV` will result in an error.

== Example scenario

For example, let's say you have a CSV file, called `somefile.csv`, with the following content:

[source,csv]
----
x,y
"x",1
"y"y,2
----

Then, when you run the following query:

[source,cypher]
----
LOAD CSV 'somefile.csv' AS line
RETURN count(line)
----

you will receive an error with GQLSTATUS 22NAC and status description:

[source]
----
error: data exception - characters after quote in CSV field. Characters after an ending quote in a CSV field are not supported. See 'somefile.csv' at position 14. This is read as `y"y` .
----

ifndef::backend-pdf[]
[discrete.glossary]
== Glossary

include::partial$glossary.adoc[]
endif::[]
40 changes: 40 additions & 0 deletions modules/ROOT/pages/errors/gql-errors/22NAD.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
= 22NAD

== Status description
error: data exception - missing end quote in CSV field. Missing end quote at position `{ <<pos>> }` in `{ <<input>> }`.

== Explanation
When a CSV file contains a field that starts with a quote but misses an ending quote, the file is formatted incorrectly and trying to read such a file with `LOAD CSV` will result in an error.

== Example scenario

For example, let's say you have a CSV file, called `somefile.csv`, with the following content:

[source,csv]
----
x,y
"x",1
"y,2
----

Then, when you run the following query:

[source,cypher]
----
LOAD CSV 'somefile.csv' AS line
RETURN count(line)
----

you will receive an error with GQLSTATUS 22NAD and status description:

[source]
----
error: data exception - missing end quote in CSV field. Missing end quote at position 15 in 'somefile.csv'.
----

ifndef::backend-pdf[]
[discrete.glossary]
== Glossary

include::partial$glossary.adoc[]
endif::[]
41 changes: 41 additions & 0 deletions modules/ROOT/pages/errors/gql-errors/22NAE.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
= 22NAE

== Status description
error: data exception - multi-line field in illegal CSV context. Multi-line fields are illegal in this context. Verify that there is not a missing end quote in `{ <<input>> }` at position `{ <<pos>> }`.

== Explanation
This error is thrown when a CSV file contains a field that spans multiple lines, but the context in which it is being read does not allow multi-line fields.
This often occurs when there is a missing end quote in a quoted field.

== Example scenario

For example, let's say you have a CSV file, called `somefile.csv`, with the following content:
[source,csv]
----
x,y
"x",1
"y
",2
----

And that the `neo4j` database logging is configured with specific allowed multiline files, but where `somefile.csv` is not among them.

Then, when you run the following query:
[source,cypher]
----
LOAD CSV 'somefile.csv' AS line
RETURN count(line)
----

you will receive an error with GQLSTATUS 22NAE and status description:
[source]
----
error: data exception - multi-line field in illegal CSV context. Multi-line fields are illegal in this context. Verify that there is not a missing end quote in 'somefile.csv' at position 15.
----

ifndef::backend-pdf[]
[discrete.glossary]
== Glossary

include::partial$glossary.adoc[]
endif::[]
35 changes: 35 additions & 0 deletions modules/ROOT/pages/errors/gql-errors/42I69.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
= 42I69

== Status description
error: syntax error or access rule violation - invalid search variable reference. `{ <<variable>> }` must reference a variable from the same `MATCH` statement.

== Example scenario

For example, when trying to use a variable from a previous `MATCH` statement as variable reference in a `SEARCH` clause:

[source,cypher]
----
CYPHER 25
MATCH (movie:Movie)
MATCH (m:Movie {title:'Matrix, The'})
SEARCH movie IN (
VECTOR INDEX moviePlots
FOR [1, 2, 3]
LIMIT 5
)
RETURN movie.title AS title
----

You will receive an error with GQLSTATUS xref:errors/gql-errors/42001.adoc[42001] with a cause with GQLSTATUS 42I69 and status description:

[source]
----
error: syntax error or access rule violation - invalid search variable reference. `movie` must reference a variable from the same `MATCH` statement.
----

ifndef::backend-pdf[]
[discrete.glossary]
== Glossary

include::partial$glossary.adoc[]
endif::[]
48 changes: 48 additions & 0 deletions modules/ROOT/pages/errors/gql-errors/42I70.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
= 42I70

== Status description
error: syntax error or access rule violation - search clause with multiple bound variables. In order to have a search clause, a `MATCH` statement can only have one bound variable.

[#_example_scenario]
== Example scenario

For example, when trying to use a `SEARCH` clause in a `MATCH` statement with more than one bound variable:

[source,cypher]
----
Cypher 25
MATCH (movie:Movie)-[r]->()
SEARCH movie IN (
VECTOR INDEX moviePlots
FOR [1, 2, 3]
LIMIT 5
)
RETURN movie.title AS title, r.prop AS prop
----

You will receive an error with GQLSTATUS xref:errors/gql-errors/42001.adoc[42001] with a cause with GQLSTATUS 42I70.

== Possible solution
The first iteration of the `SEARCH` clause comes with many restrictions on the `MATCH` statement.
It is likely that some of these restriction will be lifted in future versions of Neo4j.
For the time being, the Cypher query under xref:errors/gql-errors/42I70.adoc#_example_scenario[Example scenario] can be rewritten like this:

[source,cypher]
----
CYPHER 25
MATCH (movie:Movie)
SEARCH movie IN (
VECTOR INDEX moviePlots
FOR [1, 2, 3]
LIMIT 5
)
MATCH (movie)-[r]->()
RETURN movie.title AS title, r.prop AS prop
----

ifndef::backend-pdf[]
[discrete.glossary]
== Glossary

include::partial$glossary.adoc[]
endif::[]
48 changes: 48 additions & 0 deletions modules/ROOT/pages/errors/gql-errors/42I71.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
= 42I71

== Status description
error: syntax error or access rule violation - search clause with invalid predicates. In order to have a search clause, a `MATCH` statement can only have predicates on the bound node or relationship.

[#_example_scenario]
== Example scenario

For example, when trying to use a `SEARCH` clause in a `MATCH` statement with predicates on other parts of the pattern than the bound variable:

[source,cypher]
----
CYPHER 25
MATCH (movie:Movie)-[]->(:Actor)
SEARCH movie IN (
VECTOR INDEX moviePlots
FOR [1, 2, 3]
LIMIT 5
)
RETURN movie.title AS title
----

You will receive an error with GQLSTATUS xref:errors/gql-errors/42001.adoc[42001] with a cause with GQLSTATUS 42I71.

== Possible solution
The first iteration of the `SEARCH` clause comes with many restrictions on the `MATCH` statement.
It is likely that some of these restriction will be lifted in future versions of Neo4j.
For the time being, the Cypher query under xref:errors/gql-errors/42I71.adoc#_example_scenario[Example scenario] can be rewritten like this:

[source,cypher]
----
CYPHER 25
MATCH (movie:Movie)
SEARCH movie IN (
VECTOR INDEX moviePlots
FOR [1, 2, 3]
LIMIT 5
)
MATCH (movie)-[]->(:Actor)
RETURN movie.title AS title
----

ifndef::backend-pdf[]
[discrete.glossary]
== Glossary

include::partial$glossary.adoc[]
endif::[]
Loading