cctools
|
An nvpair database maintains a list of name-value pair objects (see nvpair.h), each identified by a unique integer key. More...
Go to the source code of this file.
Functions | |
struct nvpair_database * | nvpair_database_open (const char *filename) |
Open or create a new database at the given filename. | |
void | nvpair_database_close (struct nvpair_database *db) |
Close an open database. | |
int | nvpair_database_insert (struct nvpair_database *db, UINT64_T *key, struct nvpair *nv) |
Insert a new object into the database. | |
struct nvpair * | nvpair_database_remove (struct nvpair_database *db, UINT64_T key) |
Remove an object from the database. | |
struct nvpair * | nvpair_database_lookup (struct nvpair_database *db, UINT64_T key) |
Look up an object in the database. | |
int | nvpair_database_update_string (struct nvpair_database *db, UINT64_T key, const char *name, const char *value) |
Update a string property of one object in the database. | |
int | nvpair_database_update_integer (struct nvpair_database *db, UINT64_T key, const char *name, INT64_T value) |
Update an integer property of one object in the database. | |
const char * | nvpair_database_lookup_string (struct nvpair_database *db, UINT64_T key, const char *name) |
Look up a string property of one object in the database. | |
INT64_T | nvpair_database_lookup_integer (struct nvpair_database *db, UINT64_T key, const char *name) |
Look up an integer property of one object in the database. | |
void | nvpair_database_firstkey (struct nvpair_database *db) |
Begin iterating over the database. | |
int | nvpair_database_nextkey (struct nvpair_database *db, UINT64_T *key, struct nvpair **nv) |
Continue iterating over the database. |
An nvpair database maintains a list of name-value pair objects (see nvpair.h), each identified by a unique integer key.
The database is stored in a single file and uses logging to implement atomic transactions and crash recovery. This module is appropriate to use in situations where a relational database is not appropriate because the data is small and schema-free. In the even of a write error, the current process will be aborted, but the database will remain in a consistent state.
|
read |
Open or create a new database at the given filename.
filename | The name of the file to use. |
void nvpair_database_close | ( | struct nvpair_database * | db | ) |
Close an open database.
db | An open database pointer. |
int nvpair_database_insert | ( | struct nvpair_database * | db, |
UINT64_T * | key, | ||
struct nvpair * | nv | ||
) |
Insert a new object into the database.
db | An open database pointer. |
key | A pointer to the key of the newly inserted object. |
nv | A pointer to the object to be inserted. |
|
read |
Remove an object from the database.
db | An open database pointer. |
key | The unique key of the object. |
|
read |
Look up an object in the database.
db | An open database pointer. |
key | The unique key of the object. |
int nvpair_database_update_string | ( | struct nvpair_database * | db, |
UINT64_T | key, | ||
const char * | name, | ||
const char * | value | ||
) |
Update a string property of one object in the database.
db | An open database pointer. |
key | The key of the object to update. |
name | The name of the property to update. |
value | The value of the property to update. |
int nvpair_database_update_integer | ( | struct nvpair_database * | db, |
UINT64_T | key, | ||
const char * | name, | ||
INT64_T | value | ||
) |
Update an integer property of one object in the database.
db | An open database pointer. |
key | The key of the object to update. |
name | The name of the property to update. |
value | The value of the property to update. |
const char* nvpair_database_lookup_string | ( | struct nvpair_database * | db, |
UINT64_T | key, | ||
const char * | name | ||
) |
Look up a string property of one object in the database.
db | An open database pointer. |
key | The key of the object to look up. |
name | The name of the property to look up. |
INT64_T nvpair_database_lookup_integer | ( | struct nvpair_database * | db, |
UINT64_T | key, | ||
const char * | name | ||
) |
Look up an integer property of one object in the database.
db | An open database pointer. |
key | The key of the object to look up. |
name | The name of the property to look up. |
void nvpair_database_firstkey | ( | struct nvpair_database * | db | ) |
Begin iterating over the database.
db | An open database pointer. |
int nvpair_database_nextkey | ( | struct nvpair_database * | db, |
UINT64_T * | key, | ||
struct nvpair ** | nv | ||
) |
Continue iterating over the database.
db | An open database pointer. |
key | A pointer to the next key. |
nv | A pointer to the next object. |