base_lmdb_store.pxd 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. from lakesuperior.cy_include cimport cylmdb as lmdb
  2. cdef:
  3. int rc
  4. size_t i
  5. lmdb.MDB_val key_v, data_v
  6. lmdb.MDB_dbi dbi
  7. void _check(int rc, str message=*) except *
  8. cdef class BaseLmdbStore:
  9. cdef:
  10. readonly bint is_txn_open
  11. public bint _open
  12. unsigned int _readers
  13. readonly str env_path
  14. lmdb.MDB_dbi *dbis
  15. lmdb.MDB_env *dbenv
  16. lmdb.MDB_txn *txn
  17. lmdb.MDB_cursor **curs
  18. void _clear_stale_readers(self) except *
  19. void _cur_close(self, lmdb.MDB_cursor *cur) except *
  20. void _init_dbis(self, create=*) except *
  21. void _txn_begin(self, write=*, lmdb.MDB_txn *parent=*) except *
  22. void _txn_commit(self) except *
  23. void _txn_abort(self) except *
  24. inline bint _key_exists(
  25. self, unsigned char *key, unsigned char klen,
  26. unsigned char *dblabel=*) except -1
  27. size_t _txn_id(self) except -1
  28. lmdb.MDB_cursor *_cur_open(
  29. self, unsigned char *dblabel=*, lmdb.MDB_txn *txn=*) except *
  30. lmdb.MDB_dbi get_dbi(
  31. self, unsigned char *dblabel=*, lmdb.MDB_txn *txn=*)
  32. void _put(
  33. self, unsigned char *key, size_t key_size, unsigned char *data,
  34. size_t data_size, unsigned char *dblabel=*,
  35. lmdb.MDB_txn *txn=*, unsigned int flags=*) except *
  36. void _get_data(
  37. self, unsigned char *key, size_t klen, lmdb.MDB_val *rv,
  38. unsigned char *dblabel=*) except *
  39. void _delete(
  40. self, unsigned char *key, size_t klen,
  41. unsigned char *dblabel=*) except *
  42. dict _stats(self)
  43. #int _reader_list_callback(self, const unsigned char *msg, void *str_)
  44. cpdef void close_env(self, bint commit_pending_transaction=*) except *
  45. cpdef void destroy(self, _path=*) except *
  46. #cpdef get_dup_data(self, unsigned char *key, db=*)
  47. #cpdef get_all_pairs(self, db=*)
  48. cpdef bytes get_data(self, key, dblabel=*)
  49. cpdef dict stats(self, new_txn=*)
  50. cpdef int txn_id(self)
  51. #cpdef str reader_list(self)