From cc5f8c0e3d26317bd8973dd43353226e24c3fd18 Mon Sep 17 00:00:00 2001 From: Lidia Zuin <102308961+lidiazuin@users.noreply.github.com> Date: Thu, 10 Apr 2025 11:52:34 +0200 Subject: [PATCH 01/24] Error missing in the content-nav (#294) Causing broken link. It's also being addressed in the main branch using this PR https://github.com/neo4j/docs-status-codes/pull/293, so no need to cherry-pick it. --- modules/ROOT/content-nav.adoc | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/ROOT/content-nav.adoc b/modules/ROOT/content-nav.adoc index eeaaf432..cc6306f8 100644 --- a/modules/ROOT/content-nav.adoc +++ b/modules/ROOT/content-nav.adoc @@ -433,6 +433,7 @@ **** xref:errors/gql-errors/52N24.adoc[] **** xref:errors/gql-errors/52N25.adoc[] **** xref:errors/gql-errors/52N26.adoc[] +**** xref:errors/gql-errors/52N27.adoc[] **** xref:errors/gql-errors/52N28.adoc[] **** xref:errors/gql-errors/52N29.adoc[] **** xref:errors/gql-errors/52N30.adoc[] From 16559ba97fbd3bced15afd521f32df8af2663cf0 Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Thu, 10 Apr 2025 11:00:04 +0100 Subject: [PATCH 02/24] Fix a wrong title for 52N28 (#296) --- modules/ROOT/pages/errors/gql-errors/52N28.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/errors/gql-errors/52N28.adoc b/modules/ROOT/pages/errors/gql-errors/52N28.adoc index e1b4a64e..48de4347 100644 --- a/modules/ROOT/pages/errors/gql-errors/52N28.adoc +++ b/modules/ROOT/pages/errors/gql-errors/52N28.adoc @@ -1,4 +1,4 @@ -= 52N27 += 52N28 == Status description From ba5cc44a7c8dc03cd3c3f9561731e9c6d3c3b43d Mon Sep 17 00:00:00 2001 From: NataliaIvakina <82437520+NataliaIvakina@users.noreply.github.com> Date: Mon, 28 Apr 2025 10:43:01 +0200 Subject: [PATCH 03/24] Add errors implemented in 2025.04 (#299) Co-authored-by: Louise Berglund --- modules/ROOT/content-nav.adoc | 20 ++++ .../ROOT/pages/errors/gql-errors/22N83.adoc | 14 +++ .../ROOT/pages/errors/gql-errors/22NA3.adoc | 14 +++ .../ROOT/pages/errors/gql-errors/22NB7.adoc | 14 +++ .../ROOT/pages/errors/gql-errors/22NB8.adoc | 14 +++ .../ROOT/pages/errors/gql-errors/42I30.adoc | 12 +++ .../ROOT/pages/errors/gql-errors/42N0B.adoc | 13 +++ .../ROOT/pages/errors/gql-errors/42N25.adoc | 13 +++ .../ROOT/pages/errors/gql-errors/42N41.adoc | 2 +- .../ROOT/pages/errors/gql-errors/42N52.adoc | 12 +++ .../ROOT/pages/errors/gql-errors/42N87.adoc | 12 +++ .../ROOT/pages/errors/gql-errors/42N92.adoc | 12 +++ .../ROOT/pages/errors/gql-errors/42N94.adoc | 13 +++ .../ROOT/pages/errors/gql-errors/42N95.adoc | 14 +++ .../ROOT/pages/errors/gql-errors/42N96.adoc | 14 +++ .../ROOT/pages/errors/gql-errors/42NA0.adoc | 14 +++ .../ROOT/pages/errors/gql-errors/42NA1.adoc | 14 +++ .../ROOT/pages/errors/gql-errors/42NA2.adoc | 14 +++ .../ROOT/pages/errors/gql-errors/42NA3.adoc | 14 +++ .../ROOT/pages/errors/gql-errors/42NA4.adoc | 14 +++ .../ROOT/pages/errors/gql-errors/51N31.adoc | 14 +++ .../ROOT/pages/errors/gql-errors/51N58.adoc | 14 +++ .../ROOT/pages/errors/gql-errors/index.adoc | 93 +++++++++++++++++++ 23 files changed, 383 insertions(+), 1 deletion(-) create mode 100644 modules/ROOT/pages/errors/gql-errors/22N83.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/22NA3.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/22NB7.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/22NB8.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/42I30.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/42N0B.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/42N25.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/42N52.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/42N87.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/42N92.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/42N94.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/42N95.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/42N96.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/42NA0.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/42NA1.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/42NA2.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/42NA3.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/42NA4.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/51N31.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/51N58.adoc diff --git a/modules/ROOT/content-nav.adoc b/modules/ROOT/content-nav.adoc index cc6306f8..c8cd56be 100644 --- a/modules/ROOT/content-nav.adoc +++ b/modules/ROOT/content-nav.adoc @@ -110,6 +110,7 @@ **** xref:errors/gql-errors/22N80.adoc[] **** xref:errors/gql-errors/22N81.adoc[] **** xref:errors/gql-errors/22N82.adoc[] +**** xref:errors/gql-errors/22N83.adoc[] **** xref:errors/gql-errors/22N84.adoc[] **** xref:errors/gql-errors/22N85.adoc[] **** xref:errors/gql-errors/22N86.adoc[] @@ -128,6 +129,7 @@ **** xref:errors/gql-errors/22NA0.adoc[] **** xref:errors/gql-errors/22NA1.adoc[] **** xref:errors/gql-errors/22NA2.adoc[] +**** xref:errors/gql-errors/22NA3.adoc[] **** xref:errors/gql-errors/22NA4.adoc[] **** xref:errors/gql-errors/22NA5.adoc[] **** xref:errors/gql-errors/22NA6.adoc[] @@ -141,6 +143,8 @@ **** xref:errors/gql-errors/22NB4.adoc[] **** xref:errors/gql-errors/22NB5.adoc[] **** xref:errors/gql-errors/22NB6.adoc[] +**** xref:errors/gql-errors/22NB7.adoc[] +**** xref:errors/gql-errors/22NB8.adoc[] *** xref:errors/gql-errors/index.adoc#invalid-transaction-state[Invalid transaction state] **** xref:errors/gql-errors/25G02.adoc[] **** xref:errors/gql-errors/25N01.adoc[] @@ -210,6 +214,7 @@ **** xref:errors/gql-errors/42I27.adoc[] **** xref:errors/gql-errors/42I28.adoc[] **** xref:errors/gql-errors/42I29.adoc[] +**** xref:errors/gql-errors/42I30.adoc[] **** xref:errors/gql-errors/42I31.adoc[] **** xref:errors/gql-errors/42I32.adoc[] **** xref:errors/gql-errors/42I33.adoc[] @@ -242,6 +247,7 @@ **** xref:errors/gql-errors/42N07.adoc[] **** xref:errors/gql-errors/42N08.adoc[] **** xref:errors/gql-errors/42N09.adoc[] +**** xref:errors/gql-errors/42N0B.adoc[] **** xref:errors/gql-errors/42N10.adoc[] **** xref:errors/gql-errors/42N11.adoc[] **** xref:errors/gql-errors/42N12.adoc[] @@ -257,6 +263,7 @@ **** xref:errors/gql-errors/42N22.adoc[] **** xref:errors/gql-errors/42N23.adoc[] **** xref:errors/gql-errors/42N24.adoc[] +**** xref:errors/gql-errors/42N25.adoc[] **** xref:errors/gql-errors/42N26.adoc[] **** xref:errors/gql-errors/42N28.adoc[] **** xref:errors/gql-errors/42N29.adoc[] @@ -278,6 +285,7 @@ **** xref:errors/gql-errors/42N49.adoc[] **** xref:errors/gql-errors/42N50.adoc[] **** xref:errors/gql-errors/42N51.adoc[] +**** xref:errors/gql-errors/42N52.adoc[] **** xref:errors/gql-errors/42N53.adoc[] **** xref:errors/gql-errors/42N54.adoc[] **** xref:errors/gql-errors/42N56.adoc[] @@ -306,12 +314,22 @@ **** xref:errors/gql-errors/42N84.adoc[] **** xref:errors/gql-errors/42N85.adoc[] **** xref:errors/gql-errors/42N86.adoc[] +**** xref:errors/gql-errors/42N87.adoc[] **** xref:errors/gql-errors/42N88.adoc[] **** xref:errors/gql-errors/42N89.adoc[] **** xref:errors/gql-errors/42N90.adoc[] +**** xref:errors/gql-errors/42N92.adoc[] +**** xref:errors/gql-errors/42N94.adoc[] +**** xref:errors/gql-errors/42N95.adoc[] +**** xref:errors/gql-errors/42N96.adoc[] **** xref:errors/gql-errors/42N97.adoc[] **** xref:errors/gql-errors/42N98.adoc[] **** xref:errors/gql-errors/42N99.adoc[] +**** xref:errors/gql-errors/42NA0.adoc[] +**** xref:errors/gql-errors/42NA1.adoc[] +**** xref:errors/gql-errors/42NA2.adoc[] +**** xref:errors/gql-errors/42NA3.adoc[] +**** xref:errors/gql-errors/42NA4.adoc[] **** xref:errors/gql-errors/42NA5.adoc[] **** xref:errors/gql-errors/42NA6.adoc[] **** xref:errors/gql-errors/42NA7.adoc[] @@ -369,6 +387,7 @@ **** xref:errors/gql-errors/51N28.adoc[] **** xref:errors/gql-errors/51N29.adoc[] **** xref:errors/gql-errors/51N30.adoc[] +**** xref:errors/gql-errors/51N31.adoc[] **** xref:errors/gql-errors/51N32.adoc[] **** xref:errors/gql-errors/51N33.adoc[] **** xref:errors/gql-errors/51N34.adoc[] @@ -394,6 +413,7 @@ **** xref:errors/gql-errors/51N55.adoc[] **** xref:errors/gql-errors/51N56.adoc[] **** xref:errors/gql-errors/51N57.adoc[] +**** xref:errors/gql-errors/51N58.adoc[] **** xref:errors/gql-errors/51N59.adoc[] **** xref:errors/gql-errors/51N60.adoc[] **** xref:errors/gql-errors/51N61.adoc[] diff --git a/modules/ROOT/pages/errors/gql-errors/22N83.adoc b/modules/ROOT/pages/errors/gql-errors/22N83.adoc new file mode 100644 index 00000000..6fcf22b4 --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/22N83.adoc @@ -0,0 +1,14 @@ += 22N83 + +== Status description + +error: data exception - input consists of too many components. Expected name to contain at most `{ <> }` components separated by '.'. + + + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] \ No newline at end of file diff --git a/modules/ROOT/pages/errors/gql-errors/22NA3.adoc b/modules/ROOT/pages/errors/gql-errors/22NA3.adoc new file mode 100644 index 00000000..8888b23d --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/22NA3.adoc @@ -0,0 +1,14 @@ += 22NA3 + +== Status description + +error: data exception - invalid property based access control rule involving NaN. 'NaN' is not supported for property-based access control. + + + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] \ No newline at end of file diff --git a/modules/ROOT/pages/errors/gql-errors/22NB7.adoc b/modules/ROOT/pages/errors/gql-errors/22NB7.adoc new file mode 100644 index 00000000..87663cad --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/22NB7.adoc @@ -0,0 +1,14 @@ += 22NB7 + +== Status description + +error: data exception - element id unsupported on composite database. It is not supported to create element ids on composite databases. Create the element id for `{ <> }` `{ <<$entityId>> }` on the constituent instead. + + + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] \ No newline at end of file diff --git a/modules/ROOT/pages/errors/gql-errors/22NB8.adoc b/modules/ROOT/pages/errors/gql-errors/22NB8.adoc new file mode 100644 index 00000000..75326b8a --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/22NB8.adoc @@ -0,0 +1,14 @@ += 22NB8 + +== Status description + +error: data exception - invalid Neo4j type. `{ <> }` is not a recognized Neo4j type. + + + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] \ No newline at end of file diff --git a/modules/ROOT/pages/errors/gql-errors/42I30.adoc b/modules/ROOT/pages/errors/gql-errors/42I30.adoc new file mode 100644 index 00000000..eb6239b8 --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/42I30.adoc @@ -0,0 +1,12 @@ += 42I30 + +== Status description + +error: syntax error or access rule violation - invalid use of label expressions. Label expressions cannot be used in `{ <> }`. + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] diff --git a/modules/ROOT/pages/errors/gql-errors/42N0B.adoc b/modules/ROOT/pages/errors/gql-errors/42N0B.adoc new file mode 100644 index 00000000..14df717d --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/42N0B.adoc @@ -0,0 +1,13 @@ += 42N0B + +== Status description + +error: syntax error or access rule violation - cannot replace sharded database. The database identified by `{ <>1 }` is sharded. Drop the database `{ <>2 }` before recreating. + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] + diff --git a/modules/ROOT/pages/errors/gql-errors/42N25.adoc b/modules/ROOT/pages/errors/gql-errors/42N25.adoc new file mode 100644 index 00000000..03f3540f --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/42N25.adoc @@ -0,0 +1,13 @@ += 42N25 + +== Status description + +error: syntax error or access rule violation - missing `YIELD`. Procedure call inside a query does not support naming results implicitly. Use `YIELD` instead. + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] + diff --git a/modules/ROOT/pages/errors/gql-errors/42N41.adoc b/modules/ROOT/pages/errors/gql-errors/42N41.adoc index f778514c..a5547294 100644 --- a/modules/ROOT/pages/errors/gql-errors/42N41.adoc +++ b/modules/ROOT/pages/errors/gql-errors/42N41.adoc @@ -1,4 +1,4 @@ -= 42N23 += 42N41 == Status description diff --git a/modules/ROOT/pages/errors/gql-errors/42N52.adoc b/modules/ROOT/pages/errors/gql-errors/42N52.adoc new file mode 100644 index 00000000..6a7e70e4 --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/42N52.adoc @@ -0,0 +1,12 @@ += 42N52 + +== Status description +error: syntax error or access rule violation - invalid value type. `{ <> }` is not a recognized Cypher type. + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] + diff --git a/modules/ROOT/pages/errors/gql-errors/42N87.adoc b/modules/ROOT/pages/errors/gql-errors/42N87.adoc new file mode 100644 index 00000000..24c82a04 --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/42N87.adoc @@ -0,0 +1,12 @@ += 42N87 + +== Status description +error: syntax error or access rule violation - database or alias with similar name exists. The database or alias name `{ <>1 }` conflicts with the name `{ <>2 }` of an existing database or alias. + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] + diff --git a/modules/ROOT/pages/errors/gql-errors/42N92.adoc b/modules/ROOT/pages/errors/gql-errors/42N92.adoc new file mode 100644 index 00000000..16dc94c8 --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/42N92.adoc @@ -0,0 +1,12 @@ += 42N92 + +== Status description +error: syntax error or access rule violation - cannot combine old and new auth provider syntax. Cannot combine old and new auth syntax for the same auth provider. + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] + diff --git a/modules/ROOT/pages/errors/gql-errors/42N94.adoc b/modules/ROOT/pages/errors/gql-errors/42N94.adoc new file mode 100644 index 00000000..fa9e3b3b --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/42N94.adoc @@ -0,0 +1,13 @@ += 42N94 + +== Status description + +error: syntax error or access rule violation - incomplete `ALTER USER` command. 'ALTER USER' requires at least one clause. + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] + diff --git a/modules/ROOT/pages/errors/gql-errors/42N95.adoc b/modules/ROOT/pages/errors/gql-errors/42N95.adoc new file mode 100644 index 00000000..5320aab7 --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/42N95.adoc @@ -0,0 +1,14 @@ += 42N95 + +== Status description + +error: syntax error or access rule violation - provider-id combination already exists. The combination of provider and id is already in use. + + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] + diff --git a/modules/ROOT/pages/errors/gql-errors/42N96.adoc b/modules/ROOT/pages/errors/gql-errors/42N96.adoc new file mode 100644 index 00000000..48e8c76a --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/42N96.adoc @@ -0,0 +1,14 @@ += 42N96 + +== Status description + +error: syntax error or access rule violation - invalid user configuration. User has no auth provider. Add at least one auth provider for the user or consider suspending them. + + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] + diff --git a/modules/ROOT/pages/errors/gql-errors/42NA0.adoc b/modules/ROOT/pages/errors/gql-errors/42NA0.adoc new file mode 100644 index 00000000..e95bdab4 --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/42NA0.adoc @@ -0,0 +1,14 @@ += 42NA0 + +== Status description + +error: syntax error or access rule violation - operations must be executed on constituent. Query contains operations that must be executed on the constituent. + + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] + diff --git a/modules/ROOT/pages/errors/gql-errors/42NA1.adoc b/modules/ROOT/pages/errors/gql-errors/42NA1.adoc new file mode 100644 index 00000000..9d651cb5 --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/42NA1.adoc @@ -0,0 +1,14 @@ += 42NA1 + +== Status description + +error: syntax error or access rule violation - graph access operations on composite database. Graph access operations are not supported on composite databases. + + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] + diff --git a/modules/ROOT/pages/errors/gql-errors/42NA2.adoc b/modules/ROOT/pages/errors/gql-errors/42NA2.adoc new file mode 100644 index 00000000..f0196f91 --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/42NA2.adoc @@ -0,0 +1,14 @@ += 42NA2 + +== Status description + +error: syntax error or access rule violation - database operations on composite database. Database operations are not supported on composite databases. + + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] + diff --git a/modules/ROOT/pages/errors/gql-errors/42NA3.adoc b/modules/ROOT/pages/errors/gql-errors/42NA3.adoc new file mode 100644 index 00000000..b049549c --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/42NA3.adoc @@ -0,0 +1,14 @@ += 42NA3 + +== Status description + +error: syntax error or access rule violation - schema operations on composite database. Schema operations are not supported on composite databases. + + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] + diff --git a/modules/ROOT/pages/errors/gql-errors/42NA4.adoc b/modules/ROOT/pages/errors/gql-errors/42NA4.adoc new file mode 100644 index 00000000..4358854e --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/42NA4.adoc @@ -0,0 +1,14 @@ += 42NA4 + +== Status description + +error: syntax error or access rule violation - transaction operations on composite database. Transaction operations are not supported on composite databases. + + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] + diff --git a/modules/ROOT/pages/errors/gql-errors/51N31.adoc b/modules/ROOT/pages/errors/gql-errors/51N31.adoc new file mode 100644 index 00000000..f26d753f --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/51N31.adoc @@ -0,0 +1,14 @@ += 51N31 + +== Status description + +error: system configuration or operation exception - not supported. `{ <> }` is not supported in `{ <> }`. + + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] + diff --git a/modules/ROOT/pages/errors/gql-errors/51N58.adoc b/modules/ROOT/pages/errors/gql-errors/51N58.adoc new file mode 100644 index 00000000..da64f573 --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/51N58.adoc @@ -0,0 +1,14 @@ += 51N58 + +== Status description + +error: system configuration or operation exception - invalid shard topology. Invalid database shard topology. The number of `{ <> }` `{ <> }` needs to be at least 1 and may not exceed `{ <> }`. + + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] + diff --git a/modules/ROOT/pages/errors/gql-errors/index.adoc b/modules/ROOT/pages/errors/gql-errors/index.adoc index f1fd8586..1575bdc1 100644 --- a/modules/ROOT/pages/errors/gql-errors/index.adoc +++ b/modules/ROOT/pages/errors/gql-errors/index.adoc @@ -444,6 +444,10 @@ Status description:: error: data exception - expression type unsupported here. I Status description:: error: data exception - input contains invalid characters. Input `{ <> }` contains invalid characters for `{ <> }`. Special characters may require that the input is quoted using backticks. +=== xref:errors/gql-errors/22N83.adoc[22N83] + +Status description:: error: data exception - input consists of too many components. Expected name to contain at most `{ <> }` components separated by '.'. + === xref:errors/gql-errors/22N84.adoc[22N84] Status description:: error: data exception - string too long. Expected the string to be no more than `{ <> }` characters long. @@ -516,6 +520,10 @@ Status description:: error: data exception - invalid property based access contr Status description:: error: data exception - invalid property based access control rule involving multiple properties. The expression: `{ <> }` is not supported. Property rules can only contain one property. +=== xref:errors/gql-errors/22NA3.adoc[22NA3] + +Status description:: error: data exception - invalid property based access control rule involving NaN. 'NaN' is not supported for property-based access control. + === xref:errors/gql-errors/22NA4.adoc[22NA4] Status description:: error: data exception - invalid property based access control rule involving comparison with NULL. The property value access rule pattern `{ <> }` always evaluates to `NULL`. @@ -568,6 +576,16 @@ Status description:: error: data exception - unsupported time zone identifier. U Status description:: error: data exception - input empty. Invalid input. `{ <> }` is not allowed to be an empty string. + +=== xref:errors/gql-errors/22NB7.adoc[22NB7] + +Status description:: error: data exception - element id unsupported on composite database. It is not supported to create element ids on composite databases. Create the element id for `{ <> }` `{ <<$entityId>> }` on the constituent instead. + +=== xref:errors/gql-errors/22NB8.adoc[22NB8] + +Status description:: error: data exception - invalid Neo4j type. `{ <> }` is not a recognized Neo4j type. + + [[invalid-transaction-state]] == Invalid transaction state @@ -851,6 +869,10 @@ Status description:: error: syntax error or access rule violation - invalid use Status description:: error: syntax error or access rule violation - invalid use of `IS`. The `IS` keyword cannot be used together with multiple labels in `{ <> }`. Rewrite the expression as `{ <> }`. +=== xref:errors/gql-errors/42I30.adoc[42I30] + +Status description:: error: syntax error or access rule violation - invalid use of label expressions. Label expressions cannot be used in `{ <> }`. + === xref:errors/gql-errors/42I31.adoc[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. @@ -935,6 +957,12 @@ Status description:: info: invalid call signature. The procedure or function `{ Status description:: error: syntax error or access rule violation - no longer valid syntax. `{ <> }` + +=== xref:errors/gql-errors/42I53.adoc[42I53] + +Status description:: error: syntax error or access rule violation - unsupported coordinate type. Unknown coordinate type: `{ <> }`. + + [role=label--changed-2025.03] === xref:errors/gql-errors/42N00.adoc[42N00] @@ -977,6 +1005,10 @@ Status description:: error: syntax error or access rule violation - no such proc Status description:: error: syntax error or access rule violation - no such user. A user with the name `{ <> }` was not found. Verify that the spelling is correct. +=== xref:errors/gql-errors/42N0B.adoc[42N0B] + +Status description:: error: syntax error or access rule violation - cannot replace sharded database. The database identified by `{ <>1 }` is sharded. Drop the database `{ <>2 }` before recreating. + === xref:errors/gql-errors/42N10.adoc[42N10] Status description:: error: syntax error or access rule violation - no such role. A role with the name `{ <> }` was not found. Verify that the spelling is correct. @@ -1040,6 +1072,10 @@ Status description:: error: syntax error or access rule violation - missing refe Status description:: error: syntax error or access rule violation - missing `WITH`. A `WITH` clause is required between `{ <>1 }` and `{ $input2 }`. +=== xref:errors/gql-errors/42N25.adoc[42N25] + +Status description:: error: syntax error or access rule violation - missing `YIELD`. Procedure call inside a query does not support naming results implicitly. Use `YIELD` instead. + === xref:errors/gql-errors/42N26.adoc[42N26] Status description:: error: syntax error or access rule violation - multiple join hints on same variable. Multiple join hints for the same variable `{ <> }` are not supported. @@ -1125,6 +1161,10 @@ Status description:: error: syntax error or access rule violation - procedure re Status description:: error: syntax error or access rule violation - invalid parameter. Invalid parameter `{ <> }`. +=== xref:errors/gql-errors/42N52.adoc[42N52] + +Status description:: error: syntax error or access rule violation - invalid value type. `{ <> }` is not a recognized Cypher type. + === xref:errors/gql-errors/42N53.adoc[42N53] Status description:: error: syntax error or access rule violation - unsafe usage of repeatable elements. The quantified path pattern may yield an infinite number of rows under match mode `REPEATABLE ELEMENTS`. Add an upper bound to the quantified path pattern. @@ -1239,6 +1279,10 @@ Status description:: error: syntax error or access rule violation - cannot speci Status description:: error: syntax error or access rule violation - wildcard in parameter. `{ <> }` failed. Parameterized database and graph names do not support wildcards. +=== xref:errors/gql-errors/42N87.adoc[42N87] + +Status description:: error: syntax error or access rule violation - database or alias with similar name exists. The database or alias name `{ <>1 }` conflicts with the name `{ <>2 }` of an existing database or alias. + === xref:errors/gql-errors/42N88.adoc[42N88] Status description:: error: syntax error or access rule violation - cannot grant privilege. Permission cannot be granted for `REMOVE IMMUTABLE PRIVILEGE`. @@ -1251,6 +1295,24 @@ Status description:: error: syntax error or access rule violation - invalid driv Status description:: error: syntax error or access rule violation - cannot alter immutable composite database. Composite databases cannot be altered (database: `{ <> }`). +=== xref:errors/gql-errors/42N92.adoc[42N92] + +Status description:: error: syntax error or access rule violation - cannot combine old and new auth provider syntax. Cannot combine old and new auth syntax for the same auth provider. + +=== xref:errors/gql-errors/42N94.adoc[42N94] + +Status description:: error: syntax error or access rule violation - incomplete `ALTER USER` command. 'ALTER USER' requires at least one clause. + +=== xref:errors/gql-errors/42N95.adoc[42N95] + +Status description:: error: syntax error or access rule violation - provider-id combination already exists. The combination of provider and id is already in use. + + +=== xref:errors/gql-errors/42N96.adoc[42N96] + +Status description:: error: syntax error or access rule violation - invalid user configuration. User has no auth provider. Add at least one auth provider for the user or consider suspending them. + + === xref:errors/gql-errors/42N97.adoc[42N97] Status description:: error: syntax error or access rule violation - missing mandatory auth clause. Clause `{ <> }` is mandatory for auth provider `{ <> }`. @@ -1264,6 +1326,26 @@ Status description:: error: syntax error or access rule violation - cannot modif Status description:: error: syntax error or access rule violation - cannot delete own user. Cannot delete the user record of the current user. +=== xref:errors/gql-errors/42NA0.adoc[42NA0] + +Status description:: error: syntax error or access rule violation - operations must be executed on constituent. Query contains operations that must be executed on the constituent. + +=== xref:errors/gql-errors/42NA1.adoc[42NA1] + +Status description:: error: syntax error or access rule violation - graph access operations on composite database. Graph access operations are not supported on composite databases. + +=== xref:errors/gql-errors/42NA2.adoc[42NA2] + +Status description:: error: syntax error or access rule violation - database operations on composite database. Database operations are not supported on composite databases. + +=== xref:errors/gql-errors/42NA3.adoc[42NA3] + +Status description:: error: syntax error or access rule violation - schema operations on composite database. Schema operations are not supported on composite databases. + +=== xref:errors/gql-errors/42NA4.adoc[42NA4] + +Status description:: error: syntax error or access rule violation - transaction operations on composite database. Transaction operations are not supported on composite databases. + === xref:errors/gql-errors/42NA5.adoc[42NA5] Status description:: error: syntax error or access rule violation - 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. @@ -1519,6 +1601,11 @@ Status description:: error: system configuration or operation exception - not su Status description:: error: system configuration or operation exception - not supported with this configuration. `{ <> }` is not supported in `{ <> }`. +=== xref:errors/gql-errors/51N31.adoc[51N31] + +Status description:: error: system configuration or operation exception - not supported. `{ <> }` is not supported in `{ <> }`. + + === xref:errors/gql-errors/51N32.adoc[51N32] Status description:: error: system configuration or operation exception - server panic. Server is in panic. @@ -1637,6 +1724,12 @@ Status description:: error: system configuration or operation exception - topolo Status description:: error: system configuration or operation exception - generic topology modification error. Unexpected error while picking allocations. `{ <> }` + +=== xref:errors/gql-errors/51N58.adoc[51N58] + +Status description:: error: system configuration or operation exception - invalid shard topology. Invalid database shard topology. The number of `{ <> }` `{ <<$count>> }` needs to be at least 1 and may not exceed `{ <> }`. + + === xref:errors/gql-errors/51N59.adoc[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. From f42d50b910c459e5d91401f7476ab3eefcfda4cf Mon Sep 17 00:00:00 2001 From: NataliaIvakina <82437520+NataliaIvakina@users.noreply.github.com> Date: Wed, 30 Apr 2025 16:45:05 +0200 Subject: [PATCH 04/24] Add errors implemented in the code (#304) --- modules/ROOT/content-nav.adoc | 13 +++++ .../ROOT/pages/errors/gql-errors/08N19.adoc | 12 ++++ .../ROOT/pages/errors/gql-errors/08N20.adoc | 12 ++++ .../ROOT/pages/errors/gql-errors/08N21.adoc | 12 ++++ .../ROOT/pages/errors/gql-errors/22004.adoc | 13 +++++ .../ROOT/pages/errors/gql-errors/22012.adoc | 13 +++++ .../ROOT/pages/errors/gql-errors/42N0A.adoc | 13 +++++ .../ROOT/pages/errors/gql-errors/42N3A.adoc | 13 +++++ .../ROOT/pages/errors/gql-errors/42N3B.adoc | 13 +++++ .../ROOT/pages/errors/gql-errors/42N3C.adoc | 13 +++++ .../ROOT/pages/errors/gql-errors/50N18.adoc | 13 +++++ .../ROOT/pages/errors/gql-errors/50N19.adoc | 13 +++++ .../ROOT/pages/errors/gql-errors/50N20.adoc | 13 +++++ .../ROOT/pages/errors/gql-errors/52N21.adoc | 13 +++++ .../ROOT/pages/errors/gql-errors/index.adoc | 56 ++++++++++++++++++- 15 files changed, 234 insertions(+), 1 deletion(-) create mode 100644 modules/ROOT/pages/errors/gql-errors/08N19.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/08N20.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/08N21.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/22004.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/22012.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/42N0A.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/42N3A.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/42N3B.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/42N3C.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/50N18.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/50N19.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/50N20.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/52N21.adoc diff --git a/modules/ROOT/content-nav.adoc b/modules/ROOT/content-nav.adoc index c8cd56be..eea78640 100644 --- a/modules/ROOT/content-nav.adoc +++ b/modules/ROOT/content-nav.adoc @@ -26,10 +26,15 @@ **** xref:errors/gql-errors/08N16.adoc[] **** xref:errors/gql-errors/08N17.adoc[] **** xref:errors/gql-errors/08N18.adoc[] +**** xref:errors/gql-errors/08N19.adoc[] +**** xref:errors/gql-errors/08N20.adoc[] +**** xref:errors/gql-errors/08N21.adoc[] *** xref:errors/gql-errors/index.adoc#data-exceptions[Data exceptions] **** xref:errors/gql-errors/22000.adoc[] **** xref:errors/gql-errors/22003.adoc[] +**** xref:errors/gql-errors/22004.adoc[] **** xref:errors/gql-errors/22007.adoc[] +**** xref:errors/gql-errors/22012.adoc[] **** xref:errors/gql-errors/22015.adoc[] **** xref:errors/gql-errors/22G03.adoc[] **** xref:errors/gql-errors/22G05.adoc[] @@ -247,6 +252,7 @@ **** xref:errors/gql-errors/42N07.adoc[] **** xref:errors/gql-errors/42N08.adoc[] **** xref:errors/gql-errors/42N09.adoc[] +**** xref:errors/gql-errors/42N0A.adoc[] **** xref:errors/gql-errors/42N0B.adoc[] **** xref:errors/gql-errors/42N10.adoc[] **** xref:errors/gql-errors/42N11.adoc[] @@ -275,6 +281,9 @@ **** xref:errors/gql-errors/42N37.adoc[] **** xref:errors/gql-errors/42N38.adoc[] **** xref:errors/gql-errors/42N39.adoc[] +**** xref:errors/gql-errors/42N3A.adoc[] +**** xref:errors/gql-errors/42N3B.adoc[] +**** xref:errors/gql-errors/42N3C.adoc[] **** xref:errors/gql-errors/42N40.adoc[] **** xref:errors/gql-errors/42N41.adoc[] **** xref:errors/gql-errors/42N42.adoc[] @@ -353,6 +362,9 @@ **** xref:errors/gql-errors/50N15.adoc[] **** xref:errors/gql-errors/50N16.adoc[] **** xref:errors/gql-errors/50N17.adoc[] +**** xref:errors/gql-errors/50N18.adoc[] +**** xref:errors/gql-errors/50N19.adoc[] +**** xref:errors/gql-errors/50N20.adoc[] **** xref:errors/gql-errors/50N21.adoc[] **** xref:errors/gql-errors/50N23.adoc[] **** xref:errors/gql-errors/50N42.adoc[] @@ -448,6 +460,7 @@ **** xref:errors/gql-errors/52N17.adoc[] **** xref:errors/gql-errors/52N18.adoc[] **** xref:errors/gql-errors/52N19.adoc[] +**** xref:errors/gql-errors/52N21.adoc[] **** xref:errors/gql-errors/52N22.adoc[] **** xref:errors/gql-errors/52N23.adoc[] **** xref:errors/gql-errors/52N24.adoc[] diff --git a/modules/ROOT/pages/errors/gql-errors/08N19.adoc b/modules/ROOT/pages/errors/gql-errors/08N19.adoc new file mode 100644 index 00000000..01836a70 --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/08N19.adoc @@ -0,0 +1,12 @@ += 08N19 + +== Status description +error: connection exception - shard execution transient error. Communication with shard `{ <> }` failed. with message `{ <> }`. + + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] diff --git a/modules/ROOT/pages/errors/gql-errors/08N20.adoc b/modules/ROOT/pages/errors/gql-errors/08N20.adoc new file mode 100644 index 00000000..6c49f46b --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/08N20.adoc @@ -0,0 +1,12 @@ += 08N20 + +== Status description +error: connection exception - shard execution database error. Communication with shard `{ <> }` failed. with message `{ <> }`. + + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] diff --git a/modules/ROOT/pages/errors/gql-errors/08N21.adoc b/modules/ROOT/pages/errors/gql-errors/08N21.adoc new file mode 100644 index 00000000..ec61d507 --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/08N21.adoc @@ -0,0 +1,12 @@ += 08N21 + +== Status description +error: connection exception - shard execution client error. Communication with shard `{ <> }` failed. with message `{ <> }`. + + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] diff --git a/modules/ROOT/pages/errors/gql-errors/22004.adoc b/modules/ROOT/pages/errors/gql-errors/22004.adoc new file mode 100644 index 00000000..d7f0074f --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/22004.adoc @@ -0,0 +1,13 @@ += 22004 + +== Status description + +error: data exception - null value not allowed + + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] diff --git a/modules/ROOT/pages/errors/gql-errors/22012.adoc b/modules/ROOT/pages/errors/gql-errors/22012.adoc new file mode 100644 index 00000000..c96b3e13 --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/22012.adoc @@ -0,0 +1,13 @@ += 22012 + +== Status description + +error: data exception - division by zero + + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] diff --git a/modules/ROOT/pages/errors/gql-errors/42N0A.adoc b/modules/ROOT/pages/errors/gql-errors/42N0A.adoc new file mode 100644 index 00000000..972c6f99 --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/42N0A.adoc @@ -0,0 +1,13 @@ += 42N0A + +== Status description + +error: syntax error or access rule violation - invalid shard target. `{ <> }` is not allowed with a shard target. Connect to `{ <>1 }` in order to read or write data from `{ db2 }`. + + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] diff --git a/modules/ROOT/pages/errors/gql-errors/42N3A.adoc b/modules/ROOT/pages/errors/gql-errors/42N3A.adoc new file mode 100644 index 00000000..6f320944 --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/42N3A.adoc @@ -0,0 +1,13 @@ += 42N3A + +== Status description + +error: syntax error or access rule violation - incompatible conditional query. All `{ <> }` need to either return rows or update the graph. + + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] diff --git a/modules/ROOT/pages/errors/gql-errors/42N3B.adoc b/modules/ROOT/pages/errors/gql-errors/42N3B.adoc new file mode 100644 index 00000000..24fb2fb0 --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/42N3B.adoc @@ -0,0 +1,13 @@ += 42N3B + +== Status description + +error: syntax error or access rule violation - incompatible number of return columns. All `{ <> }` must return the same number of columns. + + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] diff --git a/modules/ROOT/pages/errors/gql-errors/42N3C.adoc b/modules/ROOT/pages/errors/gql-errors/42N3C.adoc new file mode 100644 index 00000000..3c53f0cd --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/42N3C.adoc @@ -0,0 +1,13 @@ += 42N3C + +== Status description + +error: syntax error or access rule violation - invalid use of `CALL { ... }`. Not possible to enclose `{ <> }` in `CALL { ... }`. Use `CALL () { ... }` instead. + + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] diff --git a/modules/ROOT/pages/errors/gql-errors/50N18.adoc b/modules/ROOT/pages/errors/gql-errors/50N18.adoc new file mode 100644 index 00000000..a16427e8 --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/50N18.adoc @@ -0,0 +1,13 @@ += 50N18 + +== Status description + +error: general processing exception - shard execution transient error. Communication with shard `{ <> }` failed. See cause for more details. + + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] diff --git a/modules/ROOT/pages/errors/gql-errors/50N19.adoc b/modules/ROOT/pages/errors/gql-errors/50N19.adoc new file mode 100644 index 00000000..85c66bff --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/50N19.adoc @@ -0,0 +1,13 @@ += 50N19 + +== Status description + +error: general processing exception - shard execution database error. Communication with shard `{ <> }` failed. See cause for more details. + + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] diff --git a/modules/ROOT/pages/errors/gql-errors/50N20.adoc b/modules/ROOT/pages/errors/gql-errors/50N20.adoc new file mode 100644 index 00000000..aee173ec --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/50N20.adoc @@ -0,0 +1,13 @@ += 50N20 + +== Status description + +error: general processing exception - shard execution client error. Communication with shard `{ <> }` failed. See cause for more details. + + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] diff --git a/modules/ROOT/pages/errors/gql-errors/52N21.adoc b/modules/ROOT/pages/errors/gql-errors/52N21.adoc new file mode 100644 index 00000000..c2552d34 --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/52N21.adoc @@ -0,0 +1,13 @@ += 52N21 + +== Status description + +error: procedure exception - failed to clean the system graph. Failed to clean the system graph. + + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] diff --git a/modules/ROOT/pages/errors/gql-errors/index.adoc b/modules/ROOT/pages/errors/gql-errors/index.adoc index 1575bdc1..232cff52 100644 --- a/modules/ROOT/pages/errors/gql-errors/index.adoc +++ b/modules/ROOT/pages/errors/gql-errors/index.adoc @@ -103,6 +103,19 @@ Status description:: error: connection exception - general driver transient erro Status description:: error: connection exception - general driver database error. Remote execution failed with message `{ <> }`. +=== xref:errors/gql-errors/08N19.adoc[08N19] + +Status description:: error: connection exception - shard execution transient error. Communication with shard `{ <> }` failed. with message `{ <> }`. + +=== xref:errors/gql-errors/08N20.adoc[08N20] + +Status description:: error: connection exception - shard execution database error. Communication with shard `{ <> }` failed. with message `{ <> }`. + +=== xref:errors/gql-errors/08N21.adoc[08N21] + +Status description:: error: connection exception - shard execution client error. Communication with shard `{ <> }` failed. with message `{ <> }`. + + [[data-exceptions]] == Data exceptions @@ -117,10 +130,18 @@ Status description:: error: data exception Status description:: error: data exception - numeric value out of range. The numeric value `{ <> }` is outside the required range. +=== xref:errors/gql-errors/22004.adoc[22004] + +Status description:: error: data exception - null value not allowed + === xref:errors/gql-errors/22007.adoc[22007] Status description:: error: data exception - invalid date, time, or datetime format +=== xref:errors/gql-errors/22012.adoc[22012] + +Status description:: error: data exception - division by zero + === xref:errors/gql-errors/22015.adoc[22015] Status description:: error: data exception - interval field overflow @@ -1005,6 +1026,10 @@ Status description:: error: syntax error or access rule violation - no such proc Status description:: error: syntax error or access rule violation - no such user. A user with the name `{ <> }` was not found. Verify that the spelling is correct. +=== xref:errors/gql-errors/42N0A.adoc[42N0A] + +Status description:: error: syntax error or access rule violation - invalid shard target. `{ <> }` is not allowed with a shard target. Connect to `{ <>1 }` in order to read or write data from `{ db2 }`. + === xref:errors/gql-errors/42N0B.adoc[42N0B] Status description:: error: syntax error or access rule violation - cannot replace sharded database. The database identified by `{ <>1 }` is sharded. Drop the database `{ <>2 }` before recreating. @@ -1121,6 +1146,19 @@ Status description:: error: syntax error or access rule violation - duplicate re Status description:: error: syntax error or access rule violation - incompatible return column names. All `{<>}` must have the same return column names. Use `AS` to ensure columns have the same name. +=== xref:errors/gql-errors/42N3A.adoc[42N3A] + +Status description:: error: syntax error or access rule violation - incompatible conditional query. All `{ <> }` need to either return rows or update the graph. + +=== xref:errors/gql-errors/42N3B.adoc[42N3B] + +Status description:: error: syntax error or access rule violation - incompatible number of return columns. All `{ <> }` must return the same number of columns. + +=== xref:errors/gql-errors/42N3C.adoc[42N3C] + +Status description:: error: syntax error or access rule violation - invalid use of `CALL { ... }`. Not possible to enclose `{ <> }` in `CALL { ... }`. Use `CALL () { ... }` instead. + + === xref:errors/gql-errors/42N40.adoc[42N40] Status description:: error: syntax error or access rule violation - single relationship pattern required. The `{ <> }` function must contain one relationship pattern. @@ -1135,7 +1173,7 @@ Status description:: error: syntax error or access rule violation - unsupported === xref:errors/gql-errors/42N44.adoc[42N44] -Status description:: error: syntax error or access rule violation - inaccessible variable. It is not possible to access the variable `{ <> }` declared before the `{ <> }` clause when using `DISTINCT` or an aggregation. +Status description:: error: syntax error or access rule violation - inaccessible variable. It is not possible to access the variable `{ <> }` declared before the `{ <> }` clause when using `DISTINCT` or an aggregation. === xref:errors/gql-errors/42N45.adoc[42N45] @@ -1439,6 +1477,18 @@ Status description:: error: general processing exception - remote execution tran Status description:: error: general processing exception - remote execution database error. Remote execution failed. See cause for more details. +=== xref:errors/gql-errors/50N18.adoc[50N18] + +Status description:: error: general processing exception - shard execution transient error. Communication with shard `{ <> }` failed. See cause for more details. + +=== xref:errors/gql-errors/50N19.adoc[50N19] + +Status description:: error: general processing exception - shard execution database error. Communication with shard `{ <> }` failed. See cause for more details. + +=== xref:errors/gql-errors/50N20.adoc[50N20] + +Status description:: error: general processing exception - shard execution client error. Communication with shard `{ <> }` failed. See cause for more details. + === xref:errors/gql-errors/50N21.adoc[50N21] Status description:: error: general processing exception - no such schema descriptor. The `{ <> }` was not found for `{ <> }`. Verify that the spelling is correct. @@ -1870,6 +1920,10 @@ Status description:: error: procedure exception - too many seeders. The number o Status description:: error: procedure exception - no such seeder. The specified seeding server with id `{ <> }` was not found. Verify that the spelling is correct. +=== xref:errors/gql-errors/52N21.adoc[52N21] + +Status description:: error: procedure exception - failed to clean the system graph. Failed to clean the system graph. + === xref:errors/gql-errors/52N22.adoc[52N22] Status description:: error: procedure exception - invalid procedure argument. Invalid argument `{ <> }` for `{ <> }` on procedure `{ <> }`. The expected format of `{ <> }` is `{ <> }`. From 6015f844603a51f3c8f93ea6fc98aab495075539 Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Wed, 30 Apr 2025 16:14:41 +0100 Subject: [PATCH 05/24] Update version to 2025.05 (#306) --- antora.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/antora.yml b/antora.yml index 93d7dbe7..84b43e4c 100644 --- a/antora.yml +++ b/antora.yml @@ -1,12 +1,12 @@ name: status-codes title: Status Codes for Errors & Notifications -version: '2025.04' +version: '2025.05' start_page: ROOT:index.adoc nav: - modules/ROOT/content-nav.adoc asciidoc: attributes: page-origin-private: false - neo4j-version: '2025.04' - neo4j-version-exact: '2025.04.0' - neo4j-buildnumber: '2025.04' \ No newline at end of file + neo4j-version: '2025.05' + neo4j-version-exact: '2025.05.0' + neo4j-buildnumber: '2025.05' \ No newline at end of file From 41a47ad32064a4dd401990aaf1a05699abc4f7e8 Mon Sep 17 00:00:00 2001 From: Louise Berglund Date: Thu, 1 May 2025 15:23:38 +0200 Subject: [PATCH 06/24] Change parameter of 42N11 to a list. (#300) To reflect change made in https://github.com/neo-technology/neo4j/pull/30521 --- modules/ROOT/pages/errors/gql-errors/42N11.adoc | 4 ++-- modules/ROOT/pages/errors/gql-errors/index.adoc | 4 ++-- modules/ROOT/partials/glossary.adoc | 1 + 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/modules/ROOT/pages/errors/gql-errors/42N11.adoc b/modules/ROOT/pages/errors/gql-errors/42N11.adoc index 1fa7ba92..9e16abb5 100644 --- a/modules/ROOT/pages/errors/gql-errors/42N11.adoc +++ b/modules/ROOT/pages/errors/gql-errors/42N11.adoc @@ -1,9 +1,9 @@ -:page-role: changed-2025.03 +:page-role: changed-2025.05 = 42N11 == Status description -error: syntax error or access rule violation - graph reference already exists. A graph reference with the name `{ <> }` already exists. +error: syntax error or access rule violation - graph reference already exists. A graph reference with the name `{ <> }` already exists. ifndef::backend-pdf[] [discrete.glossary] diff --git a/modules/ROOT/pages/errors/gql-errors/index.adoc b/modules/ROOT/pages/errors/gql-errors/index.adoc index 232cff52..989a1e70 100644 --- a/modules/ROOT/pages/errors/gql-errors/index.adoc +++ b/modules/ROOT/pages/errors/gql-errors/index.adoc @@ -1038,10 +1038,10 @@ Status description:: error: syntax error or access rule violation - cannot repla Status description:: error: syntax error or access rule violation - no such role. A role with the name `{ <> }` was not found. Verify that the spelling is correct. -[role=label--changed-2025.03] +[role=label--changed-2025.05] === xref:errors/gql-errors/42N11.adoc[42N11] -Status description:: error: syntax error or access rule violation - graph reference already exists. A graph reference with the name `{ <> }` already exists. +Status description:: error: syntax error or access rule violation - graph reference already exists. A graph reference with the name `{ <> }` already exists. === xref:errors/gql-errors/42N12.adoc[42N12] diff --git a/modules/ROOT/partials/glossary.adoc b/modules/ROOT/partials/glossary.adoc index 0b1a4127..6a803e18 100644 --- a/modules/ROOT/partials/glossary.adoc +++ b/modules/ROOT/partials/glossary.adoc @@ -27,6 +27,7 @@ //To check with the clustering team about $countAllocs and $countSeeders. [[crs]]$crs:: Coordinate reference system, for example, `WGS84`. [[db]]$db:: Database name, for example, `myDb`. +[[dbList]]$dbList:: A list of database names. [[dim]]$dim:: Number representing index or point dimenionality. [[edition]]$edition:: Neo4j edition, for example, Community or Enterprise. [[endpointType]]$endpointType:: One of `start` or `end` of a relationship. From 93f19dbb2ed8061c8426905c284886d8275ab1e6 Mon Sep 17 00:00:00 2001 From: JoelBergstrand Date: Thu, 1 May 2025 15:34:39 +0200 Subject: [PATCH 07/24] Final surface codes (#301) Codes needed to cover errors left over in deperected constructors. [Monorepo PR](https://github.com/neo-technology/neo4j/pull/30680). --------- Co-authored-by: Reneta Popova --- modules/ROOT/content-nav.adoc | 8 +++++ .../ROOT/pages/errors/gql-errors/42I54.adoc | 11 ++++++ .../ROOT/pages/errors/gql-errors/42I55.adoc | 11 ++++++ .../ROOT/pages/errors/gql-errors/42I56.adoc | 11 ++++++ .../ROOT/pages/errors/gql-errors/42I57.adoc | 11 ++++++ .../ROOT/pages/errors/gql-errors/42I58.adoc | 11 ++++++ .../ROOT/pages/errors/gql-errors/42I59.adoc | 11 ++++++ .../ROOT/pages/errors/gql-errors/42I60.adoc | 11 ++++++ .../ROOT/pages/errors/gql-errors/42I61.adoc | 11 ++++++ .../ROOT/pages/errors/gql-errors/index.adoc | 36 +++++++++++++++++-- modules/ROOT/partials/glossary.adoc | 1 + 11 files changed, 130 insertions(+), 3 deletions(-) create mode 100644 modules/ROOT/pages/errors/gql-errors/42I54.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/42I55.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/42I56.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/42I57.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/42I58.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/42I59.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/42I60.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/42I61.adoc diff --git a/modules/ROOT/content-nav.adoc b/modules/ROOT/content-nav.adoc index eea78640..9196393d 100644 --- a/modules/ROOT/content-nav.adoc +++ b/modules/ROOT/content-nav.adoc @@ -242,6 +242,14 @@ **** xref:errors/gql-errors/42I51.adoc[] **** xref:errors/gql-errors/42I52.adoc[] **** xref:errors/gql-errors/42I53.adoc[] +**** xref:errors/gql-errors/42I54.adoc[] +**** xref:errors/gql-errors/42I55.adoc[] +**** xref:errors/gql-errors/42I56.adoc[] +**** xref:errors/gql-errors/42I57.adoc[] +**** xref:errors/gql-errors/42I58.adoc[] +**** xref:errors/gql-errors/42I59.adoc[] +**** xref:errors/gql-errors/42I60.adoc[] +**** xref:errors/gql-errors/42I61.adoc[] **** xref:errors/gql-errors/42N00.adoc[] **** xref:errors/gql-errors/42N01.adoc[] **** xref:errors/gql-errors/42N02.adoc[] diff --git a/modules/ROOT/pages/errors/gql-errors/42I54.adoc b/modules/ROOT/pages/errors/gql-errors/42I54.adoc new file mode 100644 index 00000000..12868e3f --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/42I54.adoc @@ -0,0 +1,11 @@ += 42I54 + +== Status description +error: syntax error or access rule violation - invalid use of `INSERT`. `{ <> }` is not allowed in `INSERT`. Use `CREATE` or `{ <> }`. + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] diff --git a/modules/ROOT/pages/errors/gql-errors/42I55.adoc b/modules/ROOT/pages/errors/gql-errors/42I55.adoc new file mode 100644 index 00000000..2d7d5685 --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/42I55.adoc @@ -0,0 +1,11 @@ += 42I55 + +== Status description +error: syntax error or access rule violation - invalid use of dynamic label or type. Dynamic `{ <> }` using `$any()` are not allowed in `{ <> }`. + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] diff --git a/modules/ROOT/pages/errors/gql-errors/42I56.adoc b/modules/ROOT/pages/errors/gql-errors/42I56.adoc new file mode 100644 index 00000000..5d5b07e4 --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/42I56.adoc @@ -0,0 +1,11 @@ += 42I56 + +== Status description +error: syntax error or access rule violation - invalid relationship direction. Only directed relationships are supported in `{ <>}`. + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] diff --git a/modules/ROOT/pages/errors/gql-errors/42I57.adoc b/modules/ROOT/pages/errors/gql-errors/42I57.adoc new file mode 100644 index 00000000..94cb92e5 --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/42I57.adoc @@ -0,0 +1,11 @@ += 42I57 + +== Status description +error: syntax error or access rule violation - invalid query ending. `{<>}` cannot contain a query ending with `{<>}`. + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] \ No newline at end of file diff --git a/modules/ROOT/pages/errors/gql-errors/42I58.adoc b/modules/ROOT/pages/errors/gql-errors/42I58.adoc new file mode 100644 index 00000000..594e1fc3 --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/42I58.adoc @@ -0,0 +1,11 @@ += 42I58 + +== Status description +error: syntax error or access rule violation - invalid entity reference. Entity, `{<>}`, cannot be created and referenced in the same clause. + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] \ No newline at end of file diff --git a/modules/ROOT/pages/errors/gql-errors/42I59.adoc b/modules/ROOT/pages/errors/gql-errors/42I59.adoc new file mode 100644 index 00000000..1ca1f149 --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/42I59.adoc @@ -0,0 +1,11 @@ += 42I59 + +== Status description +error: syntax error or access rule violation - dynamic entity type not allowed. Dynamic label and types are only allowed in `{ <> }` clauses. + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] \ No newline at end of file diff --git a/modules/ROOT/pages/errors/gql-errors/42I60.adoc b/modules/ROOT/pages/errors/gql-errors/42I60.adoc new file mode 100644 index 00000000..3a16029d --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/42I60.adoc @@ -0,0 +1,11 @@ += 42I60 + +== Status description +error: syntax error or access rule violation - invalid glob escaping. Each part of the glob (a block of text up until a dot) must either be fully escaped or not escaped at all. + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] \ No newline at end of file diff --git a/modules/ROOT/pages/errors/gql-errors/42I61.adoc b/modules/ROOT/pages/errors/gql-errors/42I61.adoc new file mode 100644 index 00000000..15f287ba --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/42I61.adoc @@ -0,0 +1,11 @@ += 42I61 + +== Status description +error: syntax error or access rule violation - missing LOOKUP INDEX function name. Missing function name for the LOOKUP INDEX. + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] \ No newline at end of file diff --git a/modules/ROOT/pages/errors/gql-errors/index.adoc b/modules/ROOT/pages/errors/gql-errors/index.adoc index 989a1e70..0dfdfd04 100644 --- a/modules/ROOT/pages/errors/gql-errors/index.adoc +++ b/modules/ROOT/pages/errors/gql-errors/index.adoc @@ -892,7 +892,7 @@ Status description:: error: syntax error or access rule violation - invalid use === xref:errors/gql-errors/42I30.adoc[42I30] -Status description:: error: syntax error or access rule violation - invalid use of label expressions. Label expressions cannot be used in `{ <> }`. +Status description:: error: syntax error or access rule violation - invalid use of label expressions. Label expressions cannot be used in `{ <> }`. === xref:errors/gql-errors/42I31.adoc[42I31] @@ -978,11 +978,41 @@ Status description:: info: invalid call signature. The procedure or function `{ Status description:: error: syntax error or access rule violation - no longer valid syntax. `{ <> }` - === xref:errors/gql-errors/42I53.adoc[42I53] Status description:: error: syntax error or access rule violation - unsupported coordinate type. Unknown coordinate type: `{ <> }`. +=== xref:errors/gql-errors/42I54.adoc[42I54] + +Status description:: error: syntax error or access rule violation - invalid use of `INSERT`. `{ <> }` is not allowed in `INSERT`. Use `CREATE` or `{ <> }`. + +=== xref:errors/gql-errors/42I55.adoc[42I55] + +Status description:: error: syntax error or access rule violation - invalid use of dynamic label or type. Dynamic `{ <> }` using `$any()` are not allowed in `{ <> }`. + +=== xref:errors/gql-errors/42I56.adoc[42I56] + +Status description:: error: syntax error or access rule violation - invalid relationship direction. Only directed relationships are supported in `{ <>}`. + +=== xref:errors/gql-errors/42I57.adoc[42I57] + +Status description:: error: syntax error or access rule violation - invalid query ending. `{<>}` cannot contain a query ending with `{<>}`. + +=== xref:errors/gql-errors/42I58.adoc[42I58] + +Status description:: error: syntax error or access rule violation - invalid entity reference. Entity, `{<>}`, cannot be created and referenced in the same clause. + +=== xref:errors/gql-errors/42I59.adoc[42I59] + +Status description:: error: syntax error or access rule violation - dynamic entity type not allowed. Dynamic label and types are only allowed in `{ <> }` clauses. + +=== xref:errors/gql-errors/42I60.adoc[42I60] + +Status description:: error: syntax error or access rule violation - invalid glob escaping. Each part of the glob (a block of text up until a dot) must either be fully escaped or not escaped at all. + +=== xref:errors/gql-errors/42I60.adoc[42I61] + +Status description:: error: syntax error or access rule violation - missing LOOKUP INDEX function name. Missing function name for the LOOKUP INDEX. [role=label--changed-2025.03] === xref:errors/gql-errors/42N00.adoc[42N00] @@ -1099,7 +1129,7 @@ Status description:: error: syntax error or access rule violation - missing `WIT === xref:errors/gql-errors/42N25.adoc[42N25] -Status description:: error: syntax error or access rule violation - missing `YIELD`. Procedure call inside a query does not support naming results implicitly. Use `YIELD` instead. +Status description:: error: syntax error or access rule violation - missing `YIELD`. Procedure call inside a query does not support naming results implicitly. Use `YIELD` instead. === xref:errors/gql-errors/42N26.adoc[42N26] diff --git a/modules/ROOT/partials/glossary.adoc b/modules/ROOT/partials/glossary.adoc index 6a803e18..f7273ea2 100644 --- a/modules/ROOT/partials/glossary.adoc +++ b/modules/ROOT/partials/glossary.adoc @@ -12,6 +12,7 @@ [[cause]]$cause:: Freeform description of what caused the error. [[cfgSetting]]$cfgSetting:: Configuration setting key, for example, `server.https.enabled`. [[clause]]$clause:: A Cypher clause, for example, `USE`, `MATCH`. +[[clauseList]]$clause:: A list of Cypher clauses, for example, `USE, MATCH`. [[cmd]]$cmd:: A Cypher command, for example, `DROP DATABASE`, `PROFILE`, `SHOW PROCEDURES`. [[component]]$component:: A component of something, for example, hours/minutes within a time, a subset input within the whole input, `TOPOLOGY` clause within the whole `CREATE/ALTER DB ... SET TOPOLOGY`, etc. // we need to change the parameter $component in 51N27 to `$feat` maybe. From dc6b4b30eb3d8fb92b3a2eb4c1f115264842a464 Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Tue, 6 May 2025 15:00:23 +0100 Subject: [PATCH 08/24] Generate gql-errors index.adoc file (#302) --- .../ROOT/pages/errors/gql-errors/22NA5.adoc | 2 +- .../ROOT/pages/errors/gql-errors/42I33.adoc | 2 +- .../ROOT/pages/errors/gql-errors/42I42.adoc | 2 +- .../ROOT/pages/errors/gql-errors/42I50.adoc | 2 +- .../ROOT/pages/errors/gql-errors/42N18.adoc | 2 + .../ROOT/pages/errors/gql-errors/42N44.adoc | 2 +- .../ROOT/pages/errors/gql-errors/42N73.adoc | 2 +- .../ROOT/pages/errors/gql-errors/50N10.adoc | 2 + .../ROOT/pages/errors/gql-errors/50N15.adoc | 3 + .../ROOT/pages/errors/gql-errors/51N61.adoc | 2 + .../ROOT/pages/errors/gql-errors/51N62.adoc | 2 + .../ROOT/pages/errors/gql-errors/53N35.adoc | 2 + .../ROOT/pages/errors/gql-errors/53N37.adoc | 2 + .../ROOT/pages/errors/gql-errors/53U00.adoc | 2 + .../ROOT/pages/errors/gql-errors/index.adoc | 102 ++----- .../ROOT/templates/gql-index-template.adoc | 96 +++++++ scripts/README.adoc | 48 ++++ .../generate-gql-error-index-from-template.py | 185 +++++++++++++ scripts/update-gql-error-index.py | 62 +++++ scripts/validate-error-auto-index.py | 257 ++++++++++++++++++ scripts/validate-error-index.py | 257 ++++++++++++++++++ 21 files changed, 956 insertions(+), 80 deletions(-) create mode 100644 modules/ROOT/templates/gql-index-template.adoc create mode 100644 scripts/README.adoc create mode 100644 scripts/generate-gql-error-index-from-template.py create mode 100755 scripts/update-gql-error-index.py create mode 100644 scripts/validate-error-auto-index.py create mode 100755 scripts/validate-error-index.py diff --git a/modules/ROOT/pages/errors/gql-errors/22NA5.adoc b/modules/ROOT/pages/errors/gql-errors/22NA5.adoc index 2038d535..4d6f947b 100644 --- a/modules/ROOT/pages/errors/gql-errors/22NA5.adoc +++ b/modules/ROOT/pages/errors/gql-errors/22NA5.adoc @@ -1,7 +1,7 @@ = 22NA5 == Status description -error: data exception - invalid property based access control rule involving IS `NULL`. The property value access rule pattern `{ <> }` always evaluates to `NULL`. Use `IS NULL` instead. +error: data exception - invalid property based access control rule involving `IS NULL`. The property value access rule pattern `{ <> }` always evaluates to `NULL`. Use `IS NULL` instead. ifndef::backend-pdf[] [discrete.glossary] diff --git a/modules/ROOT/pages/errors/gql-errors/42I33.adoc b/modules/ROOT/pages/errors/gql-errors/42I33.adoc index f6311a99..d5a12561 100644 --- a/modules/ROOT/pages/errors/gql-errors/42I33.adoc +++ b/modules/ROOT/pages/errors/gql-errors/42I33.adoc @@ -1,7 +1,7 @@ = 42I33 == Status description -error: syntax error or access rule violation - invalid use of NOT NULL. Closed Dynamic Union types cannot be appended with `NOT NULL`, specify `NOT NULL` on inner types instead. +error: syntax error or access rule violation - invalid use of `NOT NULL`. Closed Dynamic Union types cannot be appended with `NOT NULL`, specify `NOT NULL` on inner types instead. ifndef::backend-pdf[] [discrete.glossary] diff --git a/modules/ROOT/pages/errors/gql-errors/42I42.adoc b/modules/ROOT/pages/errors/gql-errors/42I42.adoc index 756b30f2..e146d130 100644 --- a/modules/ROOT/pages/errors/gql-errors/42I42.adoc +++ b/modules/ROOT/pages/errors/gql-errors/42I42.adoc @@ -1,7 +1,7 @@ = 42I42 == Status description -error: syntax error or access rule violation - invalid use of YIELD. Cannot use YIELD on a call to a void procedure. +error: syntax error or access rule violation - invalid use of `YIELD`. Cannot use `YIELD` on a call to a void procedure. ifndef::backend-pdf[] [discrete.glossary] diff --git a/modules/ROOT/pages/errors/gql-errors/42I50.adoc b/modules/ROOT/pages/errors/gql-errors/42I50.adoc index 6ee50d96..145fccfb 100644 --- a/modules/ROOT/pages/errors/gql-errors/42I50.adoc +++ b/modules/ROOT/pages/errors/gql-errors/42I50.adoc @@ -1,7 +1,7 @@ = 42I50 == Status description -error: syntax error or access rule violation - token name too long. Invalid input `{ <> } ..`. A `{ <> }` name cannot be longer than `{ <> }`. +error: syntax error or access rule violation - token name too long. Invalid input `{ <> }..`. A `{ <> }` name cannot be longer than `{ <> }`. ifndef::backend-pdf[] [discrete.glossary] diff --git a/modules/ROOT/pages/errors/gql-errors/42N18.adoc b/modules/ROOT/pages/errors/gql-errors/42N18.adoc index 94fdc380..133c3c9d 100644 --- a/modules/ROOT/pages/errors/gql-errors/42N18.adoc +++ b/modules/ROOT/pages/errors/gql-errors/42N18.adoc @@ -3,6 +3,8 @@ == Status description error: syntax error or access rule violation - read-only database. The database is in read-only mode. + + ifndef::backend-pdf[] [discrete.glossary] == Glossary diff --git a/modules/ROOT/pages/errors/gql-errors/42N44.adoc b/modules/ROOT/pages/errors/gql-errors/42N44.adoc index 6dd4da68..117a4346 100644 --- a/modules/ROOT/pages/errors/gql-errors/42N44.adoc +++ b/modules/ROOT/pages/errors/gql-errors/42N44.adoc @@ -2,7 +2,7 @@ == Status description -error: syntax error or access rule violation - inaccessible variable. It is not possible to access the variable `{ <> }` declared before the `{ <> }` clause when using `DISTINCT` or an aggregation. +error: syntax error or access rule violation - inaccessible variable. It is not possible to access the variable `{ <> }` declared before the `{ <> }` clause when using `DISTINCT` or an aggregation. diff --git a/modules/ROOT/pages/errors/gql-errors/42N73.adoc b/modules/ROOT/pages/errors/gql-errors/42N73.adoc index 85652588..61af706b 100644 --- a/modules/ROOT/pages/errors/gql-errors/42N73.adoc +++ b/modules/ROOT/pages/errors/gql-errors/42N73.adoc @@ -1,7 +1,7 @@ = 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. +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`. ifndef::backend-pdf[] [discrete.glossary] diff --git a/modules/ROOT/pages/errors/gql-errors/50N10.adoc b/modules/ROOT/pages/errors/gql-errors/50N10.adoc index d2401612..d59352ce 100644 --- a/modules/ROOT/pages/errors/gql-errors/50N10.adoc +++ b/modules/ROOT/pages/errors/gql-errors/50N10.adoc @@ -3,6 +3,8 @@ == Status description error: general processing exception - index drop failed. Unable to drop `{ <> }`. + + ifndef::backend-pdf[] [discrete.glossary] == Glossary diff --git a/modules/ROOT/pages/errors/gql-errors/50N15.adoc b/modules/ROOT/pages/errors/gql-errors/50N15.adoc index 88f259b1..efabca22 100644 --- a/modules/ROOT/pages/errors/gql-errors/50N15.adoc +++ b/modules/ROOT/pages/errors/gql-errors/50N15.adoc @@ -3,6 +3,9 @@ == Status description error: general processing exception - unsupported index operation. The system attemped to execute an unsupported operation on index `{ <> }`. See debug.log for more information. + + + ifndef::backend-pdf[] [discrete.glossary] == Glossary diff --git a/modules/ROOT/pages/errors/gql-errors/51N61.adoc b/modules/ROOT/pages/errors/gql-errors/51N61.adoc index a430fb7e..aa7832d0 100644 --- a/modules/ROOT/pages/errors/gql-errors/51N61.adoc +++ b/modules/ROOT/pages/errors/gql-errors/51N61.adoc @@ -3,6 +3,8 @@ == Status description error: system configuration or operation exception - index population failed. Index `{ <> }` population failed. + + ifndef::backend-pdf[] [discrete.glossary] == Glossary diff --git a/modules/ROOT/pages/errors/gql-errors/51N62.adoc b/modules/ROOT/pages/errors/gql-errors/51N62.adoc index 91ed9b1b..0fc056f1 100644 --- a/modules/ROOT/pages/errors/gql-errors/51N62.adoc +++ b/modules/ROOT/pages/errors/gql-errors/51N62.adoc @@ -3,6 +3,8 @@ == Status description error: system configuration or operation exception - index is in a failed state. Unable to use index `{ <> }` because it is in a failed state. See logs for more information. + + ifndef::backend-pdf[] [discrete.glossary] == Glossary diff --git a/modules/ROOT/pages/errors/gql-errors/53N35.adoc b/modules/ROOT/pages/errors/gql-errors/53N35.adoc index 20062cba..cf93d59e 100644 --- a/modules/ROOT/pages/errors/gql-errors/53N35.adoc +++ b/modules/ROOT/pages/errors/gql-errors/53N35.adoc @@ -3,6 +3,8 @@ == Status description error: function exception - function compilation failed. Failed to compile function defined in `{ <> }`: `{ <> }` + + ifndef::backend-pdf[] [discrete.glossary] == Glossary diff --git a/modules/ROOT/pages/errors/gql-errors/53N37.adoc b/modules/ROOT/pages/errors/gql-errors/53N37.adoc index 9732e226..2f02f19e 100644 --- a/modules/ROOT/pages/errors/gql-errors/53N37.adoc +++ b/modules/ROOT/pages/errors/gql-errors/53N37.adoc @@ -3,6 +3,8 @@ == Status description error: function exception - function execution error. Execution of the function `{ <> }` failed. + + ifndef::backend-pdf[] [discrete.glossary] == Glossary diff --git a/modules/ROOT/pages/errors/gql-errors/53U00.adoc b/modules/ROOT/pages/errors/gql-errors/53U00.adoc index dbea11fb..bf014689 100644 --- a/modules/ROOT/pages/errors/gql-errors/53U00.adoc +++ b/modules/ROOT/pages/errors/gql-errors/53U00.adoc @@ -3,6 +3,8 @@ == Status description error: function exception - custom function execution error cause. Execution of the function `{ <> }` failed due to `{ <> }`: `{ <> }`. + + ifndef::backend-pdf[] [discrete.glossary] == Glossary diff --git a/modules/ROOT/pages/errors/gql-errors/index.adoc b/modules/ROOT/pages/errors/gql-errors/index.adoc index 0dfdfd04..2006dab9 100644 --- a/modules/ROOT/pages/errors/gql-errors/index.adoc +++ b/modules/ROOT/pages/errors/gql-errors/index.adoc @@ -1,3 +1,6 @@ +// This is an automatically generated file. Do not edit it directly. It is generated from the templates/gql-index-template.adoc file and should be edited there. + + :description: This section describes the GQLSTATUS errors that Neo4j can return, grouped by category, and an example of when they can occur. [[neo4j-gqlstatus-errors]] @@ -29,12 +32,10 @@ Status description:: error: connection exception - transaction resolution unknow Status description:: error: connection exception - unable to connect to database. Unable to connect to database `{ <> }`. Unable to get bolt address of the leader. Check the status of the database. Retrying your request at a later time may succeed. - === xref:errors/gql-errors/08N01.adoc[08N01] Status description:: error: connection exception - unable to write to database. Unable to write to database `{ <> }` on this server. Server-side routing is disabled. Either connect to the database leader directly or enable server-side routing by setting `{ <> }=true`. - === xref:errors/gql-errors/08N02.adoc[08N02] Status description:: error: connection exception - unable to connect to database. Unable to connect to database `{ <> }`. Server-side routing is disabled. Either connect to `{ $db }` directly, or enable server-side routing by setting `{ <> }=true`. @@ -169,7 +170,7 @@ Status description:: error: data exception - specified negative numeric value. E === xref:errors/gql-errors/22N03.adoc[22N03] -Status description:: error: data exception - specified numeric value out of range. Expected `{ <> }` to be of type `{ <> }` and in the range `{ <> }` to `{ <> }` but found `{ <> }`. +Status description:: error: data exception - specified numeric value out of range. Expected `{ <> }` to be of type `{ <> }` and in the range `{ <> }` to `{ <> }` but found `{ <> }`. === xref:errors/gql-errors/22N04.adoc[22N04] @@ -234,7 +235,7 @@ Status description:: error: data exception - invalid spatial value. A `POINT` mu === xref:errors/gql-errors/22N20.adoc[22N20] -Status description:: error: data exception - invalid spatial value dimensions. Cannot create POINT with `{ <>1D }` coordinate reference system (CRS) and `{ <> }` coordinates. Use the equivalent `{ $dim2D }` coordinate reference system instead. +Status description:: error: data exception - invalid spatial value dimensions. Cannot create POINT with `{ <>1 }D` coordinate reference system (CRS) and `{ <> }` coordinates. Use the equivalent `{ $dim2 }D` coordinate reference system instead. === xref:errors/gql-errors/22N21.adoc[22N21] @@ -270,7 +271,7 @@ Status description:: error: data exception - overflow error. The result of the o === xref:errors/gql-errors/22N29.adoc[22N29] -Status description:: error: data exception - unsupported coordinate reference system. Unknown coordinate reference system (CRS). +Status description:: error: data exception - unknown coordinate reference system. Unknown coordinate reference system (CRS). === xref:errors/gql-errors/22N30.adoc[22N30] @@ -547,15 +548,15 @@ Status description:: error: data exception - invalid property based access contr === xref:errors/gql-errors/22NA4.adoc[22NA4] -Status description:: error: data exception - invalid property based access control rule involving comparison with NULL. The property value access rule pattern `{ <> }` always evaluates to `NULL`. +Status description:: error: data exception - invalid property based access control rule involving comparison with `NULL`. The property value access rule pattern `{ <> }` always evaluates to `NULL`. === xref:errors/gql-errors/22NA5.adoc[22NA5] -Status description:: error: data exception - invalid property based access control rule involving IS NULL. The property value access rule pattern `{ <> }` always evaluates to `NULL`. Use `IS NULL` instead. +Status description:: error: data exception - invalid property based access control rule involving `IS NULL`. The property value access rule pattern `{ <> }` always evaluates to `NULL`. Use `IS NULL` instead. === xref:errors/gql-errors/22NA6.adoc[22NA6] -Status description:: error: data exception - invalid property based access control rule involving IS NOT NULL. The property value access rule pattern `{ <> }` always evaluates to `NULL`. Use `IS NOT NULL` instead. +Status description:: error: data exception - invalid property based access control rule involving `IS NOT NULL`. The property value access rule pattern `{ <> }` always evaluates to `NULL`. Use `IS NOT NULL` instead. === xref:errors/gql-errors/22NA7.adoc[22NA7] @@ -567,11 +568,11 @@ Status description:: error: data exception - parsing JSON failure. Underlying er === xref:errors/gql-errors/22NA9.adoc[22NA9] -Status description:: error: data exception -unexpected map entry. Invalid input. Unexpected key `{ <> }`, expected keys are `{ <> }`. +Status description:: error: data exception - unexpected map entry. Invalid input. Unexpected key `{ <> }`, expected keys are `{ <> }`. === xref:errors/gql-errors/22NB0.adoc[22NB0] -Status description:: error: data exception - invalid property based access control rule involving WHERE and IS NULL. The property value access rule pattern `{ <> }` always evaluates to `NULL`. Use `WHERE` syntax in combination with `IS NULL` instead. +Status description:: error: data exception - invalid property based access control rule involving `WHERE` and `IS NULL`. The property value access rule pattern `{ <> }` always evaluates to `NULL`. Use `WHERE` syntax in combination with `IS NULL` instead. === xref:errors/gql-errors/22NB1.adoc[22NB1] @@ -597,7 +598,6 @@ Status description:: error: data exception - unsupported time zone identifier. U Status description:: error: data exception - input empty. Invalid input. `{ <> }` is not allowed to be an empty string. - === xref:errors/gql-errors/22NB7.adoc[22NB7] Status description:: error: data exception - element id unsupported on composite database. It is not supported to create element ids on composite databases. Create the element id for `{ <> }` `{ <<$entityId>> }` on the constituent instead. @@ -674,6 +674,7 @@ Status description:: error: invalid transaction state - transaction termination Status description:: error: invalid transaction state - transaction termination transient error. The transaction has been terminated. Retry your operation in a new transaction, and you should see a successful result. Reson: `{ <> }` + [[invalid-transaction-termination]] == Invalid transaction termination @@ -708,6 +709,7 @@ Status description:: error: invalid transaction termination - failed to append t 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 @@ -729,6 +731,7 @@ Status description:: error: transaction rollback - rollback failed. Failed to ro Status description:: error: transaction rollback - constituent rollback failed. Failed to rollback constituent transaction. See debug log for details. + [[syntax-error-or-access-rule-violation]] == Syntax error or access rule violation @@ -808,7 +811,7 @@ Status description:: error: syntax error or access rule violation - invalid inpu === xref:errors/gql-errors/42I07.adoc[42I07] -Status description:: error: syntax error or access rule violation - invalid integer literal. The given `{ <> }` literal `{ <> }` is invalid +Status description:: error: syntax error or access rule violation - invalid integer literal. The given `{ <> }` literal `{ <> }` is invalid. === xref:errors/gql-errors/42I08.adoc[42I08] @@ -1010,7 +1013,7 @@ Status description:: error: syntax error or access rule violation - dynamic enti Status description:: error: syntax error or access rule violation - invalid glob escaping. Each part of the glob (a block of text up until a dot) must either be fully escaped or not escaped at all. -=== xref:errors/gql-errors/42I60.adoc[42I61] +=== xref:errors/gql-errors/42I61.adoc[42I61] Status description:: error: syntax error or access rule violation - missing LOOKUP INDEX function name. Missing function name for the LOOKUP INDEX. @@ -1109,12 +1112,10 @@ Status description:: error: syntax error or access rule violation - duplicate cl Status description:: error: syntax error or access rule violation - empty list range operator. The list range operator `[ ]` cannot be empty. - === xref:errors/gql-errors/42N21.adoc[42N21] Status description:: error: syntax error or access rule violation - unaliased return item. Expression in `{ <> }` must be aliased (use AS). - === xref:errors/gql-errors/42N22.adoc[42N22] Status description:: error: syntax error or access rule violation - single return column required. A `COLLECT` subquery must end with a single return column. @@ -1178,7 +1179,7 @@ Status description:: error: syntax error or access rule violation - incompatible === xref:errors/gql-errors/42N3A.adoc[42N3A] -Status description:: error: syntax error or access rule violation - incompatible conditional query. All `{ <> }` need to either return rows or update the graph. +Status description:: error: syntax error or access rule violation - incompatible conditional query. All `{ <> }` need to either return rows or update the graph. === xref:errors/gql-errors/42N3B.adoc[42N3B] @@ -1188,7 +1189,6 @@ Status description:: error: syntax error or access rule violation - incompatible Status description:: error: syntax error or access rule violation - invalid use of `CALL { ... }`. Not possible to enclose `{ <> }` in `CALL { ... }`. Use `CALL () { ... }` instead. - === xref:errors/gql-errors/42N40.adoc[42N40] Status description:: error: syntax error or access rule violation - single relationship pattern required. The `{ <> }` function must contain one relationship pattern. @@ -1241,12 +1241,10 @@ Status description:: error: syntax error or access rule violation - unsafe usage Status description:: error: syntax error or access rule violation - unsupported match mode. The match mode `{ <> }` is not supported. - === xref:errors/gql-errors/42N56.adoc[42N56] Status description:: error: syntax error or access rule violation - unsupported use of properties. Properties are not supported in the `{ <> }` function. - === xref:errors/gql-errors/42N57.adoc[42N57] Status description:: error: syntax error or access rule violation - invalid use of data-modifications in expressions. `{ <> }` cannot contain any updating clauses. @@ -1301,7 +1299,7 @@ Status description:: error: syntax error or access rule violation - graph functi === xref:errors/gql-errors/42N73.adoc[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. +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`. === xref:errors/gql-errors/42N74.adoc[42N74] @@ -1375,17 +1373,14 @@ Status description:: error: syntax error or access rule violation - incomplete ` Status description:: error: syntax error or access rule violation - provider-id combination already exists. The combination of provider and id is already in use. - === xref:errors/gql-errors/42N96.adoc[42N96] Status description:: error: syntax error or access rule violation - invalid user configuration. User has no auth provider. Add at least one auth provider for the user or consider suspending them. - === xref:errors/gql-errors/42N97.adoc[42N97] Status description:: error: syntax error or access rule violation - missing mandatory auth clause. Clause `{ <> }` is mandatory for auth provider `{ <> }`. - === xref:errors/gql-errors/42N98.adoc[42N98] Status description:: error: syntax error or access rule violation - cannot modify own user. Cannot modify the user record of the current user. @@ -1450,6 +1445,7 @@ Status description:: error: syntax error or access rule violation - auth info ex Status description:: error: syntax error or access rule violation - permission/access denied. Access denied, see the security logs for details. + [[general-processing-exceptions]] == General processing exceptions @@ -1525,12 +1521,13 @@ Status description:: error: general processing exception - no such schema descri === xref:errors/gql-errors/50N23.adoc[50N23] -error: general processing exception - transaction retry aborted. Transaction retry aborted after `{ <> }` attempts. Retry timed out with a maximum retry duration of `{ <> }` `{ <> }`. +Status description:: error: general processing exception - transaction retry aborted. Transaction retry aborted after `{ <> }` attempts. Retry timed out with a maximum retry duration of `{ <> }` `{ <> }`. === xref:errors/gql-errors/50N42.adoc[50N42] Status description:: error: general processing exception - unexpected error. Unexpected error has occurred. See debug log for details. + [[system-configuration-or-operation-exceptions]] == System configuration or operation exceptions @@ -1540,7 +1537,6 @@ System configuration or operation exception errors occur when there is an error Status description:: error: system configuration or operation exception - procedure registration error. Failed to register procedure/function. - === xref:errors/gql-errors/51N01.adoc[51N01] Status description:: error: system configuration or operation exception - class field annotation should be public, non-final, and non-static. The field `{ <> }` in the class `{ <> }` is annotated as a `@Context` field, but it is declared as static. `@Context` fields must be public, non-final and non-static. @@ -1549,63 +1545,51 @@ Status description:: error: system configuration or operation exception - class Status description:: error: system configuration or operation exception - unsupported injectable component type. Unable to set up injection for procedure `{ <> }`. The field `{ <> }` has type `{ <> }` which is not a supported injectable component. - === xref:errors/gql-errors/51N03.adoc[51N03] Status description:: error: system configuration or operation exception - unable to access field. Unable to set up injection for `{ <> }`, failed to access field `{ <> }`. - === xref:errors/gql-errors/51N04.adoc[51N04] Status description:: error: system configuration or operation exception - missing class field annotation. The field `{ <> }` on `{ <> }` must be annotated as a `@Context` field in order to store its state. - === xref:errors/gql-errors/51N05.adoc[51N05] Status description:: error: system configuration or operation exception - class field should be public and non-final. The field `{ <> }` on `{ <> }` must be declared non-final and public. - === xref:errors/gql-errors/51N06.adoc[51N06] Status description:: error: system configuration or operation exception - missing argument name. The argument at position `{ <> }` in `{ <> }` requires a `@Name` annotation and a non-empty name. - === xref:errors/gql-errors/51N07.adoc[51N07] Status description:: error: system configuration or operation exception - invalid ordering of default arguments. The `{ <> }` contains a non-default argument after a default argument. Non-default arguments are not allowed to be positioned after default arguments. - === xref:errors/gql-errors/51N08.adoc[51N08] Status description:: error: system configuration or operation exception - exactly one @UserAggregationResult method and one @UserAggregationUpdate method required. The class `{ <> }` must contain exactly one `@UserAggregationResult` method and exactly one `@UserAggregationUpdate` method. - === xref:errors/gql-errors/51N09.adoc[51N09] Status description:: error: system configuration or operation exception - @UserAggregationUpdate method must be public and void. The `@UserAggregationUpdate` method `{ <> }` of `{ <> }` must be public and have the return type `void`. - === xref:errors/gql-errors/51N10.adoc[51N10] Status description:: error: system configuration or operation exception - aggregation method not public. The method `{ <> }` of `{ <> }` must be public. - === xref:errors/gql-errors/51N11.adoc[51N11] Status description:: error: system configuration or operation exception - class not public. The class `{ <> }` must be public. - [role=label--changed-2025.03] === xref:errors/gql-errors/51N12.adoc[51N12] Status description:: error: system configuration or operation exception - class not void. The procedure `{ <> }` has zero return columns and must be defined as void. - === xref:errors/gql-errors/51N13.adoc[51N13] Status description:: error: system configuration or operation exception - procedure or function name already in use. Unable to register the procedure or function `{ <> }` because the name is already in use. - === xref:errors/gql-errors/51N14.adoc[51N14] Status description:: error: system configuration or operation exception - duplicate field name. @@ -1615,12 +1599,10 @@ The procedure `{ <> }` has a duplicate `{ <> }` field, `{ < Status description:: error: system configuration or operation exception - invalid map key type. Type mismatch for map key. Required `STRING`, but found `{ <> }`. - === xref:errors/gql-errors/51N16.adoc[51N16] Status description:: error: system configuration or operation exception - invalid default value type. Type mismatch for the default value. Required `{ <> }`, but found `{ <> }`. - === xref:errors/gql-errors/51N17.adoc[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.`{ <> }`)`. @@ -1629,7 +1611,6 @@ Status description:: error: system configuration or operation exception - invali Status description:: error: system configuration or operation exception - invalid method return type. The method `{ <> }` has an invalid return type. Procedures must return a stream of records, where each record is of a defined concrete class. - === xref:errors/gql-errors/51N20.adoc[51N20] Status description:: error: system configuration or operation exception - cannot inject field. The field `{ <> }` is not injectable. Ensure the field is marked as public and non-final. @@ -1642,12 +1623,10 @@ Status description:: error: system configuration or operation exception - proced 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. - === xref:errors/gql-errors/51N23.adoc[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. - === xref:errors/gql-errors/51N24.adoc[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. @@ -1656,7 +1635,6 @@ Status description:: error: system configuration or operation exception - insuff Status description:: error: system configuration or operation exception - database is busy. Cannot compile query due to excessive updates to indexes and constraints. - === xref:errors/gql-errors/51N26.adoc[51N26] Status description:: error: system configuration or operation exception - not supported in this version. `{ <> }` is not available. This implementation of Cypher does not support `{ <> }`. @@ -1670,37 +1648,30 @@ Status description:: error: system configuration or operation exception - not su Status description:: error: system configuration or operation exception - not supported by this database. This Cypher command must be executed against the database `{ <> }`. - === xref:errors/gql-errors/51N29.adoc[51N29] Status description:: error: system configuration or operation exception - not supported by this server. The command `{ <> }` must be executed on the current `LEADER` server. - === xref:errors/gql-errors/51N30.adoc[51N30] Status description:: error: system configuration or operation exception - not supported with this configuration. `{ <> }` is not supported in `{ <> }`. - === xref:errors/gql-errors/51N31.adoc[51N31] Status description:: error: system configuration or operation exception - not supported. `{ <> }` is not supported in `{ <> }`. - === xref:errors/gql-errors/51N32.adoc[51N32] Status description:: error: system configuration or operation exception - server panic. Server is in panic. - === xref:errors/gql-errors/51N33.adoc[51N33] Status description:: error: system configuration or operation exception - replication error. This member failed to replicate transaction, try again. - === xref:errors/gql-errors/51N34.adoc[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. - === xref:errors/gql-errors/51N35.adoc[51N35] Status description:: error: system configuration or operation exception - database location changed. The location of `{ <> }` has changed while the transaction was running. @@ -1721,67 +1692,54 @@ Status description:: error: system configuration or operation exception - failed Status description:: error: system configuration or operation exception - raft log corrupted. Expected set of files not found on disk. Please restore from backup. - === xref:errors/gql-errors/51N40.adoc[51N40] Status description:: error: system configuration or operation exception - unable to start database. Database `{ <> }` failed to start. Try restarting it. - === xref:errors/gql-errors/51N41.adoc[51N41] Status description:: error: system configuration or operation exception - admin operation failed. Server or database admin operation not possible. - === xref:errors/gql-errors/51N43.adoc[51N43] Status description:: error: system configuration or operation exception - cannot deallocate servers. Cannot deallocate server(s) `{ <> }`. - === xref:errors/gql-errors/51N44.adoc[51N44] Status description:: error: system configuration or operation exception - cannot drop server. Cannot drop server `{ <> }`. - === xref:errors/gql-errors/51N45.adoc[51N45] Status description:: error: system configuration or operation exception - cannot cordon server. Cannot cordon server `{ <> }`. - === xref:errors/gql-errors/51N46.adoc[51N46] Status description:: error: system configuration or operation exception - cannot alter server. Cannot alter server `{ <> }`. - === xref:errors/gql-errors/51N47.adoc[51N47] Status description:: error: system configuration or operation exception - cannot rename server. Cannot rename server `{ <> }`. - === xref:errors/gql-errors/51N48.adoc[51N48] Status description:: error: system configuration or operation exception - cannot enable server. Cannot enable server `{ <> }`. - === xref:errors/gql-errors/51N49.adoc[51N49] Status description:: error: system configuration or operation exception - cannot alter database. Cannot alter database `{ <> }`. - === xref:errors/gql-errors/51N50.adoc[51N50] Status description:: error: system configuration or operation exception - cannot recreate database. Cannot recreate database `{ <> }`. - === xref:errors/gql-errors/51N51.adoc[51N51] Status description:: error: system configuration or operation exception - cannot create database. Cannot create database `{ <> }`. - === xref:errors/gql-errors/51N52.adoc[51N52] Status description:: error: system configuration or operation exception - number of primaries out of range. Cannot alter database topology. Number of primaries `{ <> }` needs to be at least 1 and may not exceed `{ <> }`. - === xref:errors/gql-errors/51N53.adoc[51N53] Status description:: error: system configuration or operation exception - number of secondaries out of range. Cannot alter database topology. Number of secondaries `{ <> }` needs to be at least 0 and may not exceed `{ <> }`. @@ -1790,7 +1748,6 @@ Status description:: error: system configuration or operation exception - number Status description:: error: system configuration or operation exception - cannot reallocate. Failed to calculate reallocation for databases. `{ <> }` - === xref:errors/gql-errors/51N55.adoc[51N55] Status description:: error: system configuration or operation exception - cannot create additional database. Failed to create the database `{ <> }`. The limit of databases is reached. Either increase the limit using the config setting `{ <> }` or drop a database. @@ -1799,16 +1756,13 @@ Status description:: error: system configuration or operation exception - cannot Status description:: error: system configuration or operation exception - topology out of range. The number of `{ <> }` seeding servers `{ <>1 }` is larger than the desired number of `{ <> }` allocations `{ $count2 }`. - === xref:errors/gql-errors/51N57.adoc[51N57] Status description:: error: system configuration or operation exception - generic topology modification error. Unexpected error while picking allocations. `{ <> }` - === xref:errors/gql-errors/51N58.adoc[51N58] -Status description:: error: system configuration or operation exception - invalid shard topology. Invalid database shard topology. The number of `{ <> }` `{ <<$count>> }` needs to be at least 1 and may not exceed `{ <> }`. - +Status description:: error: system configuration or operation exception - invalid shard topology. Invalid database shard topology. The number of `{ <> }` `{ <> }` needs to be at least 1 and may not exceed `{ <> }`. === xref:errors/gql-errors/51N59.adoc[51N59] @@ -1830,16 +1784,13 @@ Status description:: error: system configuration or operation exception - index 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. - === xref:errors/gql-errors/51N64.adoc[51N64] Status description:: error: system configuration or operation exception - index dropped while sampling. The index dropped while sampling. - === xref:errors/gql-errors/51N65.adoc[51N65] -Status description:: error: system configuration or operation exception - vector index dimensionality mismatch. Vector index `{ <> }` has a dimensionality of `{ <>1 }`, but indexed vectors have `{ $dim2}`. - +Status description:: error: system configuration or operation exception - vector index dimensionality mismatch. Vector index `{ <> }` has a dimensionality of `{ <>1 }`, but indexed vectors have `{ $dim2 }`. === xref:errors/gql-errors/51N66.adoc[51N66] @@ -1877,6 +1828,7 @@ Status description:: error: system configuration or operation exception - transa Status description:: error: system configuration or operation exception - maximum number of transactions reached. Failed to start a new transaction. The limit of concurrent transactions is reached. Increase the number of concurrent transactions using `{ <> }` in the neo4j.conf file. + [[procedure-exceptions]] == Procedure exceptions @@ -2030,6 +1982,7 @@ Status description:: error: procedure exception - cdc scanner inactive. The log Status description:: error: procedure exception - custom procedure execution error cause. Execution of the procedure `{ <> }` failed due to `{ <> }`: `{ <> }` + [[function-exceptions]] == Function exceptions @@ -2049,8 +2002,9 @@ Status description:: error: function exception - function execution error. Execu Status description:: error: function exception - custom function execution error cause. Execution of the function `{ <> }` failed due to `{ <> }`: `{ <> }`. -[[dependent-object-error]] -== Dependent object error + +[[dependent-object-errors]] +== Dependent object errors === xref:errors/gql-errors/G1001.adoc[G1001] diff --git a/modules/ROOT/templates/gql-index-template.adoc b/modules/ROOT/templates/gql-index-template.adoc new file mode 100644 index 00000000..8f56ab2c --- /dev/null +++ b/modules/ROOT/templates/gql-index-template.adoc @@ -0,0 +1,96 @@ + + +:description: This section describes the GQLSTATUS errors that Neo4j can return, grouped by category, and an example of when they can occur. + +[[neo4j-gqlstatus-errors]] += List of GQLSTATUS error codes + +The following page provides an overview of all GQLSTATUS server error codes in Neo4j. +All errors in Neo4j have severity level `ERROR`. + +[WARNING] +==== +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 + +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. + +{codes_starting_with:'08'} + +[[data-exceptions]] +== 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. + +{codes_starting_with:'22'} + +[[invalid-transaction-state]] +== Invalid transaction state + +Invalid transaction state errors occur when the transaction is in an invalid state, such as when the transaction is terminated or closed, or when there is a conflict between the transaction state and applied updates. + +{codes-starting with: '25'} + +[[invalid-transaction-termination]] +== Invalid transaction termination + +Invalid transaction termination errors occur when the transaction termination fails, such as when the transaction or constituent transaction fails to commit, or when the transaction termination fails to apply or append the transaction. + +{codes-starting with: '2D'} + +[[transaction-rollback]] +== Transaction rollback + +Transaction rollback errors occur when there is a failure in a transaction or a constituent transaction rollback. + +{codes-starting with: '40'} + +[[syntax-error-or-access-rule-violation]] +== Syntax error or access rule violation + +Syntax error or access rule violation errors occur when a Cypher query contains invalid syntax or when a client request violates the access rules, such as when a query tries to access a database without enough privileges, etc. + +{codes-starting with: '42'} + +[[general-processing-exceptions]] +== General processing exceptions + +General processing exceptions occur when there is a general processing error, such as an internal error, deadlock, execution failure, invalid server state transition, constraint creation or drop failure, etc. + +{codes-starting with: '50'} + +[[system-configuration-or-operation-exceptions]] +== System configuration or operation exceptions + +System configuration or operation exception errors occur when there is an error in the system configuration or operation, such as procedure registration failure, a missing class field annotation, an unsupported injectable component type, duplicate field names, invalid map key type, etc. + +{codes-starting with: '51'} + +[[procedure-exceptions]] +== Procedure exceptions + +Procedure exceptions occur when there is an error in executing a procedure, such as when the procedure 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. + +{codes-starting with: '52'} + +[[function-exceptions]] +== Function exceptions + +{codes-starting with: '53'} + +[[dependent-object-errors]] +== Dependent object errors + +{codes-starting with: 'G1'} + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] diff --git a/scripts/README.adoc b/scripts/README.adoc new file mode 100644 index 00000000..10fbdf02 --- /dev/null +++ b/scripts/README.adoc @@ -0,0 +1,48 @@ += Scripts for generating and validating gql error index.adoc file + +This folder contains utility scripts for generating and validating gql error index.adoc file. + +== Scripts overview + +The folder contains the following scripts: + + +=== `generate-gql-error-index-from-template.py` + +This script generates the _auto-index.adoc_ file by using the template in _templates/gql-index-template.adoc_ and populating it with error codes from the individual files located in the _gql-errors_ directory. + +What it does:: +* Extracts error codes from filenames (e.g., 42007.adoc → 42007). +* Extracts the status descriptions from individual error files. +* Extracts page roles from files (`:page-role: changed-2025.04`). +* Creates a new _auto-index.adoc_ file based on the template and populates it with the extracted data. + +=== `validate-error-index.py` + +This index validates the consistency between _index.adoc_ and individual error files, identifying discrepancies in error codes, status descriptions, and page roles. + +What it does:: +* Checks for error codes mentioned in the index.adoc file that don't have corresponding files. +* Finds error files without index entries. +* Detects status description mismatches between the index and individual files. +* Verifies page role consistency. + +=== `validate-error-auto-index.py` + +This index validates the consistency between _auto-index.adoc_ and individual error files, identifying discrepancies in error codes, status descriptions, and page roles. + +What it does:: +* Checks for error codes mentioned in the index.adoc file that don't have corresponding files. +* Finds error files without index entries. +* Detects status description mismatches between the index and individual files. +* Verifies page role consistency. + +=== `update-gql-error-index.sh` +This script orchestrates the execution of the other scripts in a specific order to ensure that the error index is generated and validated correctly. + +What it does:: +1. Runs the validation script to check for discrepancies between the _index.adoc_ file and the individual error files. +2. If validation passes, it runs the generation script to create the _auto-index.adoc_ file. +3. Runs the validation script again to check for discrepancies between the _auto-index.adoc_ file and the individual error files. +4. If validation passes, it replaces the existing _index.adoc_ file with _auto-index.adoc_. +5. If validation fails, it prints an error message and does not replace the _index.adoc_ file, while also keeping the _auto-index.adoc_ file for manual review. \ No newline at end of file diff --git a/scripts/generate-gql-error-index-from-template.py b/scripts/generate-gql-error-index-from-template.py new file mode 100644 index 00000000..4cae2ade --- /dev/null +++ b/scripts/generate-gql-error-index-from-template.py @@ -0,0 +1,185 @@ +#!/usr/bin/env python3 + +import os +import re +from pathlib import Path +import argparse + +# For debugging - examine a single file to understand its structure +def examine_error_file(file_path): + """Print the contents of an error file for debugging.""" + try: + with open(file_path, 'r') as f: + content = f.read() + print(f"=== File Content for {file_path.name} ===") + print(content) + print("===================================") + + # Try to extract the description with different patterns + patterns = [ + r'Status description::\s*(.*?)(?=\n\n|\n==|\Z)', + r'== Status description\s*\n(.*?)(?=\n\n|\n==|\Z)', + r'== Status description\s*\n\s*Status description:: (.*?)(?=\n\n|\n==|\Z)' + ] + + for i, pattern in enumerate(patterns): + match = re.search(pattern, content, re.DOTALL) + if match: + print(f"Pattern {i+1} matched! Description: {match.group(1)[:50]}...") + else: + print(f"Pattern {i+1} did not match") + except Exception as e: + print(f"Error reading file: {e}") + +def get_error_codes_from_files(errors_dir, verbose=False): + """Get all error codes and their details from individual .adoc files.""" + error_codes = {} + sample_file = None + + for file in os.listdir(errors_dir): + if file.endswith('.adoc') and file != 'index.adoc' and file != 'auto-index.adoc': + error_code = file[:-5] # Remove .adoc extension + file_path = os.path.join(errors_dir, file) + + if sample_file is None: + sample_file = file_path # Save first file for debugging + + # Extract details from file + with open(file_path, 'r') as f: + content = f.read() + + # Extract page role + page_role = None + role_match = re.search(r':page-role:\s*(.*?)(?=\n|\Z)', content) + if role_match: + page_role = role_match.group(1).strip() + + # Extract description - try several patterns + description = None + desc_patterns = [ + r'Status description::\s*(.*?)(?=\n\n|\n==|\Z)', # Simple format + r'== Status description\s*\n\s*Status description:: (.*?)(?=\n\n|\n==|\Z)', # Section + desc + r'== Status description\s*\n(.*?)(?=\n\n|\n==|\Z)' # Section only + ] + + for pattern in desc_patterns: + match = re.search(pattern, content, re.DOTALL) + if match: + description = match.group(1).strip() + break + + error_codes[error_code] = { + 'description': description, + 'page_role': page_role + } + + if verbose and description: + print(f"Found description for {error_code}: {description[:50]}...") + elif verbose: + print(f"No description found for {error_code}") + + # If we didn't find any descriptions, examine a sample file + if verbose and sample_file and not any(code['description'] for code in error_codes.values()): + print("\nNo descriptions were found in any files. Examining a sample file:") + examine_error_file(sample_file) + + return error_codes + +def generate_from_template(template_file, errors_dir, output_file, include_descriptions=True, verbose=False): + """Generate the index file from template and individual error files.""" + if verbose: + print("Extracting error codes and descriptions...") + + # Get error codes and their info with improved extraction + error_codes = get_error_codes_from_files(errors_dir, verbose) + + if verbose: + desc_count = sum(1 for code in error_codes.values() if code['description']) + print(f"Found {len(error_codes)} error code files, {desc_count} with descriptions") + + # Read the template + with open(template_file, 'r') as f: + template_content = f.read() + + # Define patterns to find placeholders + patterns = [ + r'\{codes_starting_with:\'([^\']+)\'\}', + r'\{codes-starting with: \'([^\']+)\'\}' + ] + + # Replace placeholders with generated content + for pattern in patterns: + for match in re.finditer(pattern, template_content): + prefix = match.group(1) + placeholder = match.group(0) + + if verbose: + print(f"Processing prefix: {prefix}") + + # Generate content for this prefix + content = [] + matching_codes = [code for code in sorted(error_codes.keys()) if code.startswith(prefix)] + + for error_code in matching_codes: + # Add page role if exists + if error_codes[error_code]['page_role']: + content.append(f'[role=label--{error_codes[error_code]["page_role"]}]') + + content.append(f'=== xref:errors/gql-errors/{error_code}.adoc[{error_code}]') + content.append('') + + # Add description if available and requested + if include_descriptions and error_codes[error_code]['description']: + content.append(f'Status description:: {error_codes[error_code]["description"]}') + content.append('') + + section_content = '\n'.join(content) + + # Replace placeholder with generated content + template_content = template_content.replace(placeholder, section_content) + + # Write the result to the output file + with open(output_file, 'w') as f: + f.write("// This is an automatically generated file. Do not edit it directly. It is generated from the templates/gql-index-template.adoc file and should be edited there.\n") + f.write(template_content) + + print(f'Generated index file at: {output_file}') + print(f'Used template: {template_file}') + print(f'Total error codes processed: {len(error_codes)}') + +def main(): + # Set up argument parser + parser = argparse.ArgumentParser(description='Generate GraphQL error code index from template') + parser.add_argument('--no-descriptions', action='store_true', + help='If set, only error codes will be listed without their descriptions') + parser.add_argument('--verbose', action='store_true', + help='Show detailed information during processing') + parser.add_argument('--debug-file', help='Debug a specific error file') + args = parser.parse_args() + + # Get the script's directory + script_dir = Path(__file__).parent.absolute() + + # Navigate to the required directories + errors_dir = script_dir.parent / 'modules' / 'ROOT' / 'pages' / 'errors' / 'gql-errors' + template_file = script_dir.parent / 'modules' / 'ROOT' / 'templates' / 'gql-index-template.adoc' + output_file = errors_dir / 'auto-index.adoc' + + # Debug specific file if requested + if args.debug_file: + debug_path = errors_dir / f"{args.debug_file}.adoc" + if debug_path.exists(): + examine_error_file(debug_path) + else: + print(f"Error: Debug file not found at {debug_path}") + return + + if not template_file.exists(): + print(f"Error: Template file not found at {template_file}") + return + + generate_from_template(template_file, errors_dir, output_file, + not args.no_descriptions, args.verbose) + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/scripts/update-gql-error-index.py b/scripts/update-gql-error-index.py new file mode 100755 index 00000000..42819f7e --- /dev/null +++ b/scripts/update-gql-error-index.py @@ -0,0 +1,62 @@ +#!/usr/bin/env python3 + +import os +import subprocess +import shutil + +# Define paths +script_dir = os.path.dirname(os.path.abspath(__file__)) +project_root = os.path.dirname(script_dir) +errors_dir = os.path.join(project_root, "modules", "ROOT", "pages", "errors", "gql-errors") +index_file = os.path.join(errors_dir, "index.adoc") +auto_index_file = os.path.join(errors_dir, "auto-index.adoc") + +def run_python_script(script_name): + """Run a Python script and return its exit code""" + script_path = os.path.join(script_dir, script_name) + result = subprocess.run(["python3", script_path], capture_output=True, text=True) + print(result.stdout) + return result.returncode + +# Main workflow +def main(): + print("===== Starting GQL Error Index Update Process =====") + + # Step 1: Validate index.adoc + print("Step 1: Validating index.adoc against individual files...") + validation_result = run_python_script("validate-error-index.py") + + # Step 2: Check validation result + if validation_result == 0: + print("✅ Validation passed! No further action needed.") + return 0 + + # Step 3: Generate auto-index.adoc + print("Step 3: Generating auto-index.adoc from template...") + generation_result = run_python_script("generate-gql-error-index-from-template.py") + + if generation_result != 0 or not os.path.exists(auto_index_file): + print("Error: Failed to generate auto-index.adoc") + return 1 + + # Step 4: Validate auto-index.adoc + print("Step 4: Validating auto-index.adoc against individual files...") + auto_validation_result = run_python_script("validate-error-auto-index.py") + + # Step 5: If auto-index validation passes, replace index.adoc + if auto_validation_result == 0: + print("Step 5: Auto-index validation passed! Replacing index.adoc...") + + # Replace index with auto-index + os.remove(index_file) + os.rename(auto_index_file, index_file) + + print("✅ Update completed successfully.") + return 0 + else: + print("❌ Auto-index validation failed.") + print("No changes were made to index.adoc.") + return auto_validation_result + +if __name__ == "__main__": + exit(main()) \ No newline at end of file diff --git a/scripts/validate-error-auto-index.py b/scripts/validate-error-auto-index.py new file mode 100644 index 00000000..a91be7cd --- /dev/null +++ b/scripts/validate-error-auto-index.py @@ -0,0 +1,257 @@ +#!/usr/bin/env python3 + +import os +import re +from pathlib import Path +import argparse +import sys +from difflib import ndiff + +def get_error_codes_from_index(index_file): + """Extract error codes and their descriptions from the index file.""" + error_codes = {} + + try: + with open(index_file, 'r') as f: + content = f.read() + + # Find all error code entries with descriptions + pattern = r'=== xref:errors/gql-errors/([A-Z0-9]{5})\.adoc\[\1\]\s*\n\s*\n\s*Status description:: (.*?)(?=\n\s*\n|\n===|\Z)' + matches = re.findall(pattern, content, re.DOTALL) + + for code, desc in matches: + error_codes[code] = desc.strip() + + return error_codes + except Exception as e: + print(f"Error reading index file {index_file}: {e}") + return {} + +def get_page_roles_from_index(index_file): + """Extract page roles for error codes from the index file.""" + roles = {} + + try: + with open(index_file, 'r') as f: + lines = f.readlines() + + for i, line in enumerate(lines): + role_match = re.search(r'\[role=label--([^\]]+)\]', line) + if role_match and i + 1 < len(lines): + code_match = re.search(r'xref:errors/gql-errors/([A-Z0-9]{5})\.adoc', lines[i+1]) + if code_match: + roles[code_match.group(1)] = role_match.group(1) + + return roles + except Exception as e: + print(f"Error reading index file for roles {index_file}: {e}") + return {} + +def get_error_codes_from_files(errors_dir): + """Get error codes and descriptions from individual error files.""" + error_codes = {} + + try: + for file in os.listdir(errors_dir): + if file.endswith('.adoc') and file != 'index.adoc' and file != 'auto-index.adoc': + error_code = file[:-5] # Remove .adoc extension + file_path = os.path.join(errors_dir, file) + + # Extract description from file + description = extract_description_from_file(file_path) + + if description: + error_codes[error_code] = description + else: + error_codes[error_code] = None + + return error_codes + except Exception as e: + print(f"Error scanning error files directory {errors_dir}: {e}") + return {} + +def extract_description_from_file(file_path): + """Extract the status description from an error file.""" + try: + with open(file_path, 'r') as f: + content = f.read() + + # Try different patterns to match the description + patterns = [ + r'== Status description\s*\n(.*?)(?=\n\n|\n==|\Z)', # Format with standalone line + r'Status description::\s*(.*?)(?=\n\n|\n==|\Z)' # Format with Status description:: prefix + ] + + for pattern in patterns: + match = re.search(pattern, content, re.DOTALL) + if match: + description = match.group(1).strip() + if description.startswith('Status description::'): + description = description[len('Status description::'):].strip() + return description + + return None + except Exception as e: + print(f"Error reading file {file_path}: {e}") + return None + +def get_page_roles_from_files(errors_dir): + """Get page roles from individual error files.""" + roles = {} + + try: + for file in os.listdir(errors_dir): + if file.endswith('.adoc') and file != 'index.adoc' and file != 'auto-index.adoc': + error_code = file[:-5] # Remove .adoc extension + file_path = os.path.join(errors_dir, file) + + # Extract page role from file + with open(file_path, 'r') as f: + for line in f: + if line.strip().startswith(':page-role:'): + roles[error_code] = line.strip()[11:].strip() + break + + return roles + except Exception as e: + print(f"Error scanning error files for roles {errors_dir}: {e}") + return {} + +def format_description(desc, max_len=60): + """Format a description for display, truncating if necessary.""" + if not desc: + return "MISSING" + if len(desc) > max_len: + return f"{desc[:max_len]}..." + return desc + +def validate_error_parity(errors_dir, auto_index_file, verbose=False): + """Validate error code parity between auto-index and individual files.""" + # Get error codes from auto-index and files + auto_index_codes = get_error_codes_from_index(auto_index_file) + file_codes = get_error_codes_from_files(errors_dir) + + # Get page roles + auto_index_roles = get_page_roles_from_index(auto_index_file) + file_roles = get_page_roles_from_files(errors_dir) + + # Find missing files and entries + codes_in_auto_index_not_in_files = set(auto_index_codes.keys()) - set(file_codes.keys()) + codes_in_files_not_in_auto_index = set(file_codes.keys()) - set(auto_index_codes.keys()) + + # Find description mismatches + description_mismatches = [] + for code in set(auto_index_codes.keys()) & set(file_codes.keys()): + auto_index_desc = auto_index_codes[code] if code in auto_index_codes else None + file_desc = file_codes[code] if code in file_codes else None + + # If file has no description, this isn't a mismatch, just incomplete documentation + if file_desc is None: + continue + + # Compare normalized descriptions (strip whitespace and standardize spacing) + if auto_index_desc and file_desc: + auto_index_desc_norm = re.sub(r'\s+', ' ', auto_index_desc.strip()) + file_desc_norm = re.sub(r'\s+', ' ', file_desc.strip()) + + if auto_index_desc_norm != file_desc_norm: + description_mismatches.append((code, auto_index_desc, file_desc)) + + # Find role mismatches + role_mismatches = [] + for code in set(auto_index_roles.keys()) | set(file_roles.keys()): + auto_index_role = auto_index_roles.get(code) + file_role = file_roles.get(code) + + if auto_index_role != file_role: + role_mismatches.append((code, auto_index_role, file_role)) + + # Print results + print(f"\n=== Auto-Index Validation Results ===\n") + print(f"Total error codes in auto-index: {len(auto_index_codes)}") + print(f"Total error code files: {len(file_codes)}") + + # Missing files + if codes_in_auto_index_not_in_files: + print(f"\n{len(codes_in_auto_index_not_in_files)} error codes in auto-index but missing files:") + for code in sorted(codes_in_auto_index_not_in_files): + print(f" - {code}: {format_description(auto_index_codes.get(code))}") + else: + print("\nNo error codes are missing files. ✓") + + # Missing entries + if codes_in_files_not_in_auto_index: + print(f"\n{len(codes_in_files_not_in_auto_index)} error files without auto-index entries:") + for code in sorted(codes_in_files_not_in_auto_index): + print(f" - {code}: {format_description(file_codes.get(code))}") + else: + print("\nNo error files are missing from the auto-index. ✓") + + # Description mismatches + if description_mismatches: + print(f"\n{len(description_mismatches)} description mismatches:") + for code, auto_index_desc, file_desc in sorted(description_mismatches): + print(f"\n - {code}:") + print(f" Auto-Index: {format_description(auto_index_desc)}") + print(f" File : {format_description(file_desc)}") + + if verbose: + # Show exact differences for detailed debugging + print("\n Detailed differences:") + differences = list(ndiff(auto_index_desc.splitlines(), file_desc.splitlines())) + for line in differences: + if line.startswith('+ ') or line.startswith('- ') or line.startswith('? '): + print(f" {line}") + else: + print("\nNo description mismatches found. ✓") + + # Role mismatches + if role_mismatches: + print(f"\n{len(role_mismatches)} page role mismatches:") + for code, auto_index_role, file_role in sorted(role_mismatches): + print(f" - {code}:") + print(f" Auto-Index: {auto_index_role or 'MISSING'}") + print(f" File : {file_role or 'MISSING'}") + else: + print("\nNo page role mismatches found. ✓") + + # Final status + if not (codes_in_auto_index_not_in_files or codes_in_files_not_in_auto_index or + description_mismatches or role_mismatches): + print("\n✅ All validations passed! Auto-index is consistent with individual files.") + return True + else: + print("\n❌ Validation failed.") + return False + +def main(): + parser = argparse.ArgumentParser(description='Validate auto-index.adoc against individual error files') + parser.add_argument('--auto-index', help='Path to auto-index.adoc file') + parser.add_argument('--dir', help='Path to directory containing error files') + parser.add_argument('--verbose', '-v', action='store_true', help='Show detailed differences for mismatches') + args = parser.parse_args() + + # Get the script's directory + script_dir = Path(__file__).parent.absolute() + + # Default paths if not specified + errors_dir = args.dir if args.dir else script_dir.parent / 'modules' / 'ROOT' / 'pages' / 'errors' / 'gql-errors' + auto_index_file = args.auto_index if args.auto_index else errors_dir / 'auto-index.adoc' + + # Validate that the paths exist + if not os.path.exists(errors_dir): + print(f"Error: Directory not found: {errors_dir}") + return 1 + + if not os.path.exists(auto_index_file): + print(f"Error: Auto-index file not found: {auto_index_file}") + return 1 + + # Run validation + success = validate_error_parity(errors_dir, auto_index_file, args.verbose) + + # Return 0 if success, 1 otherwise + return 0 if success else 1 + +if __name__ == '__main__': + sys.exit(main()) \ No newline at end of file diff --git a/scripts/validate-error-index.py b/scripts/validate-error-index.py new file mode 100755 index 00000000..de7bb6e9 --- /dev/null +++ b/scripts/validate-error-index.py @@ -0,0 +1,257 @@ +#!/usr/bin/env python3 + +import os +import re +from pathlib import Path +import argparse +import sys + +def get_error_codes_from_index(index_file): + """Extract error codes and their descriptions from the index file.""" + error_codes = {} + + try: + with open(index_file, 'r') as f: + content = f.read() + + # Find all error code entries with descriptions + pattern = r'=== xref:errors/gql-errors/([A-Z0-9]{5})\.adoc\[\1\]\s*\n\s*\n\s*Status description:: (.*?)(?=\n\s*\n|\n===|\Z)' + matches = re.findall(pattern, content, re.DOTALL) + + for code, desc in matches: + error_codes[code] = desc.strip() + + return error_codes + except Exception as e: + print(f"Error reading index file {index_file}: {e}") + return {} + +def get_page_roles_from_index(index_file): + """Extract page roles for error codes from the index file.""" + roles = {} + + try: + with open(index_file, 'r') as f: + lines = f.readlines() + + for i, line in enumerate(lines): + role_match = re.search(r'\[role=label--([^\]]+)\]', line) + if role_match and i + 1 < len(lines): + code_match = re.search(r'xref:errors/gql-errors/([A-Z0-9]{5})\.adoc', lines[i+1]) + if code_match: + roles[code_match.group(1)] = role_match.group(1) + + return roles + except Exception as e: + print(f"Error reading index file for roles {index_file}: {e}") + return {} + +def get_error_codes_from_files(errors_dir): + """Get error codes and descriptions from individual error files.""" + error_codes = {} + + try: + for file in os.listdir(errors_dir): + if file.endswith('.adoc') and file != 'index.adoc' and file != 'auto-index.adoc': + error_code = file[:-5] # Remove .adoc extension + file_path = os.path.join(errors_dir, file) + + # Extract description from file + description = extract_description_from_file(file_path) + + if description: + error_codes[error_code] = description + else: + error_codes[error_code] = None + + return error_codes + except Exception as e: + print(f"Error scanning error files directory {errors_dir}: {e}") + return {} + +def extract_description_from_file(file_path): + """Extract the status description from an error file.""" + try: + with open(file_path, 'r') as f: + content = f.read() + + # Try different patterns to match the description + patterns = [ + r'== Status description\s*\n(.*?)(?=\n\n|\n==|\Z)', # Format with standalone line + r'Status description::\s*(.*?)(?=\n\n|\n==|\Z)' # Format with Status description:: prefix + ] + + for pattern in patterns: + match = re.search(pattern, content, re.DOTALL) + if match: + description = match.group(1).strip() + if description.startswith('Status description::'): + description = description[len('Status description::'):].strip() + return description + + return None + except Exception as e: + print(f"Error reading file {file_path}: {e}") + return None + +def get_page_roles_from_files(errors_dir): + """Get page roles from individual error files.""" + roles = {} + + try: + for file in os.listdir(errors_dir): + if file.endswith('.adoc') and file != 'index.adoc' and file != 'auto-index.adoc': + error_code = file[:-5] # Remove .adoc extension + file_path = os.path.join(errors_dir, file) + + # Extract page role from file + with open(file_path, 'r') as f: + for line in f: + if line.strip().startswith(':page-role:'): + roles[error_code] = line.strip()[11:].strip() + break + + return roles + except Exception as e: + print(f"Error scanning error files for roles {errors_dir}: {e}") + return {} + +def format_description(desc, max_len=60): + """Format a description for display, truncating if necessary.""" + if not desc: + return "MISSING" + if len(desc) > max_len: + return f"{desc[:max_len]}..." + return desc + +def validate_error_parity(errors_dir, index_file, verbose=False): + """Validate error code parity between index and individual files.""" + # Get error codes from index and files + index_codes = get_error_codes_from_index(index_file) + file_codes = get_error_codes_from_files(errors_dir) + + # Get page roles + index_roles = get_page_roles_from_index(index_file) + file_roles = get_page_roles_from_files(errors_dir) + + # Find missing files and entries + codes_in_index_not_in_files = set(index_codes.keys()) - set(file_codes.keys()) + codes_in_files_not_in_index = set(file_codes.keys()) - set(index_codes.keys()) + + # Find description mismatches + description_mismatches = [] + for code in set(index_codes.keys()) & set(file_codes.keys()): + index_desc = index_codes[code] if code in index_codes else None + file_desc = file_codes[code] if code in file_codes else None + + # If file has no description, this isn't a mismatch, just incomplete documentation + if file_desc is None: + continue + + # Compare normalized descriptions (strip whitespace and standardize spacing) + if index_desc and file_desc: + index_desc_norm = re.sub(r'\s+', ' ', index_desc.strip()) + file_desc_norm = re.sub(r'\s+', ' ', file_desc.strip()) + + if index_desc_norm != file_desc_norm: + description_mismatches.append((code, index_desc, file_desc)) + + # Find role mismatches + role_mismatches = [] + for code in set(index_roles.keys()) | set(file_roles.keys()): + index_role = index_roles.get(code) + file_role = file_roles.get(code) + + if index_role != file_role: + role_mismatches.append((code, index_role, file_role)) + + # Print results + print(f"\n=== Error Code Parity Validation Results ===\n") + print(f"Total error codes in index: {len(index_codes)}") + print(f"Total error code files: {len(file_codes)}") + + # Missing files + if codes_in_index_not_in_files: + print(f"\n{len(codes_in_index_not_in_files)} error codes in index but missing files:") + for code in sorted(codes_in_index_not_in_files): + print(f" - {code}: {format_description(index_codes.get(code))}") + else: + print("\nNo error codes are missing files. ✓") + + # Missing entries + if codes_in_files_not_in_index: + print(f"\n{len(codes_in_files_not_in_index)} error files without index entries:") + for code in sorted(codes_in_files_not_in_index): + print(f" - {code}: {format_description(file_codes.get(code))}") + else: + print("\nNo error files are missing from the index. ✓") + + # Description mismatches + if description_mismatches: + print(f"\n{len(description_mismatches)} description mismatches:") + for code, index_desc, file_desc in sorted(description_mismatches): + print(f"\n - {code}:") + print(f" Index: {format_description(index_desc)}") + print(f" File : {format_description(file_desc)}") + + if verbose: + # Show exact differences for detailed debugging + from difflib import ndiff + print("\n Detailed differences:") + differences = list(ndiff(index_desc.splitlines(), file_desc.splitlines())) + for line in differences: + if line.startswith('+ ') or line.startswith('- ') or line.startswith('? '): + print(f" {line}") + else: + print("\nNo description mismatches found. ✓") + + # Role mismatches + if role_mismatches: + print(f"\n{len(role_mismatches)} page role mismatches:") + for code, index_role, file_role in sorted(role_mismatches): + print(f" - {code}:") + print(f" Index: {index_role or 'MISSING'}") + print(f" File : {file_role or 'MISSING'}") + else: + print("\nNo page role mismatches found. ✓") + + # Final status + if not (codes_in_index_not_in_files or codes_in_files_not_in_index or + description_mismatches or role_mismatches): + print("\n✅ All validations passed! Documentation is consistent.") + return True + else: + print("\n❌ Validation failed.") + return False + +def main(): + parser = argparse.ArgumentParser(description='Validate error code parity between index and individual files') + parser.add_argument('--index', help='Path to index.adoc file') + parser.add_argument('--dir', help='Path to directory containing error files') + parser.add_argument('--verbose', '-v', action='store_true', help='Show detailed differences for mismatches') + args = parser.parse_args() + + # Get the script's directory + script_dir = Path(__file__).parent.absolute() + + # Default paths if not specified + errors_dir = args.dir if args.dir else script_dir.parent / 'modules' / 'ROOT' / 'pages' / 'errors' / 'gql-errors' + index_file = args.index if args.index else errors_dir / 'index.adoc' + + # Validate that the paths exist + if not os.path.exists(errors_dir): + print(f"Error: Directory not found: {errors_dir}") + return 1 + + if not os.path.exists(index_file): + print(f"Error: Index file not found: {index_file}") + return 1 + + # Run validation + success = validate_error_parity(errors_dir, index_file, args.verbose) + + # Return return 0 if success + return 0 if success else 1 + +if __name__ == '__main__': + sys.exit(main()) \ No newline at end of file From 51b4a9eba01b850d8c6f657cdec820038c641b3e Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Tue, 6 May 2025 15:14:10 +0100 Subject: [PATCH 09/24] Update the scripts readme (#310) --- scripts/README.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/README.adoc b/scripts/README.adoc index 10fbdf02..be19f30b 100644 --- a/scripts/README.adoc +++ b/scripts/README.adoc @@ -37,7 +37,7 @@ What it does:: * Detects status description mismatches between the index and individual files. * Verifies page role consistency. -=== `update-gql-error-index.sh` +=== `update-gql-error-index.py` This script orchestrates the execution of the other scripts in a specific order to ensure that the error index is generated and validated correctly. What it does:: From 240409c482620772d14a05b9908807313418a4c8 Mon Sep 17 00:00:00 2001 From: Louise Berglund Date: Thu, 8 May 2025 17:30:42 +0200 Subject: [PATCH 10/24] Document new GQLSTATUS 22NB9 (#303) Introduced in https://github.com/neo-technology/neo4j/pull/30884 --------- Co-authored-by: Reneta Popova --- modules/ROOT/content-nav.adoc | 1 + .../ROOT/pages/errors/gql-errors/22N90.adoc | 3 +- .../ROOT/pages/errors/gql-errors/22NB9.adoc | 33 +++++++++++++++++++ .../ROOT/pages/errors/gql-errors/index.adoc | 4 +++ modules/ROOT/partials/glossary.adoc | 1 + 5 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 modules/ROOT/pages/errors/gql-errors/22NB9.adoc diff --git a/modules/ROOT/content-nav.adoc b/modules/ROOT/content-nav.adoc index 9196393d..3da7eba9 100644 --- a/modules/ROOT/content-nav.adoc +++ b/modules/ROOT/content-nav.adoc @@ -150,6 +150,7 @@ **** xref:errors/gql-errors/22NB6.adoc[] **** xref:errors/gql-errors/22NB7.adoc[] **** xref:errors/gql-errors/22NB8.adoc[] +**** xref:errors/gql-errors/22NB9.adoc[] *** xref:errors/gql-errors/index.adoc#invalid-transaction-state[Invalid transaction state] **** xref:errors/gql-errors/25G02.adoc[] **** xref:errors/gql-errors/25N01.adoc[] diff --git a/modules/ROOT/pages/errors/gql-errors/22N90.adoc b/modules/ROOT/pages/errors/gql-errors/22N90.adoc index ecd22b83..a6397cff 100644 --- a/modules/ROOT/pages/errors/gql-errors/22N90.adoc +++ b/modules/ROOT/pages/errors/gql-errors/22N90.adoc @@ -1,7 +1,8 @@ +:page-role: changed-2025.05 = 22N90 == Status description -error: data exception - property type unsupported in constraint. `{ <> }` is not supported in property type constraints. +error: data exception - property type unsupported in constraint. `{ <> }` is not supported in property type constraints. ifndef::backend-pdf[] [discrete.glossary] diff --git a/modules/ROOT/pages/errors/gql-errors/22NB9.adoc b/modules/ROOT/pages/errors/gql-errors/22NB9.adoc new file mode 100644 index 00000000..171524d2 --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/22NB9.adoc @@ -0,0 +1,33 @@ += 22NB9 + +== Status description + +error: data exception - invalid inner list type. Lists cannot have `{ <> }` as an inner type in this context. + +== Example scenario + +For example, try to create a property type constraint with a list of a union as property type: + +[source,cypher] +---- +CREATE CONSTRAINT myConstraint +FOR (n:Label) +REQUIRE n.prop IS :: LIST +---- + +You will receive an error with GQLSTATUS xref:errors/gql-errors/50N11.adoc[50N11]. +This error has a cause detailed in xref:errors/gql-errors/22N90.adoc[22N90], which also has a subsequent cause with GQLSTATUS 22NB9 and status description: + + +[source] +---- +error: data exception - invalid inner list type. Lists cannot have a union of types as an inner type in this context. +---- + + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] \ No newline at end of file diff --git a/modules/ROOT/pages/errors/gql-errors/index.adoc b/modules/ROOT/pages/errors/gql-errors/index.adoc index 2006dab9..a4342d06 100644 --- a/modules/ROOT/pages/errors/gql-errors/index.adoc +++ b/modules/ROOT/pages/errors/gql-errors/index.adoc @@ -606,6 +606,10 @@ Status description:: error: data exception - element id unsupported on composite Status description:: error: data exception - invalid Neo4j type. `{ <> }` is not a recognized Neo4j type. +=== xref:errors/gql-errors/22NB9.adoc[22NB9] + +Status description:: error: data exception - invalid inner list type. Lists cannot have `{ <> }` as an inner type in this context. + [[invalid-transaction-state]] == Invalid transaction state diff --git a/modules/ROOT/partials/glossary.adoc b/modules/ROOT/partials/glossary.adoc index f7273ea2..fcb1cbc2 100644 --- a/modules/ROOT/partials/glossary.adoc +++ b/modules/ROOT/partials/glossary.adoc @@ -123,6 +123,7 @@ [[tokenId]]$tokenId:: Token ID. [[tokenType]]$tokenType:: One of a label, a relationship type, or a property key. [[transactionId]]$transactionId:: The transaction ID of a running query. +[[typeDescription]]$typeDescription:: Freeform description of a type e.g. 'a list'. [[upper]]$upper:: The highest accepted number of a range. [[url]]$url:: A URL, for example, https://example.com. [[user]]$user:: A user name, for example, `neo4j`. From 1abaa322418e156b6fe2452b65da17768c85d025 Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Fri, 9 May 2025 09:06:12 +0100 Subject: [PATCH 11/24] Fix a heading mistake and the index generation message (#314) --- modules/ROOT/pages/errors/gql-errors/index.adoc | 9 +++++---- modules/ROOT/templates/gql-index-template.adoc | 2 +- scripts/generate-gql-error-index-from-template.py | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/modules/ROOT/pages/errors/gql-errors/index.adoc b/modules/ROOT/pages/errors/gql-errors/index.adoc index a4342d06..efd8405f 100644 --- a/modules/ROOT/pages/errors/gql-errors/index.adoc +++ b/modules/ROOT/pages/errors/gql-errors/index.adoc @@ -1,4 +1,4 @@ -// This is an automatically generated file. Do not edit it directly. It is generated from the templates/gql-index-template.adoc file and should be edited there. +// THIS IS AN AUTOMATICALLY GENERATED FILE. DO NOT EDIT IT. THE STRUCTURE IS GENERATED FROM templates/gql-index-template.adoc AND THE CODES ARE POPULATED BY THE SCRIPTS LOCATED IN THE scripts/ FOLDER. :description: This section describes the GQLSTATUS errors that Neo4j can return, grouped by category, and an example of when they can occur. @@ -120,7 +120,7 @@ Status description:: error: connection exception - shard execution client error. [[data-exceptions]] == Data exceptions -Database exceptions occur when a client request contains the wrong format, types, or other unsupported input. +Data 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. === xref:errors/gql-errors/22000.adoc[22000] @@ -490,9 +490,10 @@ Status description:: error: data exception - not a valid CIDR IP. `{ <> } 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. +[role=label--changed-2025.05] === xref:errors/gql-errors/22N90.adoc[22N90] -Status description:: error: data exception - property type unsupported in constraint. `{ <> }` is not supported in property type constraints. +Status description:: error: data exception - property type unsupported in constraint. `{ <> }` is not supported in property type constraints. === xref:errors/gql-errors/22N91.adoc[22N91] @@ -608,7 +609,7 @@ Status description:: error: data exception - invalid Neo4j type. `{ <> }` === xref:errors/gql-errors/22NB9.adoc[22NB9] -Status description:: error: data exception - invalid inner list type. Lists cannot have `{ <> }` as an inner type in this context. +Status description:: error: data exception - invalid inner list type. Lists cannot have `{ <> }` as an inner type in this context. [[invalid-transaction-state]] diff --git a/modules/ROOT/templates/gql-index-template.adoc b/modules/ROOT/templates/gql-index-template.adoc index 8f56ab2c..3a921e50 100644 --- a/modules/ROOT/templates/gql-index-template.adoc +++ b/modules/ROOT/templates/gql-index-template.adoc @@ -24,7 +24,7 @@ Connection exceptions occur when the client (e.g. Browser/Bloom/Cypher Shell) is [[data-exceptions]] == Data exceptions -Database exceptions occur when a client request contains the wrong format, types, or other unsupported input. +Data 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. {codes_starting_with:'22'} diff --git a/scripts/generate-gql-error-index-from-template.py b/scripts/generate-gql-error-index-from-template.py index 4cae2ade..ea355918 100644 --- a/scripts/generate-gql-error-index-from-template.py +++ b/scripts/generate-gql-error-index-from-template.py @@ -140,7 +140,7 @@ def generate_from_template(template_file, errors_dir, output_file, include_descr # Write the result to the output file with open(output_file, 'w') as f: - f.write("// This is an automatically generated file. Do not edit it directly. It is generated from the templates/gql-index-template.adoc file and should be edited there.\n") + f.write("// THIS IS AN AUTOMATICALLY GENERATED FILE. DO NOT EDIT IT. THE STRUCTURE IS GENERATED FROM templates/gql-index-template.adoc AND THE CODES ARE POPULATED BY THE SCRIPTS LOCATED IN THE scripts/ FOLDER.\n") f.write(template_content) print(f'Generated index file at: {output_file}') From 8d6c26d8a09ce78dc350a791195b480bc4f64c58 Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Mon, 19 May 2025 13:59:34 +0100 Subject: [PATCH 12/24] Add some missing glossary entries and fix 42I14 (#317) --- modules/ROOT/pages/errors/gql-errors/42I14.adoc | 2 +- modules/ROOT/pages/errors/gql-errors/index.adoc | 2 +- modules/ROOT/partials/glossary.adoc | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/ROOT/pages/errors/gql-errors/42I14.adoc b/modules/ROOT/pages/errors/gql-errors/42I14.adoc index c639ada5..e927917b 100644 --- a/modules/ROOT/pages/errors/gql-errors/42I14.adoc +++ b/modules/ROOT/pages/errors/gql-errors/42I14.adoc @@ -1,7 +1,7 @@ = 42I14 == Status description -error: syntax error or access rule violation - invalid number of relationship types. Exactly one relationship type must be specified for `{ <> }`. +error: syntax error or access rule violation - invalid number of relationship types. Exactly one relationship type must be specified for `{ <> }`. ifndef::backend-pdf[] [discrete.glossary] diff --git a/modules/ROOT/pages/errors/gql-errors/index.adoc b/modules/ROOT/pages/errors/gql-errors/index.adoc index efd8405f..485bea1f 100644 --- a/modules/ROOT/pages/errors/gql-errors/index.adoc +++ b/modules/ROOT/pages/errors/gql-errors/index.adoc @@ -840,7 +840,7 @@ Status description:: error: syntax error or access rule violation - invalid numb === xref:errors/gql-errors/42I14.adoc[42I14] -Status description:: error: syntax error or access rule violation - invalid number of relationship types. Exactly one relationship type must be specified for `{ <> }`. +Status description:: error: syntax error or access rule violation - invalid number of relationship types. Exactly one relationship type must be specified for `{ <> }`. === xref:errors/gql-errors/42I15.adoc[42I15] diff --git a/modules/ROOT/partials/glossary.adoc b/modules/ROOT/partials/glossary.adoc index fcb1cbc2..9296009c 100644 --- a/modules/ROOT/partials/glossary.adoc +++ b/modules/ROOT/partials/glossary.adoc @@ -3,6 +3,7 @@ [[action]]$action:: Freeform description of an action. //$action will be replaced by cmd and msg depending on the usage. [[alias]]$alias:: An alias name, `mydb-alias`. +[[aliasList]]$aliasList:: A list of alias names, for example, `mydb-alias1, mydb-alias2`. [[allocType]]$allocType:: Allocation type (`primary` or `secondary`). [[arg]]$arg:: Procedure or function argument, for example, `database`, `pause`, `dryrun`, etc. [[argType]]$argType:: Argument type, either input or output. @@ -41,6 +42,7 @@ //52N22 and 52N36 to change $field to $arg. Check 22N98 with Antonio. [[fun]]$fun:: Function name, for example, `collect()`. [[funClass]]$funClass:: User-defined function implementation class name, for example, `MyFunctionClass`. +[[funType]]$funType:: Function type, e.g. non-deterministic or aggregate. [[graph]]$graph:: The name of a graph, for example, `myGraph`. [[graphTypeDependence]]$graphTypeDependence:: Graph type dependencency for constraint, one of `UNDESIGNATED`, `INDEPENDENT`, or `DEPENDENT`. [[hint]]$hint:: Freeform description of a hint, for example, `USING INDEX n:N(prop)`. From 0cf19ec0460a68be17302670431d2ca34778e386 Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Mon, 19 May 2025 14:39:33 +0100 Subject: [PATCH 13/24] Update the readme file (#318) --- README.adoc | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/README.adoc b/README.adoc index e4c11f22..3e9e65ea 100644 --- a/README.adoc +++ b/README.adoc @@ -33,11 +33,25 @@ You will still need to refresh the page to view the changes. [[contributing]] == Contributing -To make changes to this repository, please create a fork of this repo and a new branch to stage your changes. -Your branch should be prefixed with the version number, for example, `dev-new-examples`. - -When you are finished with your changes push the branch to your fork and create a Pull Request. -Please add at least one approver. +. To make changes to this repository, create a fork of this repo and a new branch to stage your changes. +Your branch should be prefixed with `dev-` or the version if it is a specific version you are working on. +. If you want to add a new GQLSTATUS code or update an existing one, you must start with the `neo4j` repo. +The `neo4j` repo is the source of truth for all GQLSTATUS codes. +. Add a page for each new GQLSTATUS code in the _docs-status-codes/modules/ROOT/pages/errors/gql-errors_ folder or update an existing one. +The file name should be the same as the GQLSTATUS code, e.g., `08N02.adoc` for the `08N02` code. +Use the same format as the other files in this folder. +. Update the _content-nav.adoc_ file to reflect the added codes. +Codes are ordered alphabetically. +. If the standard description of a new GQLSTATUS code contains a new parameter, add this parameter to the _docs-status-codes/modules/ROOT/partials/glossary.adoc_ file as well. +. GQLSTATUS codes are also listed on the index page. +PLEASE DON’T EDIT IT. +The _docs-status-codes/modules/ROOT/pages/errors/gql-errors/index.adoc_ file is created from a template and the codes and their status descriptions are automatically populated. +If you want to update the index page with adding a new section or section description, please contact the Docs team. +The Docs team is also responsible for keeping it consistent with the individual error files. +. If possible, add an example of the new error and any extra information our users may benefit from on the error page. +See the following pages for inspiration: +https://neo4j.com/docs/status-codes/current/errors/gql-errors/08N02/, https://neo4j.com/docs/status-codes/current/errors/gql-errors/08N07/, and https://neo4j.com/docs/status-codes/current/errors/gql-errors/51N27/. +. Let your team and Docs team review the PR. [[guidelines]] == Guidelines for writing errors and notifications From e68d6af464c9f4486c30e12945f2e9f9e55769b9 Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Mon, 19 May 2025 14:46:46 +0100 Subject: [PATCH 14/24] Add a note that error messages are deprecated (#313) A similar one https://github.com/neo4j/docs-operations/pull/2330 --- modules/ROOT/pages/errors/all-errors.adoc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/ROOT/pages/errors/all-errors.adoc b/modules/ROOT/pages/errors/all-errors.adoc index a3bb5ff9..32e93087 100644 --- a/modules/ROOT/pages/errors/all-errors.adoc +++ b/modules/ROOT/pages/errors/all-errors.adoc @@ -6,6 +6,13 @@ This page lists the current Neo4j error codes, which which are returned along side xref:errors/gql-errors/index.adoc[GQLSTATUS error codes], grouped by type. +[NOTE] +==== +Starting from 2025.04, using the error messages programmatically is deprecated. +Because error messages might change in a future release, please parse or use GQLSTATUS error codes in your application code. +For details, see xref:errors/gql-errors/index.adoc[GQLSTATUS error codes]. +==== + == Client errors This is a complete list of all client errors Neo4j may return, and what they mean. From 055a4cc020791f546b5f69842ff83e582be183e5 Mon Sep 17 00:00:00 2001 From: Hannes Voigt <30618026+hvub@users.noreply.github.com> Date: Tue, 27 May 2025 12:01:51 +0200 Subject: [PATCH 15/24] "or an application-generated id" -> "or consider using an application-generated id" (#330) --- modules/ROOT/pages/notifications/all-notifications.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/notifications/all-notifications.adoc b/modules/ROOT/pages/notifications/all-notifications.adoc index 87de1d33..81b69aa8 100644 --- a/modules/ROOT/pages/notifications/all-notifications.adoc +++ b/modules/ROOT/pages/notifications/all-notifications.adoc @@ -1972,7 +1972,7 @@ Returned GQLSTATUS code:: Returned status description:: warn: feature deprecated with replacement. id is deprecated. -It is replaced by elementId or an application-generated id. +It is replaced by elementId or consider using an application-generated id. Suggestions for improvement:: Use the function `elementId()` instead. From d5829c6da7164aa39442c3d42355ae676eddfc09 Mon Sep 17 00:00:00 2001 From: Nick Giles <100630647+nick-giles-neo@users.noreply.github.com> Date: Tue, 27 May 2025 11:24:30 +0100 Subject: [PATCH 16/24] Add 52N40 and 52N41 (#321) Add docs for new cluster codes --------- Co-authored-by: Reneta Popova --- modules/ROOT/content-nav.adoc | 2 ++ modules/ROOT/pages/errors/gql-errors/52N40.adoc | 13 +++++++++++++ modules/ROOT/pages/errors/gql-errors/52N41.adoc | 17 +++++++++++++++++ modules/ROOT/pages/errors/gql-errors/index.adoc | 8 ++++++++ 4 files changed, 40 insertions(+) create mode 100644 modules/ROOT/pages/errors/gql-errors/52N40.adoc create mode 100644 modules/ROOT/pages/errors/gql-errors/52N41.adoc diff --git a/modules/ROOT/content-nav.adoc b/modules/ROOT/content-nav.adoc index 3da7eba9..c2213cdb 100644 --- a/modules/ROOT/content-nav.adoc +++ b/modules/ROOT/content-nav.adoc @@ -488,6 +488,8 @@ **** xref:errors/gql-errors/52N37.adoc[] **** xref:errors/gql-errors/52N38.adoc[] **** xref:errors/gql-errors/52N39.adoc[] +**** xref:errors/gql-errors/52N40.adoc[] +**** xref:errors/gql-errors/52N41.adoc[] **** xref:errors/gql-errors/52U00.adoc[] *** xref:errors/gql-errors/index.adoc#function-exceptions[Function exceptions] **** xref:errors/gql-errors/53N34.adoc[] diff --git a/modules/ROOT/pages/errors/gql-errors/52N40.adoc b/modules/ROOT/pages/errors/gql-errors/52N40.adoc new file mode 100644 index 00000000..31e3a307 --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/52N40.adoc @@ -0,0 +1,13 @@ += 52N40 + + +== Status description +error: procedure exception - Reconciliation failed during writing the topology graph, transaction may not be committed. + + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] \ No newline at end of file diff --git a/modules/ROOT/pages/errors/gql-errors/52N41.adoc b/modules/ROOT/pages/errors/gql-errors/52N41.adoc new file mode 100644 index 00000000..ffbf1add --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/52N41.adoc @@ -0,0 +1,17 @@ += 52N41 + + +== Status description +error: procedure exception - The key value for `{ <> }` in the query string cannot be parsed when getting a routing table. + + +== Explanation + +This error occurs when trying to use a routing policy, but providing some invalid details on a routed request. Example fields include `policy` and `alias`. + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] \ No newline at end of file diff --git a/modules/ROOT/pages/errors/gql-errors/index.adoc b/modules/ROOT/pages/errors/gql-errors/index.adoc index 485bea1f..0f7cfcd9 100644 --- a/modules/ROOT/pages/errors/gql-errors/index.adoc +++ b/modules/ROOT/pages/errors/gql-errors/index.adoc @@ -1983,6 +1983,14 @@ Status description:: error: procedure exception - cdc start position not found. Status description:: error: procedure exception - cdc scanner inactive. The log scanner is no longer active. +=== xref:errors/gql-errors/52N40.adoc[52N40] + +Status description:: error: procedure exception - Reconciliation failed during writing the topology graph, transaction may not be committed. + +=== xref:errors/gql-errors/52N41.adoc[52N41] + +Status description:: error: procedure exception - The key value for `{ <> }` in the query string cannot be parsed when getting a routing table. + === xref:errors/gql-errors/52U00.adoc[52U00] Status description:: error: procedure exception - custom procedure execution error cause. Execution of the procedure `{ <> }` failed due to `{ <> }`: `{ <> }` From 05e5ecc59b16035cf64e578456c6ea35bfdafb21 Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Tue, 3 Jun 2025 17:28:58 +0100 Subject: [PATCH 17/24] Update version to 2025.06 (#337) --- antora.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/antora.yml b/antora.yml index 84b43e4c..d2a34ac1 100644 --- a/antora.yml +++ b/antora.yml @@ -1,12 +1,12 @@ name: status-codes title: Status Codes for Errors & Notifications -version: '2025.05' +version: '2025.06' start_page: ROOT:index.adoc nav: - modules/ROOT/content-nav.adoc asciidoc: attributes: page-origin-private: false - neo4j-version: '2025.05' - neo4j-version-exact: '2025.05.0' - neo4j-buildnumber: '2025.05' \ No newline at end of file + neo4j-version: '2025.06' + neo4j-version-exact: '2025.06.0' + neo4j-buildnumber: '2025.06' \ No newline at end of file From e8690627ec53f8052c59e7ee5fc8ea764e33b17a Mon Sep 17 00:00:00 2001 From: Louise Berglund Date: Thu, 5 Jun 2025 17:10:28 +0200 Subject: [PATCH 18/24] Remove old Neo4j statuses. (#291) These have been deprecated for over a year. --- modules/ROOT/pages/errors/all-errors.adoc | 6 - .../notifications/all-notifications.adoc | 130 ------------------ 2 files changed, 136 deletions(-) diff --git a/modules/ROOT/pages/errors/all-errors.adoc b/modules/ROOT/pages/errors/all-errors.adoc index 32e93087..05fee878 100644 --- a/modules/ROOT/pages/errors/all-errors.adoc +++ b/modules/ROOT/pages/errors/all-errors.adoc @@ -46,9 +46,6 @@ This is a complete list of all client errors Neo4j may return, and what they mea An illegal chain of aliases has been detected. This request cannot be executed. -| Neo.ClientError.Fabric.AccessMode -| The request could not be completed due to an access mode violation - | Neo.ClientError.General.ForbiddenOnReadOnlyDatabase | This is a read-only database, writing or modifying the database is not allowed. @@ -421,9 +418,6 @@ This is a complete list of all database errors Neo4j may return, and what they m | Neo.DatabaseError.Database.Unknown | Unknown database management error. -| Neo.DatabaseError.Fabric.RemoteExecutionFailed -| The database was unable to execute a remote part of the statement. - | Neo.DatabaseError.General.IndexCorruptionDetected | The request (directly or indirectly) referred to an index that is in a failed state. diff --git a/modules/ROOT/pages/notifications/all-notifications.adoc b/modules/ROOT/pages/notifications/all-notifications.adoc index 81b69aa8..9b7f2912 100644 --- a/modules/ROOT/pages/notifications/all-notifications.adoc +++ b/modules/ROOT/pages/notifications/all-notifications.adoc @@ -1218,136 +1218,6 @@ The query contains an aggregation function that skips null values. ====== ===== -[#_unsupported_notifications] -== `UNSUPPORTED` notifications - -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. - -[#_neo_clientnotification_statement_runtimeunsupportedwarning] -=== Unsupported runtime - -.Notification details -[cols="<1s,<4"] -|=== -|Neo4j code -m|Neo.ClientNotification.Statement.RuntimeUnsupportedWarning -|Title -a|This query is not supported by the chosen runtime. -|Description -|Selected runtime is unsupported for this query, please use a different runtime instead or fallback to default. -(`%s`) -|Category -m|UNSUPPORTED -|GQLSTATUS code -m|01N40 -|Status description -a|warn: unsupported runtime. -The query cannot be executed with `{ <>1 }`, `{ <>2 }` is used. -Cause: `{ <> }`. -|Classification -m|UNSUPPORTED -|SeverityLevel -m|WARNING -|=== - -.A runtime is not supported by a Cypher command -[.tabbed-example] -===== -[.include-with-GQLSTATUS-code] -====== -Query:: -+ -[source,cypher] ----- -EXPLAIN CYPHER runtime=pipelined SHOW INDEXES YIELD * ----- - -Returned GQLSTATUS code:: -01N40 - -Returned status description:: -warn: unsupported runtime. -The query cannot be executed with `runtime=pipelined`, `runtime=slotted` is used. -Cause: Pipelined does not yet support the plans including `ShowIndexes`, use another runtime. - -Suggestions for improvement:: -Use a different runtime or remove the runtime option to run the query with the default runtime: -+ -[source,cypher] ----- -SHOW INDEXES YIELD * ----- -====== -[.include-with-neo4j-code] -====== - -Query:: -+ -[source,cypher] ----- -CYPHER runtime=pipelined SHOW INDEXES YIELD * ----- - -Description of the returned code:: -Selected runtime is unsupported for this query, please use a different runtime instead or fallback to default. -(Pipelined does not yet support the plans including `ShowIndexes`, use another runtime.) - -Suggestions for improvement:: -Use a different runtime or remove the runtime option to run the query with the default runtime: -+ -[source,cypher] ----- -SHOW INDEXES YIELD * ----- - -====== -===== - -[role=label--deprecated-5.14] -[#_neo_clientnotification_statement_runtimeexperimental] -=== RuntimeExperimental - -[NOTE] -==== -The usage of this notification has been removed since Neo4j 5.14. -==== - -.Notification details -[cols="<1s,<4"] -|=== -|Neo4j code -m|Neo.ClientNotification.Statement.RuntimeExperimental -|Title -a|This feature is experimental and should not be used in production systems. -|Description -|You are using an experimental feature (`%s`) -|Category -m|UNSUPPORTED -|SeverityLevel -m|WARNING -|=== - -.Use of the parallel runtime -==== -Query:: -+ -[source,cypher] ----- -CYPHER runtime=parallel MATCH (n) RETURN (n) ----- - -Description of the returned code:: -You are using an experimental feature (The parallel runtime is experimental and might suffer from instability and potentially correctness issues.) - -Suggestions for improvement:: -The parallel runtime should not be used in production. Choose another runtime or remove the option to use the default runtime: -+ -[source,cypher] ----- -MATCH (n) RETURN (n) ----- -==== - [#_deprecated_notifications] == `DEPRECATION` notifications From e181f58d4d1e6624f0238048b9d49dd9ff9c3802 Mon Sep 17 00:00:00 2001 From: Therese Magnusson Date: Thu, 5 Jun 2025 17:13:20 +0200 Subject: [PATCH 19/24] Update 51N31 to not use <> (#328) Updated in https://github.com/neo-technology/neo4j/pull/31151 --- modules/ROOT/pages/errors/gql-errors/51N31.adoc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/ROOT/pages/errors/gql-errors/51N31.adoc b/modules/ROOT/pages/errors/gql-errors/51N31.adoc index f26d753f..376080c6 100644 --- a/modules/ROOT/pages/errors/gql-errors/51N31.adoc +++ b/modules/ROOT/pages/errors/gql-errors/51N31.adoc @@ -1,8 +1,10 @@ +:page-role: changed-2025.06 + = 51N31 == Status description -error: system configuration or operation exception - not supported. `{ <> }` is not supported in `{ <> }`. +error: system configuration or operation exception - not supported. `{ <> }` is not supported in `{ <> }`. ifndef::backend-pdf[] From 3b19ee9847e635fd9e902dd0005369ea68658153 Mon Sep 17 00:00:00 2001 From: Louise Berglund Date: Thu, 5 Jun 2025 17:15:42 +0200 Subject: [PATCH 20/24] Add new GQLSTATUS 22NBA (#329) Corresponding Neo4j PR: https://github.com/neo-technology/neo4j/pull/31193 I tried to follow the same pattern as for 22NB9, but I did not know if it made sense to write out the status description in the example, given that it does not have any parameters. Also note, that while the Neo4j PR will be included in 2025.06, the vector feature is still under a feature flag so I am not entirely sure about the version for this docs PR --- modules/ROOT/content-nav.adoc | 1 + .../ROOT/pages/errors/gql-errors/22NBA.adoc | 27 +++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 modules/ROOT/pages/errors/gql-errors/22NBA.adoc diff --git a/modules/ROOT/content-nav.adoc b/modules/ROOT/content-nav.adoc index c2213cdb..10a9b8b4 100644 --- a/modules/ROOT/content-nav.adoc +++ b/modules/ROOT/content-nav.adoc @@ -151,6 +151,7 @@ **** xref:errors/gql-errors/22NB7.adoc[] **** xref:errors/gql-errors/22NB8.adoc[] **** xref:errors/gql-errors/22NB9.adoc[] +**** xref:errors/gql-errors/22NBA.adoc[] *** xref:errors/gql-errors/index.adoc#invalid-transaction-state[Invalid transaction state] **** xref:errors/gql-errors/25G02.adoc[] **** xref:errors/gql-errors/25N01.adoc[] diff --git a/modules/ROOT/pages/errors/gql-errors/22NBA.adoc b/modules/ROOT/pages/errors/gql-errors/22NBA.adoc new file mode 100644 index 00000000..32995052 --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/22NBA.adoc @@ -0,0 +1,27 @@ += 22NBA + +== Status description + +error: data exception - omitting mandatory field for property type constraints for vectors. Property type constraints for vectors need to define both coordinate type and dimension. + +== Example scenario + +For example, try to create a property type constraint for a vector, omitting the dimension: + +[source,cypher] +---- +CREATE CONSTRAINT myConstraint +FOR (n:Label) +REQUIRE n.prop IS :: VECTOR +---- + +You will receive an error with GQLSTATUS xref:errors/gql-errors/50N11.adoc[50N11]. +This error has a cause detailed in xref:errors/gql-errors/22N90.adoc[22N90], which also has a subsequent cause with GQLSTATUS 22NBA and the status description above. + + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] \ No newline at end of file From 6aca2001dd7b1c08e36425103685df6062d499f5 Mon Sep 17 00:00:00 2001 From: ConorNeo <121866402+ConorNeo@users.noreply.github.com> Date: Thu, 5 Jun 2025 16:23:12 +0100 Subject: [PATCH 21/24] Fix error message so it makes sense (#335) Co-authored-by: Reneta Popova --- modules/ROOT/pages/errors/gql-errors/08N19.adoc | 2 +- modules/ROOT/pages/errors/gql-errors/08N20.adoc | 2 +- modules/ROOT/pages/errors/gql-errors/08N21.adoc | 2 +- modules/ROOT/pages/errors/gql-errors/index.adoc | 13 +++++++++---- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/modules/ROOT/pages/errors/gql-errors/08N19.adoc b/modules/ROOT/pages/errors/gql-errors/08N19.adoc index 01836a70..9df37cb9 100644 --- a/modules/ROOT/pages/errors/gql-errors/08N19.adoc +++ b/modules/ROOT/pages/errors/gql-errors/08N19.adoc @@ -1,7 +1,7 @@ = 08N19 == Status description -error: connection exception - shard execution transient error. Communication with shard `{ <> }` failed. with message `{ <> }`. +error: connection exception - shard execution transient error. Communication with shard `{ <> }` failed with message `{ <> }`. ifndef::backend-pdf[] diff --git a/modules/ROOT/pages/errors/gql-errors/08N20.adoc b/modules/ROOT/pages/errors/gql-errors/08N20.adoc index 6c49f46b..cdcaa4d4 100644 --- a/modules/ROOT/pages/errors/gql-errors/08N20.adoc +++ b/modules/ROOT/pages/errors/gql-errors/08N20.adoc @@ -1,7 +1,7 @@ = 08N20 == Status description -error: connection exception - shard execution database error. Communication with shard `{ <> }` failed. with message `{ <> }`. +error: connection exception - shard execution database error. Communication with shard `{ <> }` failed with message `{ <> }`. ifndef::backend-pdf[] diff --git a/modules/ROOT/pages/errors/gql-errors/08N21.adoc b/modules/ROOT/pages/errors/gql-errors/08N21.adoc index ec61d507..cc09cc53 100644 --- a/modules/ROOT/pages/errors/gql-errors/08N21.adoc +++ b/modules/ROOT/pages/errors/gql-errors/08N21.adoc @@ -1,7 +1,7 @@ = 08N21 == Status description -error: connection exception - shard execution client error. Communication with shard `{ <> }` failed. with message `{ <> }`. +error: connection exception - shard execution client error. Communication with shard `{ <> }` failed with message `{ <> }`. ifndef::backend-pdf[] diff --git a/modules/ROOT/pages/errors/gql-errors/index.adoc b/modules/ROOT/pages/errors/gql-errors/index.adoc index 0f7cfcd9..2e8b6fd1 100644 --- a/modules/ROOT/pages/errors/gql-errors/index.adoc +++ b/modules/ROOT/pages/errors/gql-errors/index.adoc @@ -106,15 +106,15 @@ Status description:: error: connection exception - general driver database error === xref:errors/gql-errors/08N19.adoc[08N19] -Status description:: error: connection exception - shard execution transient error. Communication with shard `{ <> }` failed. with message `{ <> }`. +Status description:: error: connection exception - shard execution transient error. Communication with shard `{ <> }` failed with message `{ <> }`. === xref:errors/gql-errors/08N20.adoc[08N20] -Status description:: error: connection exception - shard execution database error. Communication with shard `{ <> }` failed. with message `{ <> }`. +Status description:: error: connection exception - shard execution database error. Communication with shard `{ <> }` failed with message `{ <> }`. === xref:errors/gql-errors/08N21.adoc[08N21] -Status description:: error: connection exception - shard execution client error. Communication with shard `{ <> }` failed. with message `{ <> }`. +Status description:: error: connection exception - shard execution client error. Communication with shard `{ <> }` failed with message `{ <> }`. [[data-exceptions]] @@ -611,6 +611,10 @@ Status description:: error: data exception - invalid Neo4j type. `{ <> }` Status description:: error: data exception - invalid inner list type. Lists cannot have `{ <> }` as an inner type in this context. +=== xref:errors/gql-errors/22NBA.adoc[22NBA] + +Status description:: error: data exception - omitting mandatory field for property type constraints for vectors. Property type constraints for vectors need to define both coordinate type and dimension. + [[invalid-transaction-state]] == Invalid transaction state @@ -1661,9 +1665,10 @@ Status description:: error: system configuration or operation exception - not su Status description:: error: system configuration or operation exception - not supported with this configuration. `{ <> }` is not supported in `{ <> }`. +[role=label--changed-2025.06] === xref:errors/gql-errors/51N31.adoc[51N31] -Status description:: error: system configuration or operation exception - not supported. `{ <> }` is not supported in `{ <> }`. +Status description:: error: system configuration or operation exception - not supported. `{ <> }` is not supported in `{ <> }`. === xref:errors/gql-errors/51N32.adoc[51N32] From 44320be40212d3581cf768368a41b4459dd634fc Mon Sep 17 00:00:00 2001 From: Balazs Lendvai <56266523+gfx54b@users.noreply.github.com> Date: Mon, 16 Jun 2025 10:42:26 +0200 Subject: [PATCH 22/24] Extend 51N41 with reason (#342) --- modules/ROOT/pages/errors/gql-errors/51N41.adoc | 2 +- modules/ROOT/pages/errors/gql-errors/index.adoc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/ROOT/pages/errors/gql-errors/51N41.adoc b/modules/ROOT/pages/errors/gql-errors/51N41.adoc index d6bf25db..a6534876 100644 --- a/modules/ROOT/pages/errors/gql-errors/51N41.adoc +++ b/modules/ROOT/pages/errors/gql-errors/51N41.adoc @@ -1,7 +1,7 @@ = 51N41 == Status description -error: system configuration or operation exception - admin operation failed. Server or database admin operation not possible. +error: system configuration or operation exception - admin operation failed. Server or database admin operation not possible. Reason: `{ <> }` ifndef::backend-pdf[] [discrete.glossary] diff --git a/modules/ROOT/pages/errors/gql-errors/index.adoc b/modules/ROOT/pages/errors/gql-errors/index.adoc index 2e8b6fd1..c7a0a4f5 100644 --- a/modules/ROOT/pages/errors/gql-errors/index.adoc +++ b/modules/ROOT/pages/errors/gql-errors/index.adoc @@ -1708,7 +1708,7 @@ Status description:: error: system configuration or operation exception - unable === xref:errors/gql-errors/51N41.adoc[51N41] -Status description:: error: system configuration or operation exception - admin operation failed. Server or database admin operation not possible. +Status description:: error: system configuration or operation exception - admin operation failed. Server or database admin operation not possible. Reason: `{ <> }` === xref:errors/gql-errors/51N43.adoc[51N43] From bc5ce3c6cd0d5a3aadea16b240b09c7452a9e110 Mon Sep 17 00:00:00 2001 From: Satia Herfert Date: Mon, 16 Jun 2025 11:50:59 +0200 Subject: [PATCH 23/24] Add 22NBC (#343) Co-authored-by: Reneta Popova --- modules/ROOT/content-nav.adoc | 1 + .../ROOT/pages/errors/gql-errors/22NBC.adoc | 21 +++++++++++++++++++ .../ROOT/pages/errors/gql-errors/index.adoc | 4 ++++ 3 files changed, 26 insertions(+) create mode 100644 modules/ROOT/pages/errors/gql-errors/22NBC.adoc diff --git a/modules/ROOT/content-nav.adoc b/modules/ROOT/content-nav.adoc index 10a9b8b4..60977477 100644 --- a/modules/ROOT/content-nav.adoc +++ b/modules/ROOT/content-nav.adoc @@ -152,6 +152,7 @@ **** xref:errors/gql-errors/22NB8.adoc[] **** xref:errors/gql-errors/22NB9.adoc[] **** xref:errors/gql-errors/22NBA.adoc[] +**** xref:errors/gql-errors/22NBC.adoc[] *** xref:errors/gql-errors/index.adoc#invalid-transaction-state[Invalid transaction state] **** xref:errors/gql-errors/25G02.adoc[] **** xref:errors/gql-errors/25N01.adoc[] diff --git a/modules/ROOT/pages/errors/gql-errors/22NBC.adoc b/modules/ROOT/pages/errors/gql-errors/22NBC.adoc new file mode 100644 index 00000000..600270ba --- /dev/null +++ b/modules/ROOT/pages/errors/gql-errors/22NBC.adoc @@ -0,0 +1,21 @@ += 22NBC + +== Status description + +error: data exception - index belongs to constraint. Index belongs to constraint `{ <> }`. + +== Scenario + +This error code is used when the user tries drop an index belonging to a constraint. + +== Possible solution + +Drop the constraint instead. + + +ifndef::backend-pdf[] +[discrete.glossary] +== Glossary + +include::partial$glossary.adoc[] +endif::[] \ No newline at end of file diff --git a/modules/ROOT/pages/errors/gql-errors/index.adoc b/modules/ROOT/pages/errors/gql-errors/index.adoc index c7a0a4f5..b913aa50 100644 --- a/modules/ROOT/pages/errors/gql-errors/index.adoc +++ b/modules/ROOT/pages/errors/gql-errors/index.adoc @@ -615,6 +615,10 @@ Status description:: error: data exception - invalid inner list type. Lists cann Status description:: error: data exception - omitting mandatory field for property type constraints for vectors. Property type constraints for vectors need to define both coordinate type and dimension. +=== xref:errors/gql-errors/22NBC.adoc[22NBC] + +Status description:: error: data exception - index belongs to constraint. Index belongs to constraint `{ <> }`. + [[invalid-transaction-state]] == Invalid transaction state From 984cb3f60ffa8405237fc6443585591450515c68 Mon Sep 17 00:00:00 2001 From: Louise Berglund Date: Mon, 30 Jun 2025 17:36:33 +0200 Subject: [PATCH 24/24] Clarify that 42NA8 might show sub-commands (#348) This came out of a discussion here https://github.com/neo-technology/neo4j/pull/31828#discussion_r2169088716 --------- Co-authored-by: Reneta Popova --- .../ROOT/pages/errors/gql-errors/42NA8.adoc | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/modules/ROOT/pages/errors/gql-errors/42NA8.adoc b/modules/ROOT/pages/errors/gql-errors/42NA8.adoc index 869560ab..81b23710 100644 --- a/modules/ROOT/pages/errors/gql-errors/42NA8.adoc +++ b/modules/ROOT/pages/errors/gql-errors/42NA8.adoc @@ -3,6 +3,38 @@ == Status description error: syntax error or access rule violation - invalid reference in command. Invalid reference in command `{ <> }`. +== Explanation + +This error occurs as the cause of other exceptions, for example, when you try to: + +* Grant or deny privileges to, or revoke privileges from, a role that does not exist. +* Grant or deny privileges to, or revoke privileges from, a role to perform administration commands on a database that does not exist. +* Revoke a role from a user in Cypher 25, where either the role or the user does not exist. +In Cypher 5, this last example gives a notification instead, see xref:notifications/all-notifications.adoc#_neo_clientnotification_security_impossiblerevokecommand[Impossible revoke command]. + +== Example scenario + +For example, given that `role1` exists but `role2` does not, try to grant a privilege to both roles: + +[source,cypher] +---- +GRANT WRITE ON GRAPH * TO role1, role2 +---- + +[source] +---- +error: syntax error or access rule violation - invalid reference in command. Invalid reference in command `GRANT WRITE ON GRAPH * NODES * TO role2`. +---- + +The command returns an error with GQLSTATUS xref:errors/gql-errors/42001.adoc[42001] and a cause with this GQLSTATUS 42NA8 and the status description above. +The cause has a subsequent cause with GQLSTATUS xref:errors/gql-errors/42N10.adoc[42N10]. + +[NOTE] +==== +The command in the status description might not be the exact command you typed. +Internally, the Neo4j administration commands are separated into more specific sub-commands, and the Cypher shown corresponds to the sub-command that was executed when the error occurred. +==== + ifndef::backend-pdf[] [discrete.glossary] == Glossary