quasardb C API
Loading...
Searching...
No Matches
Data Fields
qdb_operation_t Struct Reference

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.
 

Detailed Description

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.

Field Documentation

◆ alias

const char* qdb_operation_t::alias

A pointer to a null-terminated UTF-8 string representing the alias of the entry.

◆ blob_content

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

◆ bytes_trimmed

qdb_uint_t qdb_operation_t::bytes_trimmed

The result of the trimming operation - number of bytes trimmed

◆ comparand_offset

qdb_size_t qdb_operation_t::comparand_offset

Optional offset for the comparand. Leave to 0 if not needed.

◆ content [1/2]

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

◆ content [2/2]

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

◆ content_offset

qdb_size_t qdb_operation_t::content_offset

Optional offset from which the content should be returned. Leave to 0 if not needed.

◆ double_result

double qdb_operation_t::double_result

The result of the get operation when the returned type is double

◆ error

qdb_error_t qdb_operation_t::error

A qdb_error_t code indicating success or failure after the operation has been executed

◆ expiry_time

qdb_time_t qdb_operation_t::expiry_time

The optional expiration time. Use qdb_never_expires for no expiration.

◆ int_result

qdb_int_t qdb_operation_t::int_result

The result of the get operation when the returned type is integer

◆ original_content [1/2]

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

◆ original_content [2/2]

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

◆ result [1/3]

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

◆ result [2/3]

double qdb_operation_t::result

The result of the double get operation.

A 64-bit floating-point representing the result of the operation

◆ result [3/3]

qdb_timespec_t qdb_operation_t::result

The result of the double get operation.

A timestamp representing the result of the operation.

◆ tag

const char* qdb_operation_t::tag

A pointer to a null-terminated UTF-8 string representing the tag to test for existence

◆ timestamp_result

qdb_timespec_t qdb_operation_t::timestamp_result

The result of the get operation when the returned type is timestap

◆ type

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.


The documentation for this struct was generated from the following file: