123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199 |
- #ifndef _LSUP_STORE_MDB_H
- #define _LSUP_STORE_MDB_H
- #include "lmdb.h"
- #include "triple.h"
- typedef char DbLabel[8];
- typedef struct MDBStore LSUP_MDBStore;
- typedef struct MDBIterator LSUP_MDBIterator;
- typedef LSUP_rc (*store_match_fn_t)(const LSUP_TripleKey spok, void *data);
- LSUP_rc LSUP_store_setup(char **path);
- LSUP_MDBStore *
- LSUP_store_new(const char *path, const LSUP_Buffer *default_ctx);
- void LSUP_store_free(LSUP_MDBStore *store);
- LSUP_rc LSUP_store_stats(LSUP_MDBStore *store);
- size_t LSUP_store_size(LSUP_MDBStore *store);
- LSUP_rc LSUP_store_add(
- struct MDBStore *store, const LSUP_Buffer *sc,
- const LSUP_SerTriple *data, const size_t data_size);
- LSUP_rc LSUP_store_lookup(
- LSUP_MDBStore *store, LSUP_SerTerm *sspoc[],
- LSUP_MDBIterator **it, size_t *ct);
- LSUP_rc LSUP_store_it_next(LSUP_MDBIterator *it, LSUP_SerTerm **sspo);
- void LSUP_store_it_free(struct MDBIterator *it);
- LSUP_rc LSUP_store_triple_contexts(
- LSUP_MDBStore *store, LSUP_Key spok[], LSUP_Key **ck, size_t *ct);
- #endif
|