anchor.diff:  -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]).
  +-export([get_chunk/3, get_chunk/5, delete_chunk/3, get_split_key/4]).
   
   % Note: must include db_beh.hrl AFTER the type definitions for erlang < R13B04
   % to work.
  
positive.code:                     {intervals:empty(), []};
                  FirstKey ->
                      %ct:pal("first key: ~.0p~n", [FirstKey]),
                      {Next, Chunk} =
                          get_chunk_inner(DB, ets:next(ETSDB, FirstKey), FirstKey,
                                          Interval, ChunkSize - 1, [get_entry_(DB, FirstKey)]),
                      case Next of
                          '$end_of_table' ->
                              {intervals:empty(), Chunk};
  
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(), []};
  