|
cl_rv | citrusleaf_async_delete_digest (cl_cluster *asc, const char *ns, const cf_digest *digest, const cl_write_parameters *cl_w_p, void *udata) |
|
cl_rv | citrusleaf_async_put (cl_cluster *asc, const char *ns, const char *set, const cl_object *key, const cl_bin *bins, int n_bins, const cl_write_parameters *cl_w_p, uint64_t trid, void *udata) |
|
cl_rv | citrusleaf_async_put_digest (cl_cluster *asc, const char *ns, const cf_digest *d, char *setname, const cl_bin *bins, int n_bins, const cl_write_parameters *cl_w_p, uint64_t trid, void *udata) |
|
cl_rvclient | citrusleaf_check_cluster_health (cl_cluster *asc) |
|
cl_rv | citrusleaf_delete (cl_cluster *asc, const char *ns, const char *set, const cl_object *key, const cl_write_parameters *cl_w_p) |
|
cl_rv | citrusleaf_delete_digest (cl_cluster *asc, const char *ns, const cf_digest *d, const cl_write_parameters *cl_w_p) |
|
cl_rv | citrusleaf_exists_digest (cl_cluster *asc, const char *ns, const cf_digest *d, cl_bin *bins, int n_bins, int timeout_ms, uint32_t *cl_gen, uint32_t *cl_ttl) |
|
cl_rv | citrusleaf_exists_key (cl_cluster *asc, const char *ns, const char *set, const cl_object *key, cl_bin *bins, int n_bins, int timeout_ms, uint32_t *cl_gen, uint32_t *cl_ttl) |
|
cl_rv | citrusleaf_get (cl_cluster *asc, const char *ns, const char *set, const cl_object *key, cl_bin *bins, int n_bins, int timeout_ms, uint32_t *cl_gen, uint32_t *cl_ttl) |
|
cl_rv | citrusleaf_get_all (cl_cluster *asc, const char *ns, const char *set, const cl_object *key, cl_bin **bins, int *n_bins, int timeout_ms, uint32_t *cl_gen, uint32_t *cl_ttl) |
|
cl_rv | citrusleaf_get_all_digest (cl_cluster *asc, const char *ns, const cf_digest *d, cl_bin **bins, int *n_bins, int timeout_ms, uint32_t *cl_gen, uint32_t *cl_ttl) |
|
cl_rv | citrusleaf_get_all_digest_getsetname (cl_cluster *asc, const char *ns, const cf_digest *d, cl_bin **bins, int *n_bins, int timeout_ms, uint32_t *cl_gen, char **setname, uint32_t *cl_ttl) |
|
cl_rv | citrusleaf_get_digest (cl_cluster *asc, const char *ns, const cf_digest *d, cl_bin *bins, int n_bins, int timeout_ms, uint32_t *cl_gen, uint32_t *cl_ttl) |
|
cl_rv | citrusleaf_put (cl_cluster *asc, const char *ns, const char *set, const cl_object *key, const cl_bin *bins, int n_bins, const cl_write_parameters *cl_w_p) |
|
cl_rv | citrusleaf_put_digest (cl_cluster *asc, const char *ns, const cf_digest *d, const cl_bin *bins, int n_bins, const cl_write_parameters *cl_w_p) |
|
cl_rv | citrusleaf_put_digest_with_setname (cl_cluster *asc, const char *ns, const char *set, const cf_digest *d, const cl_bin *bins, int n_bins, const cl_write_parameters *cl_w_p) |
|
cl_rv | citrusleaf_restore (cl_cluster *asc, const char *ns, const cf_digest *digest, const char *set, const cl_bin *values, int n_values, const cl_write_parameters *cl_w_p) |
|
cl_rv citrusleaf_get_all |
( |
cl_cluster * |
asc, |
|
|
const char * |
ns, |
|
|
const char * |
set, |
|
|
const cl_object * |
key, |
|
|
cl_bin ** |
bins, |
|
|
int * |
n_bins, |
|
|
int |
timeout_ms, |
|
|
uint32_t * |
cl_gen, |
|
|
uint32_t * |
cl_ttl |
|
) |
| |
get-all will malloc an array of values and return all current values for a row. thus, it is SELECT * in SQL. So pass in a pointer to cl_value to be filled, and a pointer-to-int to know how many.
The memory contract with get_all is that the bins pointer (*bins) must be freed by the caller. The data you've actually retrieved (cl_object->u.str ; cl->object->u.blob) has been allocated using malloc. You may use it for your own purposes, transfer it to another program, or you must free it. citrusleaf_object_free() will free the internal memory in these cases, or you can call citrusleaf_bins_free and it will take care of all memory.
Note this is different from getting a specific set of bins, where the bin array was passed in. (the simple 'get') See that call for information there.