<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>NdbError Struct Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.5 --> <div class="contents"> <h1>NdbError Struct Reference</h1><!-- doxytag: class="NdbError" --><code>#include <NdbError.hpp></code> <p> <p> <a href="structNdbError-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2> Contains error information. <p> A <a class="el" href="structNdbError.html" title="Contains error information.">NdbError</a> consists of five parts:<ol type=1> <li>Error status : Application impact</li><li>Error classification : Logical error group</li><li>Error code : Internal error code</li><li>Error message : Context independent description of error</li><li>Error details : Context dependent information (not always available)</li></ol> <p> <em>Error status</em> is usually used for programming against errors. If more detailed error control is needed, it is possible to use the <em>error classification</em>.<p> It is not recommended to write application programs dependent on specific <em>error codes</em>.<p> The <em>error messages</em> and <em>error details</em> may change without notice.<p> For example of use, see <a class="el" href="ndbapi_retries.cpp.html">ndbapi_retries.cpp</a>. <h2>Public Types</h2> <ul> <li>enum <a class="el" href="structNdbError.html#77140bdb323bd821bd517639ad458618">Status</a> { <a class="el" href="structNdbError.html#77140bdb323bd821bd517639ad458618eda60d921a6f3415692bc163084cc326">Success</a> = ndberror_st_success, <a class="el" href="structNdbError.html#77140bdb323bd821bd517639ad4586189d6a4af4ffaf1aed83fdf29ef2c47227">TemporaryError</a> = ndberror_st_temporary, <a class="el" href="structNdbError.html#77140bdb323bd821bd517639ad458618f39e2cb3839afe2ccecc9b44905b3d89">PermanentError</a> = ndberror_st_permanent, <a class="el" href="structNdbError.html#77140bdb323bd821bd517639ad45861895ee56680dca939e370f27de09c92f4c">UnknownResult</a> = ndberror_st_unknown } <li>enum <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf1">Classification</a> { <br> <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf11ddfd50175583b8da119e368418b1359">NoError</a> = ndberror_cl_none, <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf178910275ae5e5bb8eeff0a7e74ea323b">ApplicationError</a> = ndberror_cl_application, <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf1314fe5364bff40b6d98a7f9c7ce36a79">NoDataFound</a> = ndberror_cl_no_data_found, <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf128b25db416ba9257509f671226ce66b0">ConstraintViolation</a> = ndberror_cl_constraint_violation, <br> <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf160d3446b9bd6e62a4e40fe3f01cf2aeb">SchemaError</a> = ndberror_cl_schema_error, <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf1a5c97390482ff8fb9701e992e1796877">UserDefinedError</a> = ndberror_cl_user_defined, <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf161c26eab060e21294ea70643c79d326a">InsufficientSpace</a> = ndberror_cl_insufficient_space, <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf1189997ec65e7e0333cedfd2e02b52f7d">TemporaryResourceError</a> = ndberror_cl_temporary_resource, <br> <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf1470bc395a7686f21a08f43c92f1b7a24">NodeRecoveryError</a> = ndberror_cl_node_recovery, <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf1a749c588d2cdf50847d8a58801966a52">OverloadError</a> = ndberror_cl_overload, <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf10d134b7d4436e61f296404f62bb0c40e">TimeoutExpired</a> = ndberror_cl_timeout_expired, <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf1dc4edd716882c164ce9ee4848582005d">UnknownResultError</a> = ndberror_cl_unknown_result, <br> <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf157deb84d1f1aeeaaac4005332fbeef73">InternalError</a> = ndberror_cl_internal_error, <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf1bc43e38dd5f9ee5d2012122282826506">FunctionNotImplemented</a> = ndberror_cl_function_not_implemented, <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf178bec7fb8d9d2f9de7367a5d9201de5c">UnknownErrorCode</a> = ndberror_cl_unknown_error_code, <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf14296704d4bda8de2fc75e04c29faa97a">NodeShutdown</a> = ndberror_cl_node_shutdown, <br> <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf10e8cdd8b9f060e7fdb00456837f690ea">SchemaObjectExists</a> = ndberror_cl_schema_object_already_exists <br> } </ul> <h2>Public Attributes</h2> <ul> <li><a class="el" href="structNdbError.html#77140bdb323bd821bd517639ad458618">Status</a> <a class="el" href="structNdbError.html#f4af76b35a92ccebbb814705578e74e9">status</a> <li><a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf1">Classification</a> <a class="el" href="structNdbError.html#bc9a4841feb45bb8ca5fdaa8e14d20d6">classification</a> <li>int <a class="el" href="structNdbError.html#87429c24aeeafdee05f41051ba0f2160">code</a> <li>const char * <a class="el" href="structNdbError.html#59d98203577586394c30cdb01a270c2c">message</a> <li>char * <a class="el" href="structNdbError.html#3b45b15467a57e0ef01cc0d96fec553a">details</a> </ul> <hr><h2>Member Enumeration Documentation</h2> <a class="anchor" name="77140bdb323bd821bd517639ad458618"></a><!-- doxytag: member="NdbError::Status" ref="77140bdb323bd821bd517639ad458618" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="structNdbError.html#77140bdb323bd821bd517639ad458618">NdbError::Status</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Status categorizes error codes into status values reflecting what the application should do when encountering errors <dl compact><dt><b>Enumerator: </b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><em><a class="anchor" name="77140bdb323bd821bd517639ad458618eda60d921a6f3415692bc163084cc326"></a><!-- doxytag: member="Success" ref="77140bdb323bd821bd517639ad458618eda60d921a6f3415692bc163084cc326" args="" -->Success</em> </td><td> The error code indicate success<br> (Includes classification: <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf11ddfd50175583b8da119e368418b1359">NdbError::NoError</a>) </td></tr> <tr><td valign="top"><em><a class="anchor" name="77140bdb323bd821bd517639ad4586189d6a4af4ffaf1aed83fdf29ef2c47227"></a><!-- doxytag: member="TemporaryError" ref="77140bdb323bd821bd517639ad4586189d6a4af4ffaf1aed83fdf29ef2c47227" args="" -->TemporaryError</em> </td><td> The error code indicates a temporary error. The application should typically retry.<br> (Includes classifications: <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf161c26eab060e21294ea70643c79d326a">NdbError::InsufficientSpace</a>, <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf1189997ec65e7e0333cedfd2e02b52f7d">NdbError::TemporaryResourceError</a>, <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf1470bc395a7686f21a08f43c92f1b7a24">NdbError::NodeRecoveryError</a>, <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf1a749c588d2cdf50847d8a58801966a52">NdbError::OverloadError</a>, <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf14296704d4bda8de2fc75e04c29faa97a">NdbError::NodeShutdown</a> and <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf10d134b7d4436e61f296404f62bb0c40e">NdbError::TimeoutExpired</a>.) </td></tr> <tr><td valign="top"><em><a class="anchor" name="77140bdb323bd821bd517639ad458618f39e2cb3839afe2ccecc9b44905b3d89"></a><!-- doxytag: member="PermanentError" ref="77140bdb323bd821bd517639ad458618f39e2cb3839afe2ccecc9b44905b3d89" args="" -->PermanentError</em> </td><td> The error code indicates a permanent error.<br> (Includes classificatons: <a class="el" href="structNdbError.html#77140bdb323bd821bd517639ad458618f39e2cb3839afe2ccecc9b44905b3d89">NdbError::PermanentError</a>, <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf178910275ae5e5bb8eeff0a7e74ea323b">NdbError::ApplicationError</a>, <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf1314fe5364bff40b6d98a7f9c7ce36a79">NdbError::NoDataFound</a>, <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf128b25db416ba9257509f671226ce66b0">NdbError::ConstraintViolation</a>, <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf160d3446b9bd6e62a4e40fe3f01cf2aeb">NdbError::SchemaError</a>, <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf1a5c97390482ff8fb9701e992e1796877">NdbError::UserDefinedError</a>, <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf157deb84d1f1aeeaaac4005332fbeef73">NdbError::InternalError</a>, and, <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf1bc43e38dd5f9ee5d2012122282826506">NdbError::FunctionNotImplemented</a>.) </td></tr> <tr><td valign="top"><em><a class="anchor" name="77140bdb323bd821bd517639ad45861895ee56680dca939e370f27de09c92f4c"></a><!-- doxytag: member="UnknownResult" ref="77140bdb323bd821bd517639ad45861895ee56680dca939e370f27de09c92f4c" args="" -->UnknownResult</em> </td><td> The result/status is unknown.<br> (Includes classifications: <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf1dc4edd716882c164ce9ee4848582005d">NdbError::UnknownResultError</a>, and <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf178bec7fb8d9d2f9de7367a5d9201de5c">NdbError::UnknownErrorCode</a>.) </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="a1ca0a1dc5881fce46374c62cee0bdf1"></a><!-- doxytag: member="NdbError::Classification" ref="a1ca0a1dc5881fce46374c62cee0bdf1" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf1">NdbError::Classification</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Type of error <dl compact><dt><b>Enumerator: </b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><em><a class="anchor" name="a1ca0a1dc5881fce46374c62cee0bdf11ddfd50175583b8da119e368418b1359"></a><!-- doxytag: member="NoError" ref="a1ca0a1dc5881fce46374c62cee0bdf11ddfd50175583b8da119e368418b1359" args="" -->NoError</em> </td><td> Success. No error occurred. </td></tr> <tr><td valign="top"><em><a class="anchor" name="a1ca0a1dc5881fce46374c62cee0bdf178910275ae5e5bb8eeff0a7e74ea323b"></a><!-- doxytag: member="ApplicationError" ref="a1ca0a1dc5881fce46374c62cee0bdf178910275ae5e5bb8eeff0a7e74ea323b" args="" -->ApplicationError</em> </td><td> Error in application program. </td></tr> <tr><td valign="top"><em><a class="anchor" name="a1ca0a1dc5881fce46374c62cee0bdf1314fe5364bff40b6d98a7f9c7ce36a79"></a><!-- doxytag: member="NoDataFound" ref="a1ca0a1dc5881fce46374c62cee0bdf1314fe5364bff40b6d98a7f9c7ce36a79" args="" -->NoDataFound</em> </td><td> Read operation failed due to missing record. </td></tr> <tr><td valign="top"><em><a class="anchor" name="a1ca0a1dc5881fce46374c62cee0bdf128b25db416ba9257509f671226ce66b0"></a><!-- doxytag: member="ConstraintViolation" ref="a1ca0a1dc5881fce46374c62cee0bdf128b25db416ba9257509f671226ce66b0" args="" -->ConstraintViolation</em> </td><td> E.g. inserting a tuple with a primary key already existing in the table. </td></tr> <tr><td valign="top"><em><a class="anchor" name="a1ca0a1dc5881fce46374c62cee0bdf160d3446b9bd6e62a4e40fe3f01cf2aeb"></a><!-- doxytag: member="SchemaError" ref="a1ca0a1dc5881fce46374c62cee0bdf160d3446b9bd6e62a4e40fe3f01cf2aeb" args="" -->SchemaError</em> </td><td> Error in creating table or usage of table. </td></tr> <tr><td valign="top"><em><a class="anchor" name="a1ca0a1dc5881fce46374c62cee0bdf1a5c97390482ff8fb9701e992e1796877"></a><!-- doxytag: member="UserDefinedError" ref="a1ca0a1dc5881fce46374c62cee0bdf1a5c97390482ff8fb9701e992e1796877" args="" -->UserDefinedError</em> </td><td> Error occurred in interpreted program. </td></tr> <tr><td valign="top"><em><a class="anchor" name="a1ca0a1dc5881fce46374c62cee0bdf161c26eab060e21294ea70643c79d326a"></a><!-- doxytag: member="InsufficientSpace" ref="a1ca0a1dc5881fce46374c62cee0bdf161c26eab060e21294ea70643c79d326a" args="" -->InsufficientSpace</em> </td><td> E.g. insufficient memory for data or indexes. </td></tr> <tr><td valign="top"><em><a class="anchor" name="a1ca0a1dc5881fce46374c62cee0bdf1189997ec65e7e0333cedfd2e02b52f7d"></a><!-- doxytag: member="TemporaryResourceError" ref="a1ca0a1dc5881fce46374c62cee0bdf1189997ec65e7e0333cedfd2e02b52f7d" args="" -->TemporaryResourceError</em> </td><td> E.g. too many active transactions. </td></tr> <tr><td valign="top"><em><a class="anchor" name="a1ca0a1dc5881fce46374c62cee0bdf1470bc395a7686f21a08f43c92f1b7a24"></a><!-- doxytag: member="NodeRecoveryError" ref="a1ca0a1dc5881fce46374c62cee0bdf1470bc395a7686f21a08f43c92f1b7a24" args="" -->NodeRecoveryError</em> </td><td> Temporary failures which are probably inflicted by a node recovery in progress. Examples: information sent between application and NDB lost, distribution change. </td></tr> <tr><td valign="top"><em><a class="anchor" name="a1ca0a1dc5881fce46374c62cee0bdf1a749c588d2cdf50847d8a58801966a52"></a><!-- doxytag: member="OverloadError" ref="a1ca0a1dc5881fce46374c62cee0bdf1a749c588d2cdf50847d8a58801966a52" args="" -->OverloadError</em> </td><td> E.g. out of log file space. </td></tr> <tr><td valign="top"><em><a class="anchor" name="a1ca0a1dc5881fce46374c62cee0bdf10d134b7d4436e61f296404f62bb0c40e"></a><!-- doxytag: member="TimeoutExpired" ref="a1ca0a1dc5881fce46374c62cee0bdf10d134b7d4436e61f296404f62bb0c40e" args="" -->TimeoutExpired</em> </td><td> Timeouts, often inflicted by deadlocks in NDB. </td></tr> <tr><td valign="top"><em><a class="anchor" name="a1ca0a1dc5881fce46374c62cee0bdf1dc4edd716882c164ce9ee4848582005d"></a><!-- doxytag: member="UnknownResultError" ref="a1ca0a1dc5881fce46374c62cee0bdf1dc4edd716882c164ce9ee4848582005d" args="" -->UnknownResultError</em> </td><td> Is is unknown whether the transaction was committed or not. </td></tr> <tr><td valign="top"><em><a class="anchor" name="a1ca0a1dc5881fce46374c62cee0bdf157deb84d1f1aeeaaac4005332fbeef73"></a><!-- doxytag: member="InternalError" ref="a1ca0a1dc5881fce46374c62cee0bdf157deb84d1f1aeeaaac4005332fbeef73" args="" -->InternalError</em> </td><td> A serious error in NDB has occurred. </td></tr> <tr><td valign="top"><em><a class="anchor" name="a1ca0a1dc5881fce46374c62cee0bdf1bc43e38dd5f9ee5d2012122282826506"></a><!-- doxytag: member="FunctionNotImplemented" ref="a1ca0a1dc5881fce46374c62cee0bdf1bc43e38dd5f9ee5d2012122282826506" args="" -->FunctionNotImplemented</em> </td><td> A function used is not yet implemented. </td></tr> <tr><td valign="top"><em><a class="anchor" name="a1ca0a1dc5881fce46374c62cee0bdf178bec7fb8d9d2f9de7367a5d9201de5c"></a><!-- doxytag: member="UnknownErrorCode" ref="a1ca0a1dc5881fce46374c62cee0bdf178bec7fb8d9d2f9de7367a5d9201de5c" args="" -->UnknownErrorCode</em> </td><td> Error handler could not determine correct error code. </td></tr> <tr><td valign="top"><em><a class="anchor" name="a1ca0a1dc5881fce46374c62cee0bdf14296704d4bda8de2fc75e04c29faa97a"></a><!-- doxytag: member="NodeShutdown" ref="a1ca0a1dc5881fce46374c62cee0bdf14296704d4bda8de2fc75e04c29faa97a" args="" -->NodeShutdown</em> </td><td> Node shutdown </td></tr> <tr><td valign="top"><em><a class="anchor" name="a1ca0a1dc5881fce46374c62cee0bdf10e8cdd8b9f060e7fdb00456837f690ea"></a><!-- doxytag: member="SchemaObjectExists" ref="a1ca0a1dc5881fce46374c62cee0bdf10e8cdd8b9f060e7fdb00456837f690ea" args="" -->SchemaObjectExists</em> </td><td> Schema object already exists </td></tr> </table> </dl> </div> </div><p> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="f4af76b35a92ccebbb814705578e74e9"></a><!-- doxytag: member="NdbError::status" ref="f4af76b35a92ccebbb814705578e74e9" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structNdbError.html#77140bdb323bd821bd517639ad458618">Status</a> <a class="el" href="structNdbError.html#f4af76b35a92ccebbb814705578e74e9">NdbError::status</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Error status. </div> </div><p> <a class="anchor" name="bc9a4841feb45bb8ca5fdaa8e14d20d6"></a><!-- doxytag: member="NdbError::classification" ref="bc9a4841feb45bb8ca5fdaa8e14d20d6" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structNdbError.html#a1ca0a1dc5881fce46374c62cee0bdf1">Classification</a> <a class="el" href="structNdbError.html#bc9a4841feb45bb8ca5fdaa8e14d20d6">NdbError::classification</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Error type </div> </div><p> <a class="anchor" name="87429c24aeeafdee05f41051ba0f2160"></a><!-- doxytag: member="NdbError::code" ref="87429c24aeeafdee05f41051ba0f2160" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int <a class="el" href="structNdbError.html#87429c24aeeafdee05f41051ba0f2160">NdbError::code</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Error code </div> </div><p> <a class="anchor" name="59d98203577586394c30cdb01a270c2c"></a><!-- doxytag: member="NdbError::message" ref="59d98203577586394c30cdb01a270c2c" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* <a class="el" href="structNdbError.html#59d98203577586394c30cdb01a270c2c">NdbError::message</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Error message </div> </div><p> <a class="anchor" name="3b45b15467a57e0ef01cc0d96fec553a"></a><!-- doxytag: member="NdbError::details" ref="3b45b15467a57e0ef01cc0d96fec553a" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">char* <a class="el" href="structNdbError.html#3b45b15467a57e0ef01cc0d96fec553a">NdbError::details</a> </td> </tr> </table> </div> <div class="memdoc"> <p> The detailed description. This is extra information regarding the error which is not included in the error message.<p> <dl class="note" compact><dt><b>Note:</b></dt><dd>Is NULL when no details specified </dd></dl> </div> </div><p> </div> <hr> <address> <small> <center> Documentation generated Sun Apr 20 06:25:31 2008 from mysql source files.<br> © 2003-2004 <a href="http://www.mysql.com">MySQL AB</a> <br> </center> </small></address> </body> </html>