1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

Restructure of ndb error

ndb/src/kernel/blocks/backup/restore/Makefile:
  better make
This commit is contained in:
unknown
2004-05-05 11:29:56 +02:00
parent 93448ea564
commit 9f76f43cb9
7 changed files with 785 additions and 641 deletions

View File

@ -17,6 +17,8 @@
#ifndef NDB_ERROR_HPP
#define NDB_ERROR_HPP
#include <ndberror.h>
/**
* @struct NdbError
* @brief Contains error information
@ -51,7 +53,7 @@ struct NdbError {
* The error code indicate success<br>
* (Includes classification: NdbError::NoError)
*/
Success = 0,
Success = ndberror_st_success,
/**
* The error code indicates a temporary error.
@ -61,7 +63,7 @@ struct NdbError {
* NdbError::OverloadError, NdbError::NodeShutdown
* and NdbError::TimeoutExpired.)
*/
TemporaryError = 1,
TemporaryError = ndberror_st_temporary,
/**
* The error code indicates a permanent error.<br>
@ -71,14 +73,14 @@ struct NdbError {
* NdbError::UserDefinedError, NdbError::InternalError, and,
* NdbError::FunctionNotImplemented.)
*/
PermanentError = 2,
PermanentError = ndberror_st_permanent,
/**
* The result/status is unknown.<br>
* (Includes classifications: NdbError::UnknownResultError, and
* NdbError::UnknownErrorCode.)
*/
UnknownResult = 3
UnknownResult = ndberror_st_unknown
};
/**
@ -88,85 +90,85 @@ struct NdbError {
/**
* Success. No error occurred.
*/
NoError = 0,
NoError = ndberror_cl_none,
/**
* Error in application program.
*/
ApplicationError = 1,
ApplicationError = ndberror_cl_application,
/**
* Read operation failed due to missing record.
*/
NoDataFound = 2,
NoDataFound = ndberror_cl_no_data_found,
/**
* E.g. inserting a tuple with a primary key already existing
* in the table.
*/
ConstraintViolation = 3,
ConstraintViolation = ndberror_cl_constraint_violation,
/**
* Error in creating table or usage of table.
*/
SchemaError = 4,
SchemaError = ndberror_cl_schema_error,
/**
* Error occurred in interpreted program.
*/
UserDefinedError = 5,
UserDefinedError = ndberror_cl_user_defined,
/**
* E.g. insufficient memory for data or indexes.
*/
InsufficientSpace = 6,
InsufficientSpace = ndberror_cl_insufficient_space,
/**
* E.g. too many active transactions.
*/
TemporaryResourceError = 7,
TemporaryResourceError = ndberror_cl_temporary_resource,
/**
* Temporary failures which are probably inflicted by a node
* recovery in progress. Examples: information sent between
* application and NDB lost, distribution change.
*/
NodeRecoveryError = 8,
NodeRecoveryError = ndberror_cl_node_recovery,
/**
* E.g. out of log file space.
*/
OverloadError = 9,
OverloadError = ndberror_cl_overload,
/**
* Timeouts, often inflicted by deadlocks in NDB.
*/
TimeoutExpired = 10,
TimeoutExpired = ndberror_cl_timeout_expired,
/**
* Is is unknown whether the transaction was committed or not.
*/
UnknownResultError = 11,
UnknownResultError = ndberror_cl_unknown_result,
/**
* A serious error in NDB has occurred.
*/
InternalError = 12,
InternalError = ndberror_cl_internal_error,
/**
* A function used is not yet implemented.
*/
FunctionNotImplemented = 13,
FunctionNotImplemented = ndberror_cl_function_not_implemented,
/**
* Error handler could not determine correct error code.
*/
UnknownErrorCode = 14,
UnknownErrorCode = ndberror_cl_unknown_error_code,
/**
* Node shutdown
*/
NodeShutdown = 15
NodeShutdown = ndberror_cl_node_shutdown
};
/**
@ -204,6 +206,22 @@ struct NdbError {
message = 0;
details = 0;
}
NdbError(ndberror_struct ndberror){
status = (NdbError::Status) ndberror.status;
classification = (NdbError::Classification) ndberror.classification;
code = ndberror.code;
message = ndberror.message;
details = ndberror.details;
}
operator ndberror_struct() const {
ndberror_struct ndberror;
ndberror.status = (ndberror_status_enum) status;
ndberror.classification = (ndberror_classification_enum) classification;
ndberror.code = code;
ndberror.message = message;
ndberror.details = details;
return ndberror;
}
};
class NdbOut& operator <<(class NdbOut&, const NdbError &);