ObjectDatabase++ Error Codes
Error Codes are 64bit integers in the form of 0x1XXXXXXXX are ObjectDatabase++ errors with the XXXX matching the details below. Error code in the form of 0x2XXXXXXXX are Windows errors - see Winerror.h for details. Error code in the form of 0x3XXXXXXXX are Linux errors - mostly see asm/errno.h or sys_errlist[XXXXXXXX] for details. UseGetErrorMessagefor more details.
Name | Value | Description | |
---|---|---|---|
NO_ERROR | 0 | No Error, method call executed correctly. | |
ODBPP_UNREGISTERED | 1 | This error code is returned when the ObjectDatabase++ has no longer a current licence. You must either enter a valid licence through RegisterODBPP or download an updated copy of the library. | |
FILE_NOT_LOCAL | 2 | ObjectDatabase++ is designed as a multi-process, server side embedded database library and as such uses mutexes for concurrency control with a shared memory file for IPC that is not flushed to disk, this prevent two copies of the library interaction into one set of files on a network file server. Therefore ObjectDatabase++ is made to only run on a server with the files locally. | |
DATABASE_NOT_OPEN | 3 | The database needs to be open before any operations can take place, a call to OpenDatabase or CreateDatabase must be called first. | |
DATABASE_NOT_EXCLUSIVE | 4 | For database operations that edit the schema of any table or the control file, the executing transaction must start with BeginTransaction mode set to exclusive. | |
DATABASE_NOT_EDITABLE | 5 | Before any transaction can call any method that edits the database, it must start with BeginTransaction in an editable mode, such as shared or excusive. This error is returned when the transaction mode is set to lock free. | |
TABLE_NOT_OPEN | 6 | This error code is returned when a method is unable to find an open table that matches the given tableID parameter. Make sure that OpenTable is called with the correct table ID before any read corresponding calls for reading or editing of the table. | |
INVALID_PARAMETER | 7 | This error code is a general error code that signifies a parameter of the method is invalid, it has no specific relationship to the exact cause of the error. | |
INVALID_OPERATION | 8 | This error code is a general error code that signifies a method has been called in a wrong context, for example, if the method PutVariableValues is called when the tableID refers to a fixed length table. | |
INVALID_TABLE_NAME | 9 | This table name given to the method is invalid, either because it is already in use or has invalid character or path. | |
INVALID_TABLE_ID | 10 | The tableID valid give to a method is incorrect, either in the tableID parameter of the method or the tableID value in the ClassSchema, because it is in use or in the case of the parameter - the table is not opened. | |
INVALID_TABLE_LOCK_ORDER | 11 | The give table locking order value is already in use, the existing table with the global locking order position must be removed with RemoveTable or changed with SetTableSchema before a table can be allocated with that locking position. Try using the value zero so ObjectDatabase++ is set the next valid value. | |
INVALID_FIELD_TYPE | 12 | When a table is created or edited, ObjectDatabase++ will make sure that all values of the schema are valid and will give this error if the give value for the field type is unknown and current copy of ObjectDatabase++ may need updating, or in the case of PutVariableValues it would suggest that the table file has corrupted. | |
INVALID_FIELD_ORDER | 13 | The given table schema has a fixed field after a variable field. ObjectDatabase++ expects all variable field to be after the fixed fields. This enables the use of structures to access fixed fields. | |
INVALID_FIELD_POS_IN_INDEX | 14 | Within the given table schema, the value given to refer to the underlining field position is out of range. | |
INVALID_FIELD_TYPE_IN_INDEX | 15 | Within the given table schema, the given field is the wrong type for the give index. For example CODBPP::RECT and CODBPP::CUBE are only valid in Spatial Indexed and not in B+-Tree Indexes. | |
INVALID_FIELD_NAME | 42 | All fields should be given a name, just for compatibility reasons. | |
INVALID_FIELD_LENGTH | 66 | If a field requires a certain length, such as the pattern fields, that are a mod 8 byte length. | |
INVALID_FIELD_MAPPING | 72 | If the field mapping in SetTableSchema is invalid. | |
INVALID_SEGMENT_MODE | 16 | Within the given table schema, the given segment mode is invalid, see segments Mode for correct values. | |
INVALID_SEGMENT_COUNT | 17 | Within the given table schema, the given segment count is invalid, this error is caused only by Spatial Indexes since only one field per indexis allowed. | |
INVALID_SEGMENT_MULTIENTRY | 61 | Within the given table schema, an index may only have segments fields from one sub-table (SUB_TABLE. | |
INVALID_SEARCH_MODE | 18 | The CODBPP::Mode operation used in a read operation is invalid, please recheck the value you are supplying and try using with preference the defined enum within the ObjectDatabase++ class. | |
INVALID_SEARCH_STRING | 63 | The token string given to the SearchIndex operation is invalid, please recheck the string you are trying to search with for the correct logical format. | |
INVALID_INDEX_TYPE | 19 | Within the given table schema, the value of an index type is invalid, valid index types are as in IndexType. | |
INVALID_INDEX_MAX_COUNT | 20 | Within the given token list index, the value of the index max object count is too high for any normal meaning. The max object count equals 2 to the power of maxObjects. | |
INVALID_INDEX_LOCK_ORDER | 26 | The lock order index must be either the ObjectID or a B+Tree index. | |
INVALID_VERSION | 70 | Not in current use | |
INVALID_CONTROL_VERSION | 21 | The *.obc file that you are trying to use is either corrupt of the wrong version. You can try adding the table files to a newly create control file or update your version of ObjectDatabase++ library. | |
INVALID_TABLE_VERSION | 22 | The *.obt file that you are trying to use is either corrupt of the wrong version. You can try using SetTableSchema to update the table format or by updating your version of ObjectDatabase++ library if you are using an older version then the file. | |
INVALID_INDEX_VERSION | 23 | The *.obi file that you are trying to use is either corrupt of the wrong version. You can delete the *.obi file associated with the table and search for the first object in the first index while the table is opened in CODBPP::EXCLUSIVEmode, this will trigger ObjectDatabase++ to recreate the index file in the correct version connected with the current version you are using. | |
INVALID_LOG_VERSION | 24 | The *.obl file that you are trying to use is either corrupt of the wrong version. You can delete the *.obl file associated with the control file, opening the control file will trigger ObjectDatabase++ to recreate the log file in the correct version connected with the current version of the library you are using. | |
INVALID_LOG_POSITION | 68 | Possible database synchronise corruption. Should reinitiate database synchronisation. | |
UNABLE_TO_LOCK_DATABASE | 25 | BeginTransaction is unable to gain control of the control file, usually because another transaction is currently executing in exclusive mode. | |
UNABLE_TO_LOCK_OBJECT | 27 | The object required to be lock is currently lock by another transaction. | |
UNABLE_TO_LOCK_TRANSACTION | 67 | If the transaction needs to complete a transaction before moving forward, but another process is already attempting to complete it. | |
NOT_FOUND_TABLE | 30 | The requested table was not found in the control file. | |
NOT_FOUND_OBJECT | 31 | The requested object was not found in the table. | |
NOT_FOUND_INDEX_KEY | 32 | The requested index value was not found. This value is also returned when a search request asks for a relative index compared to the current object held in the table. | |
NOT_FOUND_LOG_ENTRY | 33 | The log entry was not found, if this error is recursive try deleting the current log file. | |
ALREADY_IN_USE_DATABASE | 34 | When the database is already open, ObjectDatabase++ will not create or open another until the original control file is closed. | |
ALREADY_IN_USE_TABLE | 35 | When the table is already open, ObjectDatabase++ will not create or open another. | |
ALREADY_IN_USE_OBJECT | 36 | DeleteObject is unable to perform its operation on an object that has previously been locked by AddObject or by itself. | |
ALREADY_IN_USE_INDEX_KEY | 37 | This error is returned when the object you are trying to add to a table has the same index value as an object already within the table. If this error is incorrect and caused by a corrupted index file, try deleting the index file and then searching the for the first object in the first index with the database opened in CODBPP::EXCLUSIVE mode, this will trigger ObjectDatabase++ to rebuild the index file. | |
ALREADY_IN_USE_LOG_KEY | 38 | A strange internal error. | |
NO_VALID_OBJECT | 39 | The table handle does not currently contain an object that is required for the correct performance to the called method. | |
NO_VALID_SEARCH_TREE | 40 | Unable to find an object since the search index was created on another index, try using SearchIndex once again on the required index. | |
TRANSACTION_UNSAVED | 41 | Before any method can edited any table schema, the database must be in a neutral state, this can be done by calling AbortTransaction or CommitTransaction and releasing all object locks. | |
TRANSACTION_NOT_FOUND | 71 | Unable to complete transaction, as it was not found. | |
CAST_UNAVAILABLE | 43 | SetTableSchema is currently unable to cast one field type to the required field type. | |
INCONSISTENT_INDEX | 44 | This error is returned when the index file is no longer consistence with the table file. Try deleting the index file and then searching the for the first object in the first index with the database opened in CODBPP::EXCLUSIVE mode, this will trigger ObjectDatabase++ to rebuild the index file. | |
INCONSISTENT_THREAD | 28 | All transactions must be started and completed on the same thread as memory is allocated on the local heap, requiring each thread to have its own CODBPP handle. | |
CORRUPT_OBJECT_LENGTH | 45 | The object length is too long and does not match the schema format. | |
CORRUPT_OBJECT_FORMAT | 46 | The object format has been corrupted. | |
CORRUPT_PARAMETER_FORMAT | 73 | The object format has been corrupted. | |
CORRUPT_DELETE_ID_LIST | 47 | The table file has been corrupted. Try rebuilding table with SetTableSchema. | |
CORRUPT_FREE_SPACE_LIST | 48 | The files free space list has been corrupted, this can be with in the index, log or table files. Try rebuilding table with SetTableSchema. | |
CORRUPT_B_TREE_FIXED_LEAF | 49 | Depreciated. | |
CORRUPT_B_TREE_VAR_LEAF | 50 | A variable leaf within an index file has been corrupted. Try deleting the index file and then searching the for the first object in the first index with the database opened in CODBPP::EXCLUSIVE mode, this will trigger ObjectDatabase++ to rebuild the index file. | |
CORRUPT_T_LIST_BUCKET | 62 | A bucket page within a token index has been corrupted. Try deleting the index file and then searching the for the first object in the first index with the database opened in CODBPP::EXCLUSIVE mode, this will trigger ObjectDatabase++ to rebuild the index file. | |
CORRUPT_B_TREE | 51 | This error is returned when a B+-Tree index has been corrupted. Try deleting the index file and then searching the for the first object in the first index with the database opened in CODBPP::EXCLUSIVE mode, this will trigger ObjectDatabase++ to rebuild the index file. | |
CORRUPT_S_TREE | 52 | This error is returned when a spatial index has been corrupted. Try deleting the index file and then searching the for the first object in the first index with the database opened in CODBPP::EXCLUSIVE mode, this will trigger ObjectDatabase++ to rebuild the index file. | |
CORRUPT_T_TREE | 64 | This error is returned when a temporal index has been corrupted. Try deleting the index file and then searching the for the first object in the first index with the database opened in CODBPP::EXCLUSIVE mode, this will trigger ObjectDatabase++ to rebuild the index file. | |
CORRUPT_PATTERN | 65 | This error is returned when a spatial pattern index has been corrupted. Try deleting the index file and then searching the for the first object in the first index with the database opened in CODBPP::EXCLUSIVE mode, this will trigger ObjectDatabase++ to rebuild the index file. | |
CORRUPT_T_LIST | 53 | This error is returned when a Token list index has been corrupted. Try deleting the index file and then searching the for the first object in the first index with the database opened in CODBPP::EXCLUSIVE mode, this will trigger ObjectDatabase++ to rebuild the index file. | |
CORRUPT_CONTROL_FILE | 54 | This is a general error that is return when a non-specific error has occurred while reading a control file *.odc. | |
CORRUPT_TABLE_FILE | 55 | This is a general error that is return when a non-specific error has occurred while reading a table file *.odt. Try rebuilding table file by opening the table with SetTableSchema. | |
CORRUPT_LOG_FILE | 56 | This is a general error that is return when a non-specific error has occurred while reading a log file *.odl. Try deleting the log file if this error reappears. | |
CORRUPT_LOG_ENTRY | 69 | Possible database synchronise corruption. Should reinitiate database synchronisation. | |
CORRUPT_LOG_FILE | 57 | This is a general error that is return when a non-specific error has occurred while reading an index file *.odi. Try deleting the index file and then searching the for the first object in the first index with the database opened in CODBPP::EXCLUSIVE mode, this will trigger ObjectDatabase++ to rebuild the index file. | |
CORRUPT_MEMORY_FILE | 58 | This is a general error that is return when a non-specific error has occurred while reading the run time memory file *.odm. Try deleting the file. | |
INTERNAL_ERROR | 59 | This is a general error that is return when a non-specific error has occurred from an internal source. | |
AES_ERROR | 60 | Error with AES encryption. |
Listen All
Comments (0)