X-Git-Url: https://pd.if.org/git/?p=nbds;a=blobdiff_plain;f=include%2Ftxn.h;h=34a385758271dc1f8d6fd28ae784913f3ca153d2;hp=b2d6a1027cbd2d5a1591bc0fd6bf1c20a379be4a;hb=2cce67f0002cdb6dcdc2ab8ccf837e3d2b3336de;hpb=7378edffa5751159d35eab31eceb76a1f16231d0 diff --git a/include/txn.h b/include/txn.h index b2d6a10..34a3857 100644 --- a/include/txn.h +++ b/include/txn.h @@ -7,17 +7,17 @@ #include "map.h" -typedef enum { TXN_READ_WRITE, TXN_READ_ONLY, TXN_BLIND_WRITE } txn_access_e; -typedef enum { TXN_REPEATABLE_READ, TXN_READ_COMMITTED, TXN_DIRTY_READ } txn_isolation_e; typedef enum { TXN_RUNNING, TXN_VALIDATING, TXN_VALIDATED, TXN_ABORTED } txn_state_e; typedef struct txn txn_t; -txn_t * txn_begin (txn_access_e access, txn_isolation_e isolation, map_t *map); +void txn_init (void); + +txn_t * txn_begin (map_t *map); void txn_abort (txn_t *txn); txn_state_e txn_commit (txn_t *txn); -uint64_t tm_get (txn_t *txn, const char *key, uint32_t key_len); -void tm_set (txn_t *txn, const char *key, uint32_t key_len, uint64_t value); +uint64_t txn_map_get (txn_t *txn, map_key_t key); +void txn_map_set (txn_t *txn, map_key_t key, map_val_t value); #endif//TXN_H