BangDB Resource Manager Type
C++
Client API
To get instance of BangDB Resource Manager
BangDB Resource Manager (BangDBEnv *bdb);To initialize the BRS
int init_brs_meta();To create a bucket
int create_bucket(const char *bucket_info);bucket_info is the name of the bucket to be created
It returns -1 for error
To get list of buckets present in BRS
char *list_all_buckets(const char *user_info);It returns NULL for error else the list of the buckets.
Users should use delete[] the returned string
To count the number of buckets present in the BRS
long count_buckets();It returns -1 for error else the count
To delete a bucket
int delete_bucket(const char *bucket_info);It returns -1 for error else 0 or more than 0
To upload an object into a bucket
long put_object(const char *bucket_info, const char *key, const char *data, long datlen, bool force = false);Here, bucket_info is the bucket name and key is the unique name given by the user to the object to be uploaded.
It returns -1 for error else 0 or more than 0
To download an object from a bucket in BRS
long get_object(const char *bucket_info, const char *key, char **data, long *datlen);It returns -1 for error else 0 or more than 0
Users should delete or free the returned data using delete[]
To upload a file into a bucket
long put_file(const char *bucket_info, const char *key, const char *fpath, InsertOptions iop, bool force = false);
InsertOptions is an enum with following:
INSERT_UNIQUE, //if non-existing then insert else return
UPDATE_EXISTING, //if existing then update else return
INSERT_UPDATE, //insert if non-existing else update
DELETE_EXISTING, //delete if existing
UPDATE_EXISTING_INPLACE, //only for inplace update
INSERT_UPDATE_INPLACE, //only for inplace update
Please see more on this at bangdb common
INSERT_UNIQUE, //if non-existing then insert else return
UPDATE_EXISTING, //if existing then update else return
INSERT_UPDATE, //insert if non-existing else update
DELETE_EXISTING, //delete if existing
UPDATE_EXISTING_INPLACE, //only for inplace update
INSERT_UPDATE_INPLACE, //only for inplace update
Please see more on this at bangdb common
It returns -1 for error else 0 or more than 0
To download a file from a bucket to local system
long get_file(const char *bucket_info, const char *key, const char *fname, const char *fpath);Key is the unique name/id provided by user or bangdb to refre that file and fpath is the location where the file will be downloaded with fname as file name.
It returns -1 for error else 0 or more than 0
To delete an object in a bucket
int del_object(const char *bucket_info, const char *key);It returns -1 for error else 0 or more than 0
To count the number of large objects present in a bucket
int count_slices(const char *bucket_info, const char *key);It returns -1 for error else the slice count
To count current number of objects for the bucket
long count_objects(const char *bucket_info);It returns -1 for error else the slice count
To list all object present
char *list_objects(const char *bucket_info, const char *skey, int list_size_mb);It returns NULL for error or the list of objects.
Users should free the returned data using delete[]
To closed a bucket
int close_bucket(const char *bucket_info);It returns -1 for error else 0 or positive number
To closed resource manager
int close_resource_manager(CloseType closetype = DEFAULT_AT_CLIENT, bool force = false);
ClosedType is enum with following values;
DEFAULT_AT_CLIENT
CONSERVATIVE_AT_SERVER
OPTIMISTIC_AT_SERVER,
CLEANCLOSE_AT_SERVER,
SIMPLECLOSE_AT_SERVER,
DEFAULT_AT_SERVER
Please see more on this at bangdb common
DEFAULT_AT_CLIENT
CONSERVATIVE_AT_SERVER
OPTIMISTIC_AT_SERVER,
CLEANCLOSE_AT_SERVER,
SIMPLECLOSE_AT_SERVER,
DEFAULT_AT_SERVER
Please see more on this at bangdb common
It returns -1 for error or 0 or positive number