Documentation Home
MySQL NDB Cluster API Developer Guide
Download this Manual

2.3.20 The NdbError Structure


This section discusses the NdbError data structure, which contains status and other information about errors, including error codes, classifications, and messages.

Description.  An NdbError consists of six parts, listed here, of which one is deprecated:

  1. Error status: This describes the impact of an error on the application, and reflects what the application should do when the error is encountered.

    The error status is described by a value of the Status type. See Section, “NdbError::Status”, for possible Status values and how they should be interpreted.

  2. Error classification: This represents a logical error type or grouping.

    The error classification is described by a value of the Classification type. See Section, “NdbError::Classification”, for possible classifications and their interpretation. Additional information is provided in Section 2.4.4, “NDB Error Classifications”.

  3. Error code: This is an NDB API internal error code which uniquely identifies the error.


    It is not recommended to write application programs which are dependent on specific error codes. Instead, applications should check error status and classification. More information about errors can also be obtained by checking error messages and (when available) error detail messages. However—like error codes—these error messages and error detail messages are subject to change.

    A listing of current error codes, broken down by classification, is provided in Section 2.4.2, “NDB Error Codes: by Type”. This listing is updated with new NDB Cluster releases. You can also check the file storage/ndb/src/ndbapi/ndberror.c in the NDB Cluster sources.

  4. MySQL Error code: This is the corresponding MySQL Server error code. MySQL error codes are not discussed in this document; please see Server Error Message Reference, in the MySQL Manual, for information about these.

  5. Error message: This is a generic, context-independent description of the error.

  6. Error details: This can often provide additional information (not found in the error message) about an error, specific to the circumstances under which the error is encountered. However, it is not available in all cases.

    Where not specified, the error detail message is NULL.


    This property is deprecated and scheduled for eventual removal. For obtaining error details, you should use the Ndb::getNdbErrorDetail() method instead.


Specific NDB API error codes, messages, and detail messages are subject to change without notice.

Definition.  The NdbError structure contains the following members, whose types are as shown here:

  • Status status: The error status.

  • Classification classification: The error type (classification).

  • int code: The NDB API error code.

  • int mysql_code: The MySQL error code.

  • const char* message: The error message.

  • char* details: The error detail message.


    details is deprecated and scheduled for eventual removal. You should use the Ndb::getNdbErrorDetail() method instead. (Bug #48851)

See the Description for more information about these members and their types.

Types.  NdbError defines the two data types listed here:

  • Classification: The type of error or the logical grouping to which the error belongs.

  • Status: The error status.