![]() |
The aerospike_key_operate()
function provides the ability to execute multiple operations on a record in the database as a single atomic transaction.
The as_operations
object is used to define the operations to be performed on the record.
Before using as_operations, you must first initialize it via either:
as_operations_inita() is a macro that initializes a stack allocated as_operations and allocates an internal array of operations. The macro accepts a pointer to the stack allocated as_operations and the number of operations to be added.
as_operations_init() is a function that initializes a stack allocated as_operations. It differes from as_operations_inita() in that it allocates the internal array of operations on the heap. It accepts a pointer to the stack allocated as_operations and the number of operations to be added.
as_operations_new() is a function that will allocate a new as_operations on the heap. It will also allocate the internal array of operation on the heap.
When you no longer needthe as_operations, you can release the resources allocated to it via as_operations_destroy().
When you no longer require an as_operations, you should call as_operations_destroy()
to release it and associated resources.
as_operations is a sequence of operations to be applied to a record.
Each of the following operations is added to the end of the sequence of operations.
When you have compiled the sequence of operations you want to execute, then you will send it to aerospike_key_operate().
Aerospike allows you to append a string to a bin containing a string.
The following appends a "abc" to bin "bin1".
There is also a prepend operation, which will add the string to the beginning of the bin's current value.
Aerospike allows you to append a byte array to a bin containing a byte array.
The following appends a 4 byte sequence to bin "bin1".
There is also a prepend operation, which will add the bytes to the beginning of the bin's current value.
Aerospike allows you to increment the value of a bin
The following increments the value in bin "bin1" by 4.
Write a value into a bin. Overwriting previous value.
The following writes a string "xyz" to "bin1".
Read a value from a bin. This is ideal, if you performed an operation on a bin, and want to read the new value.
The following reads the value of "bin1"
Touching a record will refresh its ttl and increment the generation of the record.
The following touches a record.
Definition at line 277 of file src/include/aerospike/as_operations.h.
#include "as_operations.h"
Data Fields | |
as_binops | binops |
uint16_t | gen |
uint32_t | ttl |
Private Attributes | |
bool | _free |
|
related |
Add a AS_OPERATOR_APPEND
bin operation with a raw bytes value.
ops | The as_operations to append the operation to. |
name | The name of the bin to perform the operation on. |
value | The value to be used in the operation. Must last for the lifetime of the operations. |
size | The size of the value. |
Definition at line 643 of file src/include/aerospike/as_operations.h.
References as_operations_add_append_rawp().
|
related |
Add a AS_OPERATOR_APPEND
bin operation with a raw bytes value.
ops | The as_operations to append the operation to. |
name | The name of the bin to perform the operation on. |
value | The value to be used in the operation. |
size | The size of the value. |
free | If true, then the value will be freed when the operations is destroyed. |
|
related |
Add a AS_OPERATOR_APPEND
bin operation with a NULL-terminated string value.
ops | The as_operations to append the operation to. |
name | The name of the bin to perform the operation on. |
value | The value to be used in the operation. Must last for the lifetime of the operations. |
Definition at line 609 of file src/include/aerospike/as_operations.h.
References as_operations_add_append_strp().
|
related |
Add a AS_OPERATOR_APPEND
bin operation with a NULL-terminated string value.
ops | The as_operations to append the operation to. |
name | The name of the bin to perform the operation on. |
value | The value to be used in the operation. |
free | If true, then the value will be freed when the operations is destroyed. |
|
related |
Add a AS_OPERATOR_INCR
bin operation with (required) int64_t value.
ops | The as_operations to append the operation to. |
name | The name of the bin to perform the operation on. |
value | The value to be used in the operation. |
|
related |
Add a AS_OPERATOR_PREPEND
bin operation with a raw bytes value.
ops | The as_operations to append the operation to. |
name | The name of the bin to perform the operation on. |
value | The value to be used in the operation. Must last for the lifetime of the operations. |
size | The size of the value. |
Definition at line 577 of file src/include/aerospike/as_operations.h.
References as_operations_add_prepend_rawp().
|
related |
Add a AS_OPERATOR_PREPEND
bin operation with a raw bytes value.
ops | The as_operations to append the operation to. |
name | The name of the bin to perform the operation on. |
value | The value to be used in the operation. |
size | The size of the value. |
free | If true, then the value will be freed when the operations is destroyed. |
|
related |
Add a AS_OPERATOR_PREPEND
bin operation with a NULL-terminated string value.
ops | The as_operations to append the operation to. |
name | The name of the bin to perform the operation on. |
value | The value to be used in the operation. Must last for the lifetime of the operations. |
Definition at line 543 of file src/include/aerospike/as_operations.h.
References as_operations_add_prepend_strp().
|
related |
Add a AS_OPERATOR_PREPEND
bin operation with a NULL-terminated string value.
ops | The as_operations to append the operation to. |
name | The name of the bin to perform the operation on. |
value | The value to be used in the operation. |
free | If true, then the value will be freed when the operations is destroyed. |
|
related |
Add a AS_OPERATOR_READ
bin operation.
ops | The as_operations to append the operation to. |
name | The name of the bin to perform the operation on. |
|
related |
Add a AS_OPERATOR_TOUCH
record operation.
ops | The as_operations to append the operation to. |
|
related |
Add a AS_OPERATOR_WRITE
bin operation.
ops | The as_operations to append the operation to. |
name | The name of the bin to perform the operation on. |
value | The value to be used in the operation. |
|
related |
Add a AS_OPERATOR_WRITE
bin operation with an int64_t value.
ops | The as_operations to append the operation to. |
name | The name of the bin to perform the operation on. |
value | The value to be used in the operation. |
|
related |
Add a AS_OPERATOR_WRITE
bin operation with a raw bytes value.
ops | The as_operations to append the operation to. |
name | The name of the bin to perform the operation on. |
value | The value to be used in the operation. |
size | The size of the value. Must last for the lifetime of the operations. |
Definition at line 484 of file src/include/aerospike/as_operations.h.
References as_operations_add_write_rawp().
|
related |
Add a AS_OPERATOR_WRITE
bin operation with a raw bytes value.
ops | The as_operations to append the operation to. |
name | The name of the bin to perform the operation on. |
value | The value to be used in the operation. |
size | The size of the value. |
free | If true, then the value will be freed when the operations is destroyed. |
|
related |
Add a AS_OPERATOR_WRITE
bin operation with a NULL-terminated string value.
ops | The as_operations to append the operation to. |
name | The name of the bin to perform the operation on. |
value | The value to be used in the operation. Must last for the lifetime of the operations. |
Definition at line 450 of file src/include/aerospike/as_operations.h.
References as_operations_add_write_strp().
|
related |
Add a AS_OPERATOR_WRITE
bin operation with a NULL-terminated string value.
ops | The as_operations to append the operation to. |
name | The name of the bin to perform the operation on. |
value | The value to be used in the operation. |
free | If true, then the value will be freed when the operations is destroyed. |
|
related |
Destroy an as_operations
and release associated resources.
ops | The as_operations to destroy. |
|
related |
Intializes a stack allocated as_operations
.
Use as_operations_destroy()
to free the resources allocated to the as_operations
.
ops | The as_operations to initialize. |
nops | The number of as_operations.binops.entries to allocate on the heap. |
as_operations
on success. Otherwise NULL.
|
related |
Initializes a stack allocated as_operations
(as_operations) and allocates __nops
number of entries on the stack.
__ops | The as_operations * to initialize. |
__nops | The number of as_binops.entries to allocate on the stack. |
Definition at line 324 of file src/include/aerospike/as_operations.h.
|
related |
Create and initialize a heap allocated as_operations
.
Use as_operations_destroy()
to free the resources allocated to the as_operations
.
nops | The number of as_operations.binops.entries to allocate on the heap. |
as_operations
on success. Otherwise NULL.
|
private |
If true, then as_operations_destroy() will free this instance.
Definition at line 283 of file src/include/aerospike/as_operations.h.
as_binops as_operations::binops |
Operations to be performed on the bins of a record.
Definition at line 298 of file src/include/aerospike/as_operations.h.
uint16_t as_operations::gen |
The generation of the record.
Definition at line 288 of file src/include/aerospike/as_operations.h.
uint32_t as_operations::ttl |
The time-to-live (expiration) of the record in seconds.
Definition at line 293 of file src/include/aerospike/as_operations.h.