Changes to status codes per Neo4j version

Neo4j 2025.01

New:

GQLSTATUS Neo4j code

01N80

Neo.ClientNotification.Cluster.ServerFailed

01N81

Neo.ClientNotification.Cluster.ServerCatchingUp

01N82

Neo.ClientNotification.Cluster.ServerNotAvailable

03N85

Neo.ClientNotification.Cluster.ServerCaughtUp

Neo4j 5.26

New:

GQLSTATUS Neo4j code

01N72

Neo.ClientNotification.Statement.InsecureProtocol

42I50

Neo.ClientError.Schema.TokenLengthError

Starting from 5.26, Neo4j errors sent over drivers include new fields, such as GQLSTATUS code, StatusDescription, and DiagnosticRecord. For more information, see GQL-status error object.

Neo4j 5.25

Starting from 5.25, the query log includes the GQL error information under the JSON object errorInfo. For more information, see Operations Manual → GQL error information.

Neo4j 5.24

New:

GQLSTATUS Neo4j code

00N72

Neo.ClientNotification.Security.AuthProviderNotDefined

01G11

Neo.ClientNotification.Statement.AggregationSkippedNull

01N71

Neo.ClientNotification.Security.ExternalAuthNotEnabled

03N61

Neo.ClientNotification.Statement.RedundantOptionalProcedure

03N62

Neo.ClientNotification.Statement.RedundantOptionalSubquery

N/A

Neo.TransientError.Invalid.ResourceExhaustion

Neo4j 5.23

From version 5.23, Neo4j has a new GqlStatusObject API in addition to the existing Notification API.

The GqlStatusObject API provides information about the status of a Cypher query or command execution in compliance with the GQL standard. It includes GQLSTATUS code, StatusDescription, and DiagnosticRecord. For more information, see GQL-status notification object.

Neo4j 5.17

New:

Neo.ClientNotification.Cluster.RequestedTopologyMatchedCurrentTopology
Neo.ClientNotification.Schema.IndexOrConstraintAlreadyExists
Neo.ClientNotification.Schema.IndexOrConstraintDoesNotExist
Neo.ClientError.Statement.InvalidTargetDatabaseError

Neo4j 5.15

New:

Neo.ClientNotification.Cluster.CordonedServersExistedDuringAllocation

Neo4j 5.14

New:

Neo.ClientNotification.Cluster.NoDatabasesReallocated
Neo.ClientNotification.Statement.SideEffectVisibility

Changed

The usage of Neo.ClientNotification.Statement.RuntimeExperimental has been removed.

Neo4j 5.13

New:

Neo.ClientNotification.Cluster.ServerAlreadyEnabled
Neo.ClientNotification.Cluster.ServerAlreadyCordoned
Neo.ClientError.ChangeDataCapture.InvalidIdentifier
Neo.TransientError.ChangeDataCapture.FutureIdentifier
Neo.DatabaseError.ChangeDataCapture.Disabled
Neo.DatabaseError.ChangeDataCapture.ScanFailure

Neo4j 5.10

New:

Neo.TransientError.Transaction.QueryExecutionFailedOnTransaction

Neo4j 5.9

New:

Neo.ClientNotification.Security.CommandHasNoEffect
Neo.ClientNotification.Security.ImpossibleRevokeCommand

Neo4j 5.7

New:

Neo.ClientError.Transacton.TransactionTimedOutClientConfiguration
Neo.ClientError.Routing.DbmsInPanic
Neo.ClientError.Routing.RoutingFailed

Neo4j 5.5

New:

Neo.ClientNotification.Statement.RepeatedRelationshipReference
Neo.ClientError.Statement.RemoteExecutionClientError
Neo.TransientError.Statement.RemoteExecutionTransientError

Neo4j 5.4

New:

Neo.ClientNotification.Statement.UnsatisfiableRelationshipTypeExpression

Neo4j 5.3

New:

Neo.DatabaseError.Transaction.TransactionTerminationFailed

Neo4j 5.0

New:

Neo.ClientNotification.Database.HomeDatabaseNotFound
Neo.ClientNotification.Request.DeprecatedFormat
Neo.ClientNotification.Schema.HintedIndexNotFound
Neo.ClientNotification.Statement.CartesianProduct
Neo.ClientNotification.Statement.CodeGenerationFailed
Neo.ClientNotification.Statement.DynamicProperty
Neo.ClientNotification.Statement.EagerOperator
Neo.ClientNotification.Statement.ExhaustiveShortestPath
Neo.ClientNotification.Statement.NoApplicableIndex
Neo.ClientNotification.Statement.RuntimeExperimental
Neo.ClientNotification.Statement.SubqueryVariableShadowing
Neo.ClientNotification.Statement.UnboundedVariableLengthPattern
Neo.ClientNotification.Statement.ParameterNotProvided
Neo.ClientError.Statement.UnsupportedOperationError

Removed:

Neo.ClientError.Statement.CodeGenerationFailed
Neo.TransientError.Transaction.TransientTransactionFailure
Neo.ClientNotification.Statement.CartesianProductWarning
Neo.ClientNotification.Statement.DynamicPropertyWarning
Neo.ClientNotification.Statement.EagerOperatorWarning
Neo.ClientNotification.Statement.ExhaustiveShortestPathWarning
Neo.ClientNotification.Statement.ExperimentalFeature
Neo.ClientNotification.Statement.MissingAlias
Neo.ClientNotification.Statement.NoApplicableIndexWarning
Neo.ClientNotification.Statement.SubqueryVariableShadowingWarning
Neo.ClientNotification.Statement.UnboundedVariableLengthPatternWarning

Neo4j 4.4

New:

Neo.ClientError.Statement.UnsupportedAdministrationCommand
Neo.DatabaseError.Transaction.LinkedTransactionError
Neo.TransientError.Transaction.LeaderSwitch
Neo.ClientError.Database.IllegalAliasChain

Neo4j 4.3

New:

Neo.ClientError.General.UpgradeRequired
Neo.TransientError.Statement.ExecutionTimeout

Neo4j 4.2

New:

Neo.ClientNotification.Statement.MissingAlias
Neo.ClientNotification.Statement.SubqueryVariableShadowingWarning
Neo.TransientError.Transaction.TransientTransactionFailure

Neo4j 4.1

New:

Neo.ClientError.Cluster.Routing
Neo.ClientError.General.TransactionOutOfMemoryError
Neo.ClientError.Statement.AccessMode
Neo.DatabaseError.Statement.RemoteExecutionFailed
Neo.TransientError.General.MemoryPoolOutOfMemoryError

Removed:

Neo.ClientError.Cluster.TransactionSizeExceedsLimit
Neo.DatabaseError.Cluster.SerializationFailure
Neo.TransientError.General.TransactionOutOfMemoryError

Neo4j 4.0

New:

Neo.ClientError.Cluster.TransactionSizeExceedsLimit
Neo.ClientError.Database.DatabaseNotFound
Neo.ClientError.Database.ExistingDatabaseFound
Neo.ClientError.Fabric.AccessMode
Neo.ClientError.Schema.ConstraintViolation
Neo.ClientError.Schema.ConstraintWithNameAlreadyExists
Neo.ClientError.Schema.EquivalentSchemaRuleAlreadyExists
Neo.ClientError.Schema.IndexMultipleFound
Neo.ClientError.Schema.IndexWithNameAlreadyExists
Neo.ClientError.Statement.NotSystemDatabaseError
Neo.ClientError.Statement.RuntimeUnsupportedError
Neo.ClientError.Transaction.InvalidBookmarkMixture
Neo.DatabaseError.Cluster.SerializationFailure
Neo.DatabaseError.Database.DatabaseLimitReached
Neo.DatabaseError.Database.UnableToStartDatabase
Neo.DatabaseError.Database.Unknown
Neo.DatabaseError.Fabric.RemoteExecutionFailed
Neo.DatabaseError.Schema.TokenLimitReached
Neo.DatabaseError.Statement.CodeGenerationFailed
Neo.TransientError.Database.DatabaseUnavailable
Neo.TransientError.General.TransactionMemoryLimit
Neo.TransientError.General.TransactionOutOfMemoryError
Neo.TransientError.Transaction.BookmarkTimeout
Neo.TransientError.Transaction.LeaseExpired
Neo.TransientError.Transaction.MaximumTransactionLimitReached

Removed:

Neo.ClientError.LegacyIndex.LegacyIndexNotFound
Neo.ClientError.Request.TransactionRequired
Neo.ClientError.Schema.ConstraintVerificationFailed
Neo.ClientError.Security.EncryptionRequired
Neo.ClientError.Statement.LabelNotFound
Neo.ClientNotification.Statement.CreateUniqueUnavailableWarning
Neo.ClientNotification.Statement.JoinHintUnsupportedWarning
Neo.ClientNotification.Statement.PlannerUnavailableWarning
Neo.ClientNotification.Statement.PlannerUnsupportedWarning
Neo.DatabaseError.Schema.LabelLimitReached
Neo.TransientError.Cluster.NoLeaderAvailable
Neo.TransientError.General.DatabaseUnavailable
Neo.TransientError.Network.CommunicationError
Neo.TransientError.Schema.SchemaModifiedConcurrently
Neo.TransientError.Transaction.InstanceStateChanged
Neo.TransientError.Transaction.LockSessionExpired