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 { | |
tag_update_attach_t has_tag | |
Has 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. | |
tag_update_attach_t tag_update | |
Tag update specific operation parameters. | |
tag_update_attach_t tag_attach | |
Tag attach specific operation parameters. | |
tag_update_attach_t tag_detach | |
Tag detach 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.
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.