Chapter 4. NDB API ERRORS

Table of Contents

4.1. The NdbError Structure
4.1.1. NdbError Types
4.2. NDB Error Codes, Classifications, and Messages
4.2.1. NDB Error Codes and Messages
4.2.2. NDB Error Classifications

Abstract

This chapter discusses reporting and handling of errors potentially generated in NDB API applications. It includes information about the NdbError data structure, which is used to model errors, and about NDB API error codes, classifications, and messages.

4.1. The NdbError Structure

Abstract

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:

  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 4.1.1.1, “The NdbError::Status Type”, 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 4.1.1.2, “The NdbError::Classification Type”, for possible classifications and their interpretation. Additional information is provided in Section 4.2.2, “NDB Error Classifications”.

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

    Important

    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 4.2.1, “NDB Error Codes and Messages”. This listing will be updated periodically, or you can check the file storage/ndb/src/ndbapi/ndberror.c in the MySQL 5.1 sources.

  4. MySQL Error code: This is the corresponding MySQL Server error code. MySQL error codes are not discussed in this document; please see 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.

Important

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:

  • 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.

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

Public Types.  NdbError defines two datatypes:

Structure Diagram.  This diagram shows all the available members and types of the NdbError structure:

Public members and types of the
            NdbError structure.

4.1.1. NdbError Types

Abstract

This section discusses the Status and Classification datatypes defined by NdbError.

4.1.1.1. The NdbError::Status Type

Description.  This type is used to describe an error's status.

Enumeration Values. 

ValueDescription
SuccessNo error has occurred
TemporaryErrorA temporary and usually recoverable error; the application should retry the operation giving rise to the error
PermanentErrorPermanent error; not recoverable
UnknownResultThe operation's result or status is unknown

Note

Related information specific to certain error conditions may be found in Section 4.2.2, “NDB Error Classifications”.

4.1.1.2. The NdbError::Classification Type

Description.  This type describes the type of error, or the logical group to which it belongs.

Enumeration Values. 

ValueDescription
NoErrorIndicates success (no error occurred)
ApplicationErrorAn error occurred in an application program
NoDataFoundA read operation failed due to one or more missing records.
ConstraintViolationA constraint violation occurred, such as attempting to insert a tuple having a primary key value already in use in the target table.
SchemaErrorAn error took place when trying to create or use a table.
InsufficientSpaceThere was insufficient memory for data or indexes.
TemporaryResourceErrorThis type of error is typically encountered when there are too many active transactions.
NodeRecoveryErrorThis is a temporary failure which was likely caused by a node recovery in progress, some examples being when information sent between an application and NDB is lost, or when there is a distribution change.
OverloadErrorThis type of error is often caused when there is insufficient logfile space.
TimeoutExpiredA timeout, often caused by a deadlock.
UnknownResultErrorIt is not known whether a transaction was committed.
InternalErrorA serious error has occurred in NDB itself.
FunctionNotImplementedThe application attempted to use a function which is not yet implemented.
UnknownErrorCodeThis is seen where the NDB error handler cannot determine the correct error code to report.
NodeShutdownThis is caused by a node shutdown.
SchemaObjectExistsThe application attempted to create a schema object that already exists.
InternalTemporaryA request was sent to a non-master node.

Note

Related information specific to certain error conditions may be found in Section 4.2.1, “NDB Error Codes and Messages”, and in Section 4.2.2, “NDB Error Classifications”.

4.2. NDB Error Codes, Classifications, and Messages

Abstract

This section contains listings of common NDB error codes and messages, along with their classifications and likely causes for which they might be raised.

Important

It is strongly recommended that you not depend on specific error codes in your NDB API applications, as they are subject to change over time. Instead, you should use the NdbError::Status and error classification in your source code, or consult the output of perror --ndb error_code to obtain information about a specific error code.

If you find a situation in which you need to use a specific error code in your application, please file a bug report at http://bugs.mysql.com/ so that we can update the corresponding status and classification.

4.2.1. NDB Error Codes and Messages

This section contains a number of tables, one for each type of NDB API error. The error types include the following:

  • No error

  • Application error

  • Configuration or application error

  • No data found

  • Constraint violation

  • Schema error

  • User defined error

  • Insufficient space

  • Temporary Resource error

  • Node Recovery error

  • Overload error

  • Timeout expired

  • Node shutdown

  • Internal temporary

  • Unknown result error

  • Unknown error code

  • Internal error

  • Function not implemented

The information in each table includes, for each error:

Similar errors have been grouped together in each table. The last the table contains errors that have as yet not been assigned to a specific category.

Tip

You can always obtain the latest error codes and information from the file storage/ndb/src/ndbapi/ndberror.c.

4.2.1.1. No Error

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
00NENo error

4.2.1.2. NoDataFound Errors

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
626HA_ERR_KEY_NOT_FOUNDNDTuple did not exist

4.2.1.3. ConstraintViolation Errors

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
630HA_ERR_FOUND_DUPP_KEYCVTuple already existed when attempting to insert
839DMECCVIllegal null attribute
840DMECCVTrying to set a NOT NULL attribute to NULL
893HA_ERR_FOUND_DUPP_KEYCVConstraint violation e.g. duplicate value in unique index

4.2.1.4. Node recovery errors

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
286DMECNRNode failure caused abort of transaction
250DMECNRNode where lock was held crashed, restart scan transaction
499DMECNRScan take over error, restart scan transaction
1204DMECNRTemporary failure, distribution changed
4002DMECNRSend to NDB failed
4010DMECNRNode failure caused abort of transaction
4025DMECNRNode failure caused abort of transaction
4027DMECNRNode failure caused abort of transaction
4028DMECNRNode failure caused abort of transaction
4029DMECNRNode failure caused abort of transaction
4031DMECNRNode failure caused abort of transaction
4033DMECNRSend to NDB failed
4115DMECNRTransaction was committed but all read information was not received due to node crash
4119DMECNRSimple/dirty read failed due to node failure

4.2.1.5. Node Shutdown Errors

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
280DMECNSTransaction aborted due to node shutdown
270DMECNSTransaction aborted due to node shutdown
1223DMECNSRead operation aborted due to node shutdown
4023DMECNSTransaction aborted due to node shutdown
4030DMECNSTransaction aborted due to node shutdown
4034DMECNSTransaction aborted due to node shutdown

4.2.1.6. Unknown Result Errors

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
4008DMECURReceive from NDB failed
4009DMECURCluster Failure
4012DMECURRequest ndbd time-out, maybe due to high load or communication problems
4024DMECURTime-out, most likely caused by simple read or cluster failure

4.2.1.7. Temporary Resource Errors

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
217DMECTR217
218DMECTR218
219DMECTR219
233DMECTROut of operation records in transaction coordinator (increase MaxNoOfConcurrentOperations)
275DMECTR275
279DMECTROut of transaction markers in transaction coordinator
414DMECTR414
418DMECTROut of transaction buffers in LQH
419DMECTR419
245DMECTRToo many active scans
488DMECTRToo many active scans
490DMECTRToo many active scans
805DMECTROut of attrinfo records in tuple manager
830DMECTROut of add fragment operation records
873DMECTROut of attrinfo records for scan in tuple manager
899DMECTRRowid already allocated
1217DMECTROut of operation records in local data manager (increase MaxNoOfLocalOperations)
1220DMECTRREDO log files overloaded, consult online manual (decrease TimeBetweenLocalCheckpoints, and|or increase NoOfFragmentLogFiles)
1222DMECTROut of transaction markers in LQH
4021DMECTROut of Send Buffer space in NDB API
4022DMECTROut of Send Buffer space in NDB API
4032DMECTROut of Send Buffer space in NDB API
1501DMECTROut of undo space
288DMECTROut of index operations in transaction coordinator (increase MaxNoOfConcurrentIndexOperations)

4.2.1.8. Insufficient Space Errors

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
623HA_ERR_RECORD_FILE_FULLIS623
624HA_ERR_RECORD_FILE_FULLIS624
625HA_ERR_INDEX_FILE_FULLISOut of memory in Ndb Kernel, hash index part (increase IndexMemory)
640DMECISToo many hash indexes (should not happen)
826HA_ERR_RECORD_FILE_FULLISToo many tables and attributes (increase MaxNoOfAttributes or MaxNoOfTables)
827HA_ERR_RECORD_FILE_FULLISOut of memory in Ndb Kernel, table data (increase DataMemory)
902HA_ERR_RECORD_FILE_FULLISOut of memory in Ndb Kernel, ordered index data (increase DataMemory)
903HA_ERR_INDEX_FILE_FULLISToo many ordered indexes (increase MaxNoOfOrderedIndexes)
904HA_ERR_INDEX_FILE_FULLISOut of fragment records (increase MaxNoOfOrderedIndexes)
905DMECISOut of attribute records (increase MaxNoOfAttributes)
1601HA_ERR_RECORD_FILE_FULLISOut extents, tablespace full

4.2.1.9. TimeoutExpired errors

   
NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
266HA_ERR_LOCK_WAIT_TIMEOUTTOTime-out in NDB, probably caused by deadlock
274HA_ERR_LOCK_WAIT_TIMEOUTTOTime-out in NDB, probably caused by deadlock
296HA_ERR_LOCK_WAIT_TIMEOUTTOTime-out in NDB, probably caused by deadlock
297HA_ERR_LOCK_WAIT_TIMEOUTTOTime-out in NDB, probably caused by deadlock
237HA_ERR_LOCK_WAIT_TIMEOUTTOTransaction had timed out when trying to commit it

4.2.1.10. Overload Errors

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
701DMECOLSystem busy with other schema operation
410DMECOLREDO log files overloaded, consult online manual (decrease TimeBetweenLocalCheckpoints, and|or increase NoOfFragmentLogFiles)
677DMECOLIndex UNDO buffers overloaded (increase UndoIndexBuffer)
891DMECOLData UNDO buffers overloaded (increase UndoDataBuffer)
1221DMECOLREDO buffers overloaded, consult online manual (increase RedoBuffer)
4006DMECOLConnect failure - out of connection objects (increase MaxNoOfConcurrentTransactions)

4.2.1.11. Internal Temporary Errors

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
702DMECITRequest to non-master

4.2.1.12. Internal errors

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
892DMECIEInconsistent hash index. The index needs to be dropped and recreated
896DMECIETuple corrupted - wrong checksum or column data in invalid format
901DMECIEInconsistent ordered index. The index needs to be dropped and recreated
202DMECIE202
203DMECIE203
207DMECIE207
208DMECIE208
209DMECIECommunication problem, signal error
220DMECIE220
230DMECIE230
232DMECIE232
238DMECIE238
271DMECIESimple Read transaction without any attributes to read
272DMECIEUpdate operation without any attributes to update
276DMECIE276
277DMECIE277
278DMECIE278
287DMECIEIndex corrupted
290DMECIECorrupt key in TC, unable to xfrm
631DMECIE631
632DMECIE632
706DMECIEInconsistency during table creation
809DMECIE809
812DMECIE812
829DMECIE829
833DMECIE833
871DMECIE871
882DMECIE882
883DMECIE883
887DMECIE887
888DMECIE888
890DMECIE890
4000DMECIEMEMORY ALLOCATION ERROR
4001DMECIESignal Definition Error
4005DMECIEInternal Error in NdbApi
4011DMECIEInternal Error in NdbApi
4107DMECIESimple Transaction and Not Start
4108DMECIEFaulty operation type
4109DMECIEFaulty primary key attribute length
4110DMECIEFaulty length in ATTRINFO signal
4111DMECIEStatus Error in NdbConnection
4113DMECIEToo many operations received
4320DMECIECannot use the same object twice to create table
4321DMECIETrying to start two schema transactions
4344DMECIEOnly DBDICT and TRIX can send requests to TRIX
4345DMECIETRIX block is not available yet, probably due to node failure
4346DMECIEInternal error at index create/build
4347DMECIEBad state at alter index
4348DMECIEInconsistency detected at alter index
4349DMECIEInconsistency detected at index usage
4350DMECIETransaction already aborted

4.2.1.13. Application Errors

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
823DMECAEToo much attrinfo from application in tuple manager
831DMECAEToo many nullable/bitfields in table definition
876DMECAE876
877DMECAE877
878DMECAE878
879DMECAE879
880DMECAETried to read too much - too many getValue calls
884DMECAEStack overflow in interpreter
885DMECAEStack underflow in interpreter
886DMECAEMore than 65535 instructions executed in interpreter
897DMECAEUpdate attempt of primary key via ndbcluster internal api (if this occurs via the MySQL server it is a bug, please report)
4256DMECAEMust call Ndb::init() before this function
4257DMECAETried to read too much - too many getValue calls
Scan application errors   
242DMECAEZero concurrency in scan
244DMECAEToo high concurrency in scan
269DMECAENo condition and attributes to read in scan
4600DMECAETransaction is already started
4601DMECAETransaction is not started
4602DMECAEYou must call getNdbOperation before executeScan
4603DMECAEThere can only be ONE operation in a scan transaction
4604DMECAEtakeOverScanOp, to take over a scanned row one must explicitly request keyinfo on readTuples call
4605DMECAEYou may only call openScanRead or openScanExclusive once for each operation
4607DMECAEThere may only be one operation in a scan transaction
4608DMECAEYou can not takeOverScan unless you have used openScanExclusive
4609DMECAEYou must call nextScanResult before trying to takeOverScan
4232DMECAEParallelism can only be between 1 and 240

4.2.1.14. Event Schema Errors

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
4713DMECSEColumn defined in event does not exist in table

4.2.1.15. Event Application Errors

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
4707DMECAEToo many event have been defined
4708DMECAEEvent name is too long
4709DMECAECan't accept more subscribers
746DMECOEEvent name already exists
747DMECISOut of event records
748DMECTRBusy during read of event table
4710DMECAEEvent not found
4711DMECAECreation of event failed
4712DMECAEStopped event operation does not exist. Already stopped?

4.2.1.16. Event Internal Errors

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
4731DMECIEEvent not found

4.2.1.17. Schema Errors

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
703DMECSEInvalid table format
704DMECSEAttribute name too long
705DMECSETable name too long
707DMECSENo more table metadata records (increase MaxNoOfTables)
708DMECSENo more attribute metadata records (increase MaxNoOfAttributes)
709HA_ERR_NO_SUCH_TABLESENo such table existed
710DMECSEInternal: Get by table name not supported, use table id.
721HA_ERR_TABLE_EXIST OETable or index with given name already exists
723HA_ERR_NO_SUCH_TABLESENo such table existed
736DMECSEUnsupported array size
737HA_WRONG_CREATE_OPTIONSEAttribute array size too big
738HA_WRONG_CREATE_OPTIONSERecord too big
739HA_WRONG_CREATE_OPTIONSEUnsupported primary key length
740HA_WRONG_CREATE_OPTIONSENullable primary key not supported
741DMECSEUnsupported alter table
743HA_WRONG_CREATE_OPTIONSEUnsupported character set in table or index
744DMECSECharacter string is invalid for given character set
745HA_WRONG_CREATE_OPTIONSEDistribution key not supported for char attribute (use binary attribute)
771HA_WRONG_CREATE_OPTIONAEGiven NODEGROUP doesn't exist in this cluster
772HA_WRONG_CREATE_OPTIONIEGiven fragmentType doesn't exist
749HA_WRONG_CREATE_OPTIONIEPrimary Table in wrong state
763HA_WRONG_CREATE_OPTIONSEInvalid undo buffer size
764HA_WRONG_CREATE_OPTIONSEInvalid extent size
765DMECSEOut of filegroup records
750IESEInvalid file type
751DMECSEOut of file records
752DMECSEInvalid file format
753IESEInvalid filegroup for file
754IESEInvalid filegroup version when creating file
755DMECSEInvalid tablespace
756DMECSEIndex on disk column is not supported
757DMECSEVarsize bitfield not supported
758DMECSETablespace has changed
759DMECSEInvalid tablespace version
760DMECSEFile already exists
761DMECSEUnable to drop table as backup is in progress
762DMECSEUnable to alter table as backup is in progress
766DMECSECant drop file, no such file
767DMECSECant drop filegroup, no such filegroup
768DMECSECant drop filegroup, filegroup is used
769DMECSEDrop undofile not supported, drop logfile group instead
770DMECSECant drop file, file is used
774DMECSEInvalid schema object for drop
241HA_ERR_TABLE_DEF_CHANGEDSEInvalid schema object version
283HA_ERR_NO_SUCH_TABLESETable is being dropped
284HA_ERR_TABLE_DEF_CHANGEDSETable not defined in transaction coordinator
285DMECSEUnknown table error in transaction coordinator
881DMECSEUnable to create table, out of data pages (increase DataMemory)
906DMECSEUnsupported attribute type in index
907DMECSEUnsupported character set in table or index
908DMECISInvalid ordered index tree node size
1225DMECSETable not defined in local query handler
1226DMECSETable is being dropped
1228DMECSECannot use drop table for drop index
1229DMECSEToo long frm data supplied
1231DMECSEInvalid table or index to scan
1232DMECSEInvalid table or index to scan
1502DMECIEFilegroup already exists
1503DMECSEOut of filegroup records
1504DMECSEOut of logbuffer memory
1505DMECIEInvalid filegroup
1506DMECIEInvalid filegroup version
1507DMECIEFile no already inuse
1508DMECSEOut of file records
1509DMECSEFile system error, check if path,permissions etc
1510DMECIEFile meta data error
1511DMECIEOut of memory
1512DMECSEFile read error
1513DMECIEFilegroup not online
1514DMECSECurrently there is a limit of one logfile group
773DMECSEOut of string memory, please modify StringMemory config parameter

4.2.1.18. FunctionNotImplemented Errors

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
4003DMECNIFunction not implemented yet

4.2.1.19. Backup Errors

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
1300DMECIEUndefined error
1301DMECIEBackup issued to not master (reissue command to master)
1302DMECIEOut of backup record
1303DMECISOut of resources
1304DMECIESequence failure
1305DMECIEBackup definition not implemented
1306DMECAEBackup not supported in diskless mode (change Diskless)
1321DMECIEBackup aborted by application
1322DMECIEBackup already completed
1323DMECIE1323
1324DMECIEBackup log buffer full
1325DMECIEFile or scan error
1326DMECIEBackup abortet due to node failure
1327DMECIE1327
1340DMECIEBackup undefined error
1342DMECAEBackup failed to allocate buffers (check configuration)
1343DMECAEBackup failed to setup fs buffers (check configuration)
1344DMECAEBackup failed to allocate tables (check configuration)
1345DMECAEBackup failed to insert file header (check configuration)
1346DMECAEBackup failed to insert table list (check configuration)
1347DMECAEBackup failed to allocate table memory (check configuration)
1348DMECAEBackup failed to allocate file record (check configuration)
1349DMECAEBackup failed to allocate attribute record (check configuration)
1329DMECAEBackup during software upgrade not supported

4.2.1.20. Node ID Allocation Errors

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
1700DMECIEUndefined error
1701DMECAENode already reserved
1702DMECAENode already connected
1703DMECAENode failure handling not completed
1704DMECAENode type mismatch

4.2.1.21. Other Errors (Not Yet Categorised)

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
720DMECAEAttribute name reused in table definition
1405DMECNRSubscriber manager busy with node recovery
1407DMECSESubscription not found in subscriber manager
1411DMECTRSubscriber manager busy with adding/removing a subscriber
1412DMECISCan't accept more subscribers, out of space in pool
1413DMECTRSubscriber manager busy with adding the subscription
1414DMECTRSubscriber manager has subscribers on this subscription
1415DMECSESubscription not unique in subscriber manager
1416DMECISCan't accept more subscriptions, out of space in pool
1417DMECSETable in suscription not defined, probably dropped
1418DMECSESubscription dropped, no new subscribers allowed
1419DMECSESubscription already dropped
4004DMECAEAttribute name not found in the Table
4100DMECAEStatus Error in NDB
4101DMECAENo connections to NDB available and connect failed
4102DMECAEType in NdbTamper not correct
4103DMECAENo schema connections to NDB available and connect failed
4104DMECAENdb Init in wrong state, destroy Ndb object and create a new
4105DMECAEToo many Ndb objects
4106DMECAEAll Not NULL attribute have not been defined
4114DMECAETransaction is already completed
4116DMECAEOperation was not defined correctly, probably missing a key
4117DMECAECould not start transporter, configuration error
4118DMECAEParameter error in API call
4300DMECAETuple Key Type not correct
4301DMECAEFragment Type not correct
4302DMECAEMinimum Load Factor not correct
4303DMECAEMaximum Load Factor not correct
4304DMECAEMaximum Load Factor smaller than Minimum
4305DMECAEK value must currently be set to 6
4306DMECAEMemory Type not correct
4307DMECAEInvalid table name
4308DMECAEAttribute Size not correct
4309DMECAEFixed array too large, maximum 64000 bytes
4310DMECAEAttribute Type not correct
4311DMECAEStorage Mode not correct
4312DMECAENull Attribute Type not correct
4313DMECAEIndex only storage for non-key attribute
4314DMECAEStorage Type of attribute not correct
4315DMECAENo more key attributes allowed after defining variable length key attribute
4316DMECAEKey attributes are not allowed to be NULL attributes
4317DMECAEToo many primary keys defined in table
4318DMECAEInvalid attribute name or number
4319DMECAEcreateAttribute called at erroneus place
4322DMECAEAttempt to define distribution key when not prepared to
4323DMECAEDistribution Key set on table but not defined on first attribute
4324DMECAEAttempt to define distribution group when not prepared to
4325DMECAEDistribution Group set on table but not defined on first attribute
4326DMECAEDistribution Group with erroneus number of bits
4327DMECAEDistribution Group with 1 byte attribute is not allowed
4328DMECAEDisk memory attributes not yet supported
4329DMECAEVariable stored attributes not yet supported
4400DMECAEStatus Error in NdbSchemaCon
4401DMECAEOnly one schema operation per schema transaction
4402DMECAENo schema operation defined before calling execute
4501DMECAEInsert in hash table failed when getting table information from Ndb
4502DMECAEGetValue not allowed in Update operation
4503DMECAEGetValue not allowed in Insert operation
4504DMECAESetValue not allowed in Read operation
4505DMECAENULL value not allowed in primary key search
4506DMECAEMissing getValue/setValue when calling execute
4507DMECAEMissing operation request when calling execute
4200DMECAEStatus Error when defining an operation
4201DMECAEVariable Arrays not yet supported
4202DMECAESet value on tuple key attribute is not allowed
4203DMECAETrying to set a NOT NULL attribute to NULL
4204DMECAESet value and Read/Delete Tuple is incompatible
4205DMECAENo Key attribute used to define tuple
4206DMECAENot allowed to equal key attribute twice
4207DMECAEKey size is limited to 4092 bytes
4208DMECAETrying to read a non-stored attribute
4209DMECAELength parameter in equal/setValue is incorrect
4210DMECAENdb sent more info than the length he specified
4211DMECAEInconsistency in list of NdbRecAttr-objects
4212DMECAENdb reports NULL value on Not NULL attribute
4213DMECAENot all data of an attribute has been received
4214DMECAENot all attributes have been received
4215DMECAEMore data received than reported in TCKEYCONF message
4216DMECAEMore than 8052 bytes in setValue cannot be handled
4217DMECAEIt is not allowed to increment any other than unsigned ints
4218DMECAECurrently not allowed to increment NULL-able attributes
4219DMECAEMaximum size of interpretative attributes are 64 bits
4220DMECAEMaximum size of interpretative attributes are 64 bits
4221DMECAETrying to jump to a non-defined label
4222DMECAELabel was not found, internal error
4223DMECAENot allowed to create jumps to yourself
4224DMECAENot allowed to jump to a label in a different subroutine
4225DMECAEAll primary keys defined, call setValue/getValue
4226DMECAEBad number when defining a label
4227DMECAEBad number when defining a subroutine
4228DMECAEIllegal interpreter function in scan definition
4229DMECAEIllegal register in interpreter function definition
4230DMECAEIllegal state when calling getValue, probably not a read
4231DMECAEIllegal state when calling interpreter routine
4233DMECAECalling execute (synchronous) when already prepared asynchronous transaction exists
4234DMECAEIllegal to call setValue in this state
4235DMECAENo callback from execute
4236DMECAETrigger name too long
4237DMECAEToo many triggers
4238DMECAETrigger not found
4239DMECAETrigger with given name already exists
4240DMECAEUnsupported trigger type
4241DMECAEIndex name too long
4242DMECAEToo many indexes
4243DMECAEIndex not found
4244HA_ERR_TABLE_EXISTOEIndex or table with given name already exists
4247DMECAEIllegal index/trigger create/drop/alter request
4248DMECAETrigger/index name invalid
4249DMECAEInvalid table
4250DMECAEInvalid index type or index logging option
4251HA_ERR_FOUND_DUPP_UNIQUEAECannot create unique index, duplicate keys found
4252DMECAEFailed to allocate space for index
4253DMECAEFailed to create index table
4254DMECAETable not an index table
4255DMECAEHash index attributes must be specified in same order as table attributes
4258DMECAECannot create unique index, duplicate attributes found in definition
4259DMECAEInvalid set of range scan bounds
4260DMECUDNdbScanFilter: Operator is not defined in NdbScanFilter::Group
4261DMECUDNdbScanFilter: Column is NULL
4262DMECUDNdbScanFilter: Condition is out of bounds
4263DMECIEInvalid blob attributes or invalid blob parts table
4264DMECAEInvalid usage of blob attribute
4265DMECAEThe method is not valid in current blob state
4266DMECAEInvalid blob seek position
4267DMECIECorrupted blob value
4268DMECIEError in blob head update forced rollback of transaction
4269DMECIENo connection to ndb management server
4270DMECIEUnknown blob error
4335DMECAEOnly one autoincrement column allowed per table. Having a table without primary key uses an autoincremented hidden key, i.e. a table without a primary key can not have an autoincremented column
4271DMECAEInvalid index object, not retrieved via getIndex()
4272DMECAETable definition has undefined column
4273DMECIENo blob table in dict cache
4274DMECIECorrupted main table PK in blob operation
4275DMECAEThe blob method is incompatible with operation type or lock mode

4.2.2. NDB Error Classifications

The following table lists the classification codes used in Section 4.2, “NDB Error Codes, Classifications, and Messages”, and their descriptions. These can also be found in the file /storage/ndb/src/ndbapi/ndberror.c.

Classification CodeError StatusDescription
NESuccessNo error
AEPermanent errorApplication error
CEPermanent errorConfiguration or application error
NDPermanent errorNo data found
CVPermanent errorConstraint violation
SEPermanent errorSchema error
UDPermanent errorUser defined error
ISPermanent errorInsufficient space
TRTemporary errorTemporary Resource error
NRTemporary errorNode Recovery error
OLTemporary errorOverload error
TOTemporary errorTimeout expired
NSTemporary errorNode shutdown
ITTemporary errorInternal temporary
URUnknown resultUnknown result error
UEUnknown resultUnknown error code
IEPermanent errorInternal error
NIPermanent errorFunction not implemented