base_lmdb_store.pxd 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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. readonly bint is_txn_rw
  12. public bint _open
  13. unsigned int _readers
  14. readonly str env_path
  15. lmdb.MDB_dbi *dbis
  16. lmdb.MDB_env *dbenv
  17. lmdb.MDB_txn *txn
  18. lmdb.MDB_cursor **curs
  19. void _clear_stale_readers(self) except *
  20. void _cur_close(self, lmdb.MDB_cursor *cur) except *
  21. void _init_dbis(self, create=*) except *
  22. void _txn_begin(self, write=*, lmdb.MDB_txn *parent=*) except *
  23. void _txn_commit(self) except *
  24. void _txn_abort(self) except *
  25. inline bint _key_exists(
  26. self, unsigned char *key, unsigned char klen,
  27. unsigned char *dblabel=*) except -1
  28. size_t _txn_id(self) except -1
  29. lmdb.MDB_cursor *_cur_open(
  30. self, unsigned char *dblabel=*, lmdb.MDB_txn *txn=*) except *
  31. lmdb.MDB_dbi get_dbi(
  32. self, unsigned char *dblabel=*, lmdb.MDB_txn *txn=*)
  33. void _put(
  34. self, unsigned char *key, size_t key_size, unsigned char *data,
  35. size_t data_size, unsigned char *dblabel=*,
  36. lmdb.MDB_txn *txn=*, unsigned int flags=*) except *
  37. void _get_data(
  38. self, unsigned char *key, size_t klen, lmdb.MDB_val *rv,
  39. unsigned char *dblabel=*) except *
  40. void _delete(
  41. self, unsigned char *key, size_t klen,
  42. unsigned char *dblabel=*) except *
  43. dict _stats(self)
  44. #int _reader_list_callback(self, const unsigned char *msg, void *str_)
  45. cpdef void close_env(self, bint commit_pending_transaction=*) except *
  46. cpdef void destroy(self, _path=*) except *
  47. #cpdef get_dup_data(self, unsigned char *key, db=*)
  48. #cpdef get_all_pairs(self, db=*)
  49. cpdef bytes get_data(self, key, dblabel=*)
  50. cpdef dict stats(self)
  51. cpdef int txn_id(self)
  52. #cpdef str reader_list(self)