NdbError Struct Reference

Contains error information. More...

#include <NdbError.hpp>

List of all members.

Public Types

Public Attributes


Detailed Description

Contains error information.

A NdbError consists of five parts:

  1. Error status : Application impact
  2. Error classification : Logical error group
  3. Error code : Internal error code
  4. Error message : Context independent description of error
  5. Error details : Context dependent information (not always available)

Error status is usually used for programming against errors. If more detailed error control is needed, it is possible to use the error classification.

It is not recommended to write application programs dependent on specific error codes.

The error messages and error details may change without notice.

For example of use, see ndbapi_retries.cpp.


Member Enumeration Documentation

Type of error

Enumerator:
NoError  Success. No error occurred.
ApplicationError  Error in application program.
NoDataFound  Read operation failed due to missing record.
ConstraintViolation  E.g. inserting a tuple with a primary key already existing in the table.
SchemaError  Error in creating table or usage of table.
UserDefinedError  Error occurred in interpreted program.
InsufficientSpace  E.g. insufficient memory for data or indexes.
TemporaryResourceError  E.g. too many active transactions.
NodeRecoveryError  Temporary failures which are probably inflicted by a node recovery in progress. Examples: information sent between application and NDB lost, distribution change.
OverloadError  E.g. out of log file space.
TimeoutExpired  Timeouts, often inflicted by deadlocks in NDB.
UnknownResultError  Is is unknown whether the transaction was committed or not.
InternalError  A serious error in NDB has occurred.
FunctionNotImplemented  A function used is not yet implemented.
UnknownErrorCode  Error handler could not determine correct error code.
NodeShutdown  Node shutdown
SchemaObjectExists  Schema object already exists

Status categorizes error codes into status values reflecting what the application should do when encountering errors

Enumerator:
Success  The error code indicate success
(Includes classification: NdbError::NoError)
TemporaryError  The error code indicates a temporary error. The application should typically retry.
(Includes classifications: NdbError::InsufficientSpace, NdbError::TemporaryResourceError, NdbError::NodeRecoveryError, NdbError::OverloadError, NdbError::NodeShutdown and NdbError::TimeoutExpired.)
PermanentError  The error code indicates a permanent error.
(Includes classificatons: NdbError::PermanentError, NdbError::ApplicationError, NdbError::NoDataFound, NdbError::ConstraintViolation, NdbError::SchemaError, NdbError::UserDefinedError, NdbError::InternalError, and, NdbError::FunctionNotImplemented.)
UnknownResult  The result/status is unknown.
(Includes classifications: NdbError::UnknownResultError, and NdbError::UnknownErrorCode.)


Member Data Documentation

Error type

Error code

The detailed description. This is extra information regarding the error which is not included in the error message.

Note:
Is NULL when no details specified

const char* NdbError::message

Error message

Error status.


Documentation generated Sun Jan 17 10:12:17 2010 from mysql source files.
© 2003-2004 MySQL AB