anchor.diff:      set_entry_(State, Entry).
   
   %% @doc Removes all values with the given entry's key from the DB.
  -delete_entry_(State = {DB, _Subscr}, Entry) ->
  +delete_entry_(State, Entry) ->
       Key = db_entry:get_key(Entry),
  +    delete_entry_at_key(State, Key).
  +
  +delete_entry_at_key(State = {DB, _Subscr}, Key) ->
       ets:delete(DB, Key),
       call_subscribers(State, {delete, Key}),
       State.
  
positive.code: -type db_t() :: {Table::tid() | atom(), SubscrTable::tid() | atom()}.
  
  % TODO: move these functions to the behaviour and implement them in the other DBs!
  -export([get_chunk/3, delete_chunk/3, get_split_key/4]).
  
  % Note: must include db_beh.hrl AFTER the type definitions for erlang < R13B04
  % to work.
  
negative.code: %%      ""wrapping around", i.e. its begin is larger than its end.
  %%      Returns the chunk and the remaining interval for which the DB may still
  %%      have data (a subset of I).
  %%      Precond: Interval is a subset of the range of the dht_node and continuous!
  -spec get_chunk(DB::db(), Interval::intervals:interval(), ChunkSize::pos_integer() | all)
          -> {intervals:interval(), db_as_list()}.
  get_chunk(DB, Interval, ChunkSize) ->
      get_chunk_(DB, Interval, fun(_) -> true end, fun(E) -> E end, ChunkSize).
  
  %% @doc Returns all ValueFun(DBEntry) objects of the given DB which are in the
  %%      given interval and satisfy FilterFun but at most ChunkSize elements.
  %%      See get_chunk/3 for more details.
  -spec get_chunk(DB::db(), Interval::intervals:interval(),
                  FilterFun::fun((db_entry:entry()) -> boolean()),
                  ValueFun::fun((db_entry:entry()) -> V), ChunkSize::pos_integer() | all)
          -> {intervals:interval(), [V]}.
  get_chunk(DB, Interval, FilterFun, ValueFun, ChunkSize) ->
      get_chunk_(DB, Interval, FilterFun, ValueFun, ChunkSize).
  
  -spec get_chunk_(DB::db_t(), Interval::intervals:interval(),
                   FilterFun::fun((db_entry:entry()) -> boolean()),
                   ValueFun::fun((db_entry:entry()) -> V), ChunkSize::pos_integer() | all) ->
      {intervals:interval(), [V]}.
  get_chunk_(DB, Interval, FilterFun, ValueFun, all) ->
      get_chunk_(DB, Interval, FilterFun, ValueFun, get_load_(DB));
  get_chunk_({ETSDB, _Subscr} = DB, Interval, FilterFun, ValueFun, ChunkSize) ->
      % assert ChunkSize > 0, see ChunkSize type
      case get_load_(DB) of
          0 -> {intervals:empty(), []};
  