anchor.diff:  % because there is no cow-value for this key in the snapshot db. the "live" value is valid for both!
   -spec test_rdht_tx_read_commit_with_snap_2(any()) -> ok.
   test_rdht_tx_read_commit_with_snap_2(_) ->
  -    Db = ?TEST_DB:init_snapshot(?TEST_DB:new()),
  -    EntryKey = db_entry:new(?KEY("key"), ?VALUE("val"), 1),
  -    NewDb = ?TEST_DB:set_entry(Db, db_entry:inc_readlock(EntryKey)),
  +    Db = ?DB:init_snapshot(?DB:new()),
  +    EntryKey = db_entry:new(?KEY("key"), ?VALUE("val"), 1),
  +    NewDb = ?DB:set_entry(Db, db_entry:inc_readlock(EntryKey)),
       TLogEntry = tx_tlog:new_entry(?read, ?KEY("key"), 1, ?ok, 1, ?value, ?VALUE("val")),
       CommitDb = rdht_tx_read:commit(NewDb, TLogEntry, ?prepared, 1, 2),
  -    ?equals(?TEST_DB:get_snapshot_entry(CommitDb, ?KEY("key")),
  +    ?equals(?DB:get_snapshot_entry(CommitDb, ?KEY("key")),
               {false, db_entry:new(?KEY("key"))}), % no entry in snap db
  -    ?equals(?TEST_DB:get_entry2(CommitDb, ?KEY("key")),
  +    ?equals(?DB:get_entry2(CommitDb, ?KEY("key")),
               {true, EntryKey}), % no readlocks in live db
       ok.
   
   % "new" transaction -> changes only on live db, snapshot db remains untouched
   -spec test_rdht_tx_read_commit_without_snap(any()) -> ok.
   test_rdht_tx_read_commit_without_snap(_) ->
  -    Db = ?TEST_DB:init_snapshot(?TEST_DB:new()),
  +    Db = ?DB:init_snapshot(?DB:new()),
       EntryKey = db_entry:new(?KEY("key"), ?VALUE("val"), 1),
       EntryKey_RL = db_entry:inc_readlock(EntryKey),
  -    TmpDb = ?TEST_DB:set_entry(Db, EntryKey_RL),
  -    NewDb = ?TEST_DB:set_snapshot_entry(TmpDb, EntryKey_RL),
  +    TmpDb = ?DB:set_entry(Db, EntryKey_RL),
  +    NewDb = ?DB:set_snapshot_entry(TmpDb, EntryKey_RL),
       TLogEntry = tx_tlog:new_entry(?read, ?KEY("key"), 1, ?ok, 2, ?value, ?VALUE("val")),
       CommitDb = rdht_tx_read:commit(NewDb, TLogEntry, ?prepared, 2, 2),
  -    ?equals(?TEST_DB:get_snapshot_entry(CommitDb, ?KEY("key")),
  +    ?equals(?DB:get_snapshot_entry(CommitDb, ?KEY("key")),
               {true, EntryKey_RL}), % readlock in snap db
  -    ?equals(?TEST_DB:get_entry2(CommitDb, ?KEY("key")),
  +    ?equals(?DB:get_entry2(CommitDb, ?KEY("key")),
               {true, EntryKey}), % no readlocks in live db
       ok.
   
  
positive.code: % snapshot number in entry equals local number -> prepared
  -spec test_rdht_tx_read_validate_should_prepare(any()) -> ok.
  test_rdht_tx_read_validate_should_prepare(_) ->
      Db = ?TEST_DB:init_snapshot(?TEST_DB:new()),
      Db = ?TEST_DB:set_entry(Db, db_entry:new(?KEY("key"), ?VALUE("val"), 1)),
      TLogEntry = tx_tlog:new_entry(?read, ?KEY("key"), 1, ?ok, 4711, ?value, ?VALUE("new_val")),
      {_NewDb, Vote} = rdht_tx_read:validate(Db, 4711, TLogEntry),
      ?equals(Vote, ?prepared),
  
negative.code: 
  -spec test_lock_counting_on_live_db(any()) -> ok.
  test_lock_counting_on_live_db(_) ->
      Db = ?DB:new(),
      EntryFoo = db_entry:new(?KEY("foo"), ?VALUE("bar"), 0),
      EntryFoo_WL = db_entry:set_writelock(EntryFoo, 1),
      NewDB = {_, _, {_, LiveLC, _SnapLC}} = ?DB:set_entry(Db, EntryFoo_WL),
      ?equals(LiveLC, 1),
      {_, _, {_, NewLiveLC, _}} = ?DB:set_entry(NewDB, EntryFoo),
      ?equals(NewLiveLC, 0),
      ok.
      
  