|
quasardb C API
|
A single operation containing all parameters to execute the operation in a batch or in a transaction. More...
#include <batch.h>
Data Fields | ||
| qdb_operation_type_t | type | |
| The type of the operation. | ||
| const char * | alias | |
| qdb_error_t | error | |
| union { | ||
| struct { | ||
| const char * tag | ||
| } has_tag | ||
| Tag specific operation parameters. | ||
| struct { | ||
| qdb_int_t result | ||
| qdb_int_t addend | ||
| The value to add or subtract to the entry. | ||
| } int_add | ||
| Integer increment/decrement specific operation parameters. | ||
| struct { | ||
| qdb_int_t result | ||
| The result of the integer get operation. | ||
| } int_get | ||
| Integer get specific operation parameters. | ||
| int_put_update_t int_put | ||
| Integer put specific operation parameters. | ||
| int_put_update_t int_update | ||
| Integer update specific operation parameters. | ||
| struct { | ||
| double result | ||
| double addend | ||
| The value to add or subtract to the entry. | ||
| } double_add | ||
| Double increment/decrement specific operation parameters. | ||
| struct { | ||
| double result | ||
| The result of the double get operation. | ||
| } double_get | ||
| Double get specific operation parameters. | ||
| double_put_update_t double_put | ||
| Double put specific operation parameters. | ||
| double_put_update_t double_update | ||
| Double update specific operation parameters. | ||
| blob_put_update_t blob_put | ||
| Blob put specific operation parameters. | ||
| blob_put_update_t blob_update | ||
| Blob update specific operation parameters. | ||
| struct { | ||
| const void * original_content | ||
| qdb_size_t original_content_size | ||
| The size of the result buffer. | ||
| const void * new_content | ||
| A pointer to the buffer with the data to be written. | ||
| qdb_size_t new_content_size | ||
| The size of the buffer pointed by content. | ||
| const void * comparand | ||
| A pointer to the comparand. | ||
| qdb_size_t comparand_size | ||
| The size of the buffer pointed by comparand. | ||
| qdb_size_t comparand_offset | ||
| qdb_time_t expiry_time | ||
| } blob_cas | ||
| Blob compare and swap specific operation parameters. | ||
| struct { | ||
| const char * original_content | ||
| qdb_size_t original_content_size | ||
| The size of the result buffer. | ||
| const char * new_content | ||
| A pointer to the buffer with the data to be written. | ||
| qdb_size_t new_content_size | ||
| The size of the buffer pointed by content. | ||
| const char * comparand | ||
| A pointer to the comparand. | ||
| qdb_size_t comparand_size | ||
| The size of the buffer pointed by comparand. | ||
| qdb_size_t comparand_offset | ||
| qdb_time_t expiry_time | ||
| } string_cas | ||
| String compare and swap specific operation parameters. | ||
| struct { | ||
| const void * content | ||
| qdb_size_t content_size | ||
| The size of the result buffer. | ||
| qdb_size_t content_offset | ||
| } blob_get | ||
| Blob get specific operation parameters. | ||
| struct { | ||
| const void * original_content | ||
| qdb_size_t original_content_size | ||
| The size of the result buffer. | ||
| const void * new_content | ||
| A pointer to the buffer with the data to be written. | ||
| qdb_size_t new_content_size | ||
| The size of the buffer pointed by content. | ||
| qdb_time_t expiry_time | ||
| } blob_get_and_update | ||
| Blob get and update specific operation parameters. | ||
| struct { | ||
| const char * original_content | ||
| qdb_size_t original_content_size | ||
| The size of the result buffer. | ||
| const char * new_content | ||
| A pointer to the buffer with the data to be written. | ||
| qdb_size_t new_content_size | ||
| The size of the buffer pointed by content. | ||
| qdb_time_t expiry_time | ||
| } string_get_and_update | ||
| String get and update specific operation parameters. | ||
| struct { | ||
| const char * content | ||
| qdb_size_t content_size | ||
| The size of the result buffer. | ||
| qdb_size_t content_offset | ||
| } string_get | ||
| String get specific operation parameters. | ||
| struct { | ||
| qdb_timespec_t result | ||
| The result of the double get operation. | ||
| } timestamp_get | ||
| Timestamp get specific operation parameters. | ||
| timestamp_put_update_t timestamp_put | ||
| Timestamp put specific operation parameters. | ||
| timestamp_put_update_t timestamp_update | ||
| Timestamp update specific operation parameters. | ||
| struct { | ||
| qdb_timespec_t result | ||
| A timestamp representing the result of the operation. | ||
| qdb_timespec_t addend | ||
| The value to add or subtract to the entry. | ||
| } timestamp_add | ||
| Timestamp increment/decrement specific operation parameters. | ||
| struct { | ||
| qdb_entry_type_t type | ||
| The type of the entry returned by the get value operation. | ||
| const void * blob_content | ||
| qdb_size_t blob_content_size | ||
| The size of the result buffer. | ||
| qdb_int_t int_result | ||
| double double_result | ||
| qdb_timespec_t timestamp_result | ||
| } value_get | ||
| Value get specific operation parameters. | ||
| struct { | ||
| qdb_uint_t bytes_trimmed | ||
| } trim_entry | ||
| Trim entry specific operation parameters. | ||
| }; | ||
| Operation specific parameters. | ||
A single operation containing all parameters to execute the operation in a batch or in a transaction.
You should initialize operations before usage with the qdb_init_operations function.
| const char* qdb_operation_t::alias |
A pointer to a null-terminated UTF-8 string representing the alias of the entry.
| const void* qdb_operation_t::blob_content |
A pointer to the buffer containing the result of the get operation when the returned type is blob This buffer is API-allocated and will be freed by a call to qdb_release
| qdb_uint_t qdb_operation_t::bytes_trimmed |
The result of the trimming operation - number of bytes trimmed
| qdb_size_t qdb_operation_t::comparand_offset |
Optional offset for the comparand. Leave to 0 if not needed.
| const void* qdb_operation_t::content |
A pointer to the buffer containing the result of the blob operation This buffer is API-allocated and will be freed by a call to qdb_release
| const char* qdb_operation_t::content |
A pointer to the buffer containing the result of the string operation This buffer is API-allocated and will be freed by a call to qdb_release
| qdb_size_t qdb_operation_t::content_offset |
Optional offset from which the content should be returned. Leave to 0 if not needed.
| double qdb_operation_t::double_result |
The result of the get operation when the returned type is double
| qdb_error_t qdb_operation_t::error |
A qdb_error_t code indicating success or failure after the operation has been executed
| qdb_time_t qdb_operation_t::expiry_time |
The optional expiration time. Use qdb_never_expires for no expiration.
| qdb_int_t qdb_operation_t::int_result |
The result of the get operation when the returned type is integer
| const void* qdb_operation_t::original_content |
A pointer to the buffer containing the result of the blob operation, if any. This buffer is API-allocated and will be freed by a call to qdb_release
A pointer to the buffer containing the result of the blob operation This buffer is API-allocated and will be freed by a call to qdb_release
| const char* qdb_operation_t::original_content |
A pointer to the buffer containing the result of the blob operation, if any. This buffer is API-allocated and will be freed by a call to qdb_release
A pointer to the buffer containing the result of the blob operation This buffer is API-allocated and will be freed by a call to qdb_release
| qdb_int_t qdb_operation_t::result |
The result of the integer get operation.
A signed 64-bit integer representing the result of the operation
| double qdb_operation_t::result |
The result of the double get operation.
A 64-bit floating-point representing the result of the operation
| qdb_timespec_t qdb_operation_t::result |
The result of the double get operation.
A timestamp representing the result of the operation.
| const char* qdb_operation_t::tag |
A pointer to a null-terminated UTF-8 string representing the tag to test for existence
| qdb_timespec_t qdb_operation_t::timestamp_result |
The result of the get operation when the returned type is timestap
| qdb_entry_type_t qdb_operation_t::type |
The result of the get entry type operation.
The type of the entry returned by the get value operation.