quasardb C API: Error codes and error handling

quasardb C API

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Macros | Typedefs | Enumerations
Error codes and error handling

## Macros
#define | QDB_ERROR_ORIGIN(x) ((x) & (int)0xF0000000)
| Extracts the origin out of a qdb_error_t.
#define | QDB_ERROR_SEVERITY(x) ((x) & (int)0x0F000000)
| Extracts the severity out of a qdb_error_t.
#define | QDB_SUCCESS(x) (((x) == qdb_e_ok) || (QDB_ERROR_SEVERITY(x) == qdb_e_severity_info))
| True if and only if the qdb_error_t indicates a success.
#define | QDB_FAILURE(x) (!QDB_SUCCESS(x))
| True if and only if the qdb_error_t indicates a failure.

## Typedefs
typedef enum qdb_error_origin_t | qdb_error_origin_t
| The error origin.
typedef enum qdb_error_severity_t | qdb_error_severity_t
| An error severity level.
typedef enum qdb_error_t | qdb_error_t
| An error code indicating success or failure.
typedef qdb_error_t | qdb_status_t
| An alias for qdb_error_t.

## Enumerations
enum | qdb_error_origin_t
| The error origin.
enum | qdb_error_severity_t
| An error severity level.
enum | qdb_error_t { qdb_e_ok = 0, qdb_e_uninitialized = QDB_EC(qdb_e_origin_input , qdb_e_severity_unrecoverable, 0xFFFF), qdb_e_alias_not_found = QDB_EC(qdb_e_origin_operation , qdb_e_severity_warning , 0x0008), qdb_e_alias_already_exists = QDB_EC(qdb_e_origin_operation , qdb_e_severity_warning , 0x0009), qdb_e_out_of_bounds = QDB_EC(qdb_e_origin_input , qdb_e_severity_warning , 0x0019), qdb_e_skipped = QDB_EC(qdb_e_origin_operation , qdb_e_severity_warning , 0x0021), qdb_e_incompatible_type = QDB_EC(qdb_e_origin_operation , qdb_e_severity_warning , 0x0022), qdb_e_container_empty = QDB_EC(qdb_e_origin_operation , qdb_e_severity_warning , 0x0023), qdb_e_container_full = QDB_EC(qdb_e_origin_operation , qdb_e_severity_warning , 0x0024), qdb_e_element_not_found = QDB_EC(qdb_e_origin_operation , qdb_e_severity_info , 0x0025), qdb_e_element_already_exists = QDB_EC(qdb_e_origin_operation , qdb_e_severity_info , 0x0026), qdb_e_overflow = QDB_EC(qdb_e_origin_operation , qdb_e_severity_warning , 0x0027), qdb_e_underflow = QDB_EC(qdb_e_origin_operation , qdb_e_severity_warning , 0x0028), qdb_e_tag_already_set = QDB_EC(qdb_e_origin_operation , qdb_e_severity_info , 0x0029), qdb_e_tag_not_set = QDB_EC(qdb_e_origin_operation , qdb_e_severity_info , 0x002A), qdb_e_timeout = QDB_EC(qdb_e_origin_connection , qdb_e_severity_error , 0x000A), qdb_e_connection_refused = QDB_EC(qdb_e_origin_connection , qdb_e_severity_unrecoverable, 0x000E), qdb_e_connection_reset = QDB_EC(qdb_e_origin_connection , qdb_e_severity_error , 0x000F), qdb_e_unstable_cluster = QDB_EC(qdb_e_origin_connection , qdb_e_severity_error , 0x0012), qdb_e_try_again = QDB_EC(qdb_e_origin_connection , qdb_e_severity_error , 0x0017), qdb_e_conflict = QDB_EC(qdb_e_origin_operation , qdb_e_severity_error , 0x001A), qdb_e_not_connected = QDB_EC(qdb_e_origin_connection , qdb_e_severity_error , 0x001B), qdb_e_resource_locked = QDB_EC(qdb_e_origin_operation , qdb_e_severity_error , 0x002D), qdb_e_system_remote = QDB_EC(qdb_e_origin_system_remote, qdb_e_severity_unrecoverable, 0x0001), qdb_e_system_local = QDB_EC(qdb_e_origin_system_local , qdb_e_severity_unrecoverable, 0x0001), qdb_e_internal_remote = QDB_EC(qdb_e_origin_system_remote, qdb_e_severity_unrecoverable, 0x0002), qdb_e_internal_local = QDB_EC(qdb_e_origin_system_local , qdb_e_severity_unrecoverable, 0x0002), qdb_e_no_memory_remote = QDB_EC(qdb_e_origin_system_remote, qdb_e_severity_unrecoverable, 0x0003), qdb_e_no_memory_local = QDB_EC(qdb_e_origin_system_local , qdb_e_severity_unrecoverable, 0x0003), qdb_e_invalid_protocol = QDB_EC(qdb_e_origin_protocol , qdb_e_severity_unrecoverable, 0x0004), qdb_e_host_not_found = QDB_EC(qdb_e_origin_connection , qdb_e_severity_error , 0x0005), qdb_e_buffer_too_small = QDB_EC(qdb_e_origin_input , qdb_e_severity_warning , 0x000B), qdb_e_not_implemented = QDB_EC(qdb_e_origin_system_remote, qdb_e_severity_unrecoverable, 0x0011), qdb_e_invalid_version = QDB_EC(qdb_e_origin_protocol , qdb_e_severity_unrecoverable, 0x0016), qdb_e_invalid_argument = QDB_EC(qdb_e_origin_input , qdb_e_severity_error , 0x0018), qdb_e_invalid_handle = QDB_EC(qdb_e_origin_input , qdb_e_severity_error , 0x001C), qdb_e_reserved_alias = QDB_EC(qdb_e_origin_input , qdb_e_severity_error , 0x001D), qdb_e_unmatched_content = QDB_EC(qdb_e_origin_operation , qdb_e_severity_info , 0x001E), qdb_e_invalid_iterator = QDB_EC(qdb_e_origin_input , qdb_e_severity_error , 0x001F), qdb_e_entry_too_large = QDB_EC(qdb_e_origin_input , qdb_e_severity_error , 0x002B), qdb_e_transaction_partial_failure = QDB_EC(qdb_e_origin_operation , qdb_e_severity_error , 0x002C), qdb_e_operation_disabled = QDB_EC(qdb_e_origin_operation , qdb_e_severity_error , 0x002E), qdb_e_operation_not_permitted = QDB_EC(qdb_e_origin_operation , qdb_e_severity_error , 0x002F), qdb_e_iterator_end = QDB_EC(qdb_e_origin_operation , qdb_e_severity_info , 0x0030), qdb_e_invalid_reply = QDB_EC(qdb_e_origin_protocol , qdb_e_severity_unrecoverable, 0x0031), qdb_e_ok_created = QDB_EC(qdb_e_origin_operation , qdb_e_severity_info , 0x0032), qdb_e_no_space_left = QDB_EC(qdb_e_origin_system_remote, qdb_e_severity_unrecoverable, 0x0033), qdb_e_quota_exceeded = QDB_EC(qdb_e_origin_system_remote, qdb_e_severity_unrecoverable, 0x0034), qdb_e_alias_too_long = QDB_EC(qdb_e_origin_input , qdb_e_severity_error , 0x0035), qdb_e_clock_skew = QDB_EC(qdb_e_origin_system_remote, qdb_e_severity_error , 0x0036), qdb_e_access_denied = QDB_EC(qdb_e_origin_operation , qdb_e_severity_error , 0x0037), qdb_e_login_failed = QDB_EC(qdb_e_origin_system_remote, qdb_e_severity_error , 0x0038), qdb_e_column_not_found = QDB_EC(qdb_e_origin_operation , qdb_e_severity_warning , 0x0039), qdb_e_query_too_complex = QDB_EC(qdb_e_origin_operation , qdb_e_severity_error , 0x0040), qdb_e_invalid_crypto_key = QDB_EC(qdb_e_origin_input , qdb_e_severity_error , 0x0041), qdb_e_invalid_query = QDB_EC(qdb_e_origin_input , qdb_e_severity_error , 0x0042), qdb_e_invalid_regex = QDB_EC(qdb_e_origin_input , qdb_e_severity_error , 0x0043), qdb_e_unknown_user = QDB_EC(qdb_e_origin_input , qdb_e_severity_error , 0x0044), qdb_e_interrupted = QDB_EC(qdb_e_origin_system_remote, qdb_e_severity_error , 0x0045), qdb_e_network_inbuf_too_small = QDB_EC(qdb_e_origin_system_local , qdb_e_severity_error , 0x0046), qdb_e_network_error = QDB_EC(qdb_e_origin_connection , qdb_e_severity_error , 0x0047), qdb_e_data_corruption = QDB_EC(qdb_e_origin_system_remote, qdb_e_severity_unrecoverable, 0x0048) }
| An error code indicating success or failure. More...

## Detailed Description

## Enumeration Type Documentation

enum qdb_error_t

An error code indicating success or failure.

Enumerator
qdb_e_ok | Success.
qdb_e_uninitialized | Uninitialized error.
qdb_e_alias_not_found | Entry alias/key was not found.
qdb_e_alias_already_exists | Entry alias/key already exists.
qdb_e_out_of_bounds | Index out of bounds.
qdb_e_skipped | Skipped operation. Used in batches and transactions.
qdb_e_incompatible_type | Entry or column is incompatible with the operation.
qdb_e_container_empty | Container is empty.
qdb_e_container_full | Container is full.
qdb_e_element_not_found | Element was not found.
qdb_e_element_already_exists | Element already exists.
qdb_e_overflow | Arithmetic operation overflows.
qdb_e_underflow | Arithmetic operation underflows.
qdb_e_tag_already_set | Tag is already set.
qdb_e_tag_not_set | Tag is not set.
qdb_e_timeout | Operation timed out.
qdb_e_connection_refused | Connection was refused.
qdb_e_connection_reset | Connection was reset.
qdb_e_unstable_cluster | Cluster is unstable.
qdb_e_try_again | Please retry.
qdb_e_conflict | There is another ongoing conflicting operation.
qdb_e_not_connected | Handle is not connected.
qdb_e_resource_locked | Resource is locked.
qdb_e_system_remote | System error on remote node (server-side). Please check `errno` or `GetLastError()` for actual error.
qdb_e_system_local | System error on local system (client-side). Please check `errno` or `GetLastError()` for actual error.
qdb_e_internal_remote | Internal error on remote node (server-side).
qdb_e_internal_local | Internal error on local system (client-side).
qdb_e_no_memory_remote | No memory on remote node (server-side).
qdb_e_no_memory_local | No memory on local system (client-side).
qdb_e_invalid_protocol | Protocol is invalid.
qdb_e_host_not_found | Host was not found.
qdb_e_buffer_too_small | Buffer is too small.
qdb_e_not_implemented | Operation is not implemented.
qdb_e_invalid_version | Version is invalid.
qdb_e_invalid_argument | Argument is invalid.
qdb_e_invalid_handle | Handle is invalid.
qdb_e_reserved_alias | Alias/key is reserved.
qdb_e_unmatched_content | Content did not match.
qdb_e_invalid_iterator | Iterator is invalid.
qdb_e_entry_too_large | Entry is too large.
qdb_e_transaction_partial_failure | Transaction failed partially. Warning This may provoke failures until the transaction has not been rolled back. See Also Cluster configuration parameter `global/cluster/max_transaction_duration`.
qdb_e_operation_disabled | Operation has not been enabled in cluster configuration.
qdb_e_operation_not_permitted | Operation is not permitted.
qdb_e_iterator_end | Iterator reached the end.
qdb_e_invalid_reply | Cluster sent an invalid reply.
qdb_e_ok_created | Success. A new entry has been created.
qdb_e_no_space_left | No more space on disk.
qdb_e_quota_exceeded | Disk space quota has been reached.
qdb_e_alias_too_long | Alias is too long. See Also qdb_l_max_alias_length
qdb_e_clock_skew | Cluster nodes have important clock differences.
qdb_e_access_denied | Access is denied.
qdb_e_login_failed | Login failed.
qdb_e_column_not_found | Column was not found.
qdb_e_query_too_complex | Query is too complex.
qdb_e_invalid_crypto_key | Security key is invalid.
qdb_e_invalid_query | Malformed query.
qdb_e_invalid_regex | Malformed regex.
qdb_e_unknown_user | Unknown user.
qdb_e_interrupted | Task has been interrupted.
qdb_e_network_inbuf_too_small | Client network buffer is too small.
qdb_e_network_error | Generic network error.
qdb_e_data_corruption | Corrupted data.