|
Volksdata 1.0b7
RDF library
|
Generic store dependency. More...


Go to the source code of this file.
Data Structures | |
| struct | VOLK_Store |
| Store structure. More... | |
Macros | |
| #define | BACKEND_TBL |
| #define | ENTRY(a, b) |
| #define | VOLK_store_update_ctx(store, ...) |
| #define | VOLK_store_add_init(store, ...) |
| Non-transactional version of VOLK_store_add_init_txn(). | |
| #define | VOLK_store_add_term(store, ...) |
| Non-transactional version of VOLK_store_add_term_txn(). | |
| #define | VOLK_store_lookup(store, ...) |
| Non-transactional version of VOLK_store_lookup_txn(). | |
| #define | VOLK_store_remove(store, ...) |
| Non-transactional version of VOLK_store_remove_txn(). | |
| #define | VOLK_store_ctx_list(store) |
| Non-transactional version of VOLK_store_ctx_list_txn(). | |
Enumerations | |
| enum | VOLK_StoreType { BACKEND_TBL } |
| Store types. All prefixed with VOLK_STORE_. More... | |
Functions | |
| const VOLK_StoreInt * | VOLK_store_int (VOLK_StoreType type) |
| Return store interface for a specific type. | |
| const char * | VOLK_store_type_label (VOLK_StoreType type) |
| Return the store type label. | |
| VOLK_Store * | VOLK_store_new (const VOLK_StoreType store_type, const char *store_id, size_t size, bool clear) |
| Create a new store. | |
| void | VOLK_store_free (VOLK_Store *store) |
| Free a store created with VOLK_store_new(). | |
| size_t | VOLK_store_size (const VOLK_Store *store) |
| Store size in triples. | |
| VOLK_StoreFeature | VOLK_store_features (const VOLK_Store *store) |
| Feature flags belonging to the store interface. | |
| char * | VOLK_store_id (const VOLK_Store *store) |
| Store identifier. | |
| VOLK_rc | VOLK_store_begin (VOLK_Store *store, int flags, void **txn) |
| Begin a transaction. | |
| VOLK_rc | VOLK_store_commit (VOLK_Store *store, void *txn) |
| Commit a transaction. | |
| void | VOLK_store_abort (VOLK_Store *store, void *txn) |
| Abort (roll back) a transaction. | |
| VOLK_rc | VOLK_store_update_ctx_txn (VOLK_Store *store, void *txn, const VOLK_Buffer *old_c, const VOLK_Buffer *new_c) |
| Update the context of triples in a context-aware store. | |
| void * | VOLK_store_add_init_txn (VOLK_Store *store, void *txn, const VOLK_Buffer *sc) |
| Initialize bulk triple load. | |
| VOLK_rc | VOLK_store_add_iter (VOLK_Store *store, void *it, const VOLK_BufferTriple *sspo) |
| Add one triple into the store. | |
| void | VOLK_store_add_abort (VOLK_Store *store, void *it) |
| Abort an add loop and free iterator. | |
| VOLK_rc | VOLK_store_add_done (VOLK_Store *store, void *it) |
| Finalize an add loop and free iterator. | |
| VOLK_rc | VOLK_store_add_term_txn (VOLK_Store *store, void *txn, VOLK_Buffer *sterm) |
| Add a single term to the store. | |
| void * | VOLK_store_lookup_txn (const VOLK_Store *store, void *txn, const VOLK_Buffer *ss, const VOLK_Buffer *sp, const VOLK_Buffer *so, const VOLK_Buffer *sc, size_t *ct) |
| Look up triples by pattern matching. | |
| VOLK_rc | VOLK_store_iter_next (VOLK_Store *store, void *it, VOLK_BufferTriple *sspo, VOLK_Buffer **ctx) |
| Yield the matching triples and advance the iterator. | |
| void | VOLK_store_iter_free (VOLK_Store *store, void *it) |
| Free an iterator allocated by a lookup. | |
| void * | VOLK_store_iter_txn (const VOLK_Store *store, void *it) |
| Get iterator active transaction handle. | |
| VOLK_rc | VOLK_store_remove_txn (VOLK_Store *store, void *txn, const VOLK_Buffer *ss, const VOLK_Buffer *sp, const VOLK_Buffer *so, const VOLK_Buffer *sc, size_t *ct) |
| Delete triples by pattern matching. | |
| VOLK_Buffer ** | VOLK_store_ctx_list_txn (VOLK_Store *store, void *txn) |
| get index of all graph (context) URIs in a store. | |
Generic store dependency.
This code allows to use the store interface with any supported back end without any knowledge of the back end implementations. Code using the store interface need only include this file.
New store implementations should be added to this file as #includes as well as entries in the BACKEND_TBL macro.
Definition in file store.h.