return ldb_err;
}
+
+static bool lmdb_transaction_active(struct ltdb_private *ltdb)
+{
+ return ltdb->lmdb_private->txlist != NULL;
+}
+
static MDB_txn *lmdb_trans_get_tx(struct lmdb_trans *ltx)
{
if (ltx == NULL) {
return true;
}
-
static struct kv_db_ops lmdb_key_value_ops = {
- .store = lmdb_store,
- .delete = lmdb_delete,
- .iterate = lmdb_traverse_fn,
- .update_in_iterate = lmdb_update_in_iterate,
- .fetch_and_parse = lmdb_parse_record,
- .lock_read = lmdb_lock_read,
- .unlock_read = lmdb_unlock_read,
- .begin_write = lmdb_transaction_start,
- .prepare_write = lmdb_transaction_prepare_commit,
- .finish_write = lmdb_transaction_commit,
- .abort_write = lmdb_transaction_cancel,
- .error = lmdb_error,
- .errorstr = lmdb_errorstr,
- .name = lmdb_name,
- .has_changed = lmdb_changed,
+ .store = lmdb_store,
+ .delete = lmdb_delete,
+ .iterate = lmdb_traverse_fn,
+ .update_in_iterate = lmdb_update_in_iterate,
+ .fetch_and_parse = lmdb_parse_record,
+ .lock_read = lmdb_lock_read,
+ .unlock_read = lmdb_unlock_read,
+ .begin_write = lmdb_transaction_start,
+ .prepare_write = lmdb_transaction_prepare_commit,
+ .finish_write = lmdb_transaction_commit,
+ .abort_write = lmdb_transaction_cancel,
+ .error = lmdb_error,
+ .errorstr = lmdb_errorstr,
+ .name = lmdb_name,
+ .has_changed = lmdb_changed,
+ .transaction_active = lmdb_transaction_active,
};
static const char *lmdb_get_path(const char *url)