Volksdata 1.0b7
RDF library
Loading...
Searching...
No Matches
store.h File Reference

Generic store dependency. More...

Include dependency graph for store.h:
This graph shows which files directly or indirectly include this file:

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_StoreIntVOLK_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_StoreVOLK_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.

Detailed Description

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.

Macro Definition Documentation

◆ ENTRY

#define ENTRY ( a,
b )
Value:
VOLK_STORE_##a,

Definition at line 40 of file store.h.