Copyright © 2013-2014 Zuse Institute Berlin,
Version: $Id$
Behaviours: db_backend_beh.
Authors: Jan Fajerski (fajerski@zib.de).
db() = ets:tab()
entry() = db_backend_beh:entry()
key() = db_backend_beh:key()
'$end_of_table' is not allowed as key() or else iterations won't work!
close/1 | Closes and deletes the DB named DBName. |
close_and_delete/1 | Closes and deletes the DB named DBName. |
delete/2 | Deletes the tuple saved under Key and returns the new DB. |
foldl/3 | Is equivalent to ets:foldl(Fun, Acc0, DB). |
foldl/4 | Is equivalent to foldl(DB, Fun, Acc0, Interval, get_load(DB)). |
foldl/5 | foldl iterates over DB and applies Fun(Entry, AccIn) to every element encountered in Interval. |
foldl_unordered/3 | Works similar to foldl/3 but uses ets:foldl instead of our own implementation. |
foldr/3 | Is equivalent to ets:foldr(Fun, Acc0, DB). |
foldr/4 | Is equivalent to foldr(DB, Fun, Acc0, Interval, get_load(DB)). |
foldr/5 | Behaves like foldl/5 with the difference that it starts at the end of Interval and iterates towards the start of Interval. |
get/2 | Returns the entry that corresponds to Key or {} if no such tuple exists. |
get_load/1 | Returns the current load (i.e. |
get_name/1 | Returns the name of the DB specified in new/1. |
get_persisted_tables/0 | Gets a list of persisted tables (none with ets!). |
is_available/0 | Checks for modules required for this DB backend. |
new/1 | Creates new DB handle named DBName. |
new/2 | Creates new DB handle named DBName with possibility to pass Options. |
open/1 | Open a previously existing database. |
put/2 | Saves arbitrary tuple Entry or list of tuples Entries in DB DBName and returns the new DB. |
supports_feature/1 | Returns true if the DB support a specific feature (e.g. |
tab2list/1 | Returns a list of all objects in the table Table_name. |
new(DBName :: nonempty_string()) -> db()
Creates new DB handle named DBName.
new(DBName :: nonempty_string(), Options :: [term()]) -> db()
Creates new DB handle named DBName with possibility to pass Options.
open(DBName :: nonempty_string()) -> no_return()
Open a previously existing database. Not supported by ets. A new database is created
close(DBName :: db()) -> true
Closes and deletes the DB named DBName
close_and_delete(DBName :: db()) -> true
Closes and deletes the DB named DBName
Saves arbitrary tuple Entry or list of tuples Entries in DB DBName and returns the new DB. The key is expected to be the first element of Entry.
Returns the entry that corresponds to Key or {} if no such tuple exists.
Deletes the tuple saved under Key and returns the new DB. If such a tuple does not exists nothing is changed.
get_persisted_tables() -> [nonempty_string()]
Gets a list of persisted tables (none with ets!).
get_name(DB :: db()) -> nonempty_string()
Returns the name of the DB specified in new/1.
is_available() -> boolean() | [atom()]
Checks for modules required for this DB backend. Returns true if no modules are missing, or else a list of missing modules
supports_feature(Feature :: atom()) -> boolean()
Returns true if the DB support a specific feature (e.g. recovery), false otherwise.
get_load(DB :: db()) -> non_neg_integer()
Returns the current load (i.e. number of stored tuples) of the DB.
Is equivalent to ets:foldl(Fun, Acc0, DB).
foldl(DB :: db(), Fun :: fun((Key :: key(), AccIn :: A) -> AccOut :: A), Acc0 :: A, Interval :: db_backend_beh:interval()) -> Acc1 :: A
Is equivalent to foldl(DB, Fun, Acc0, Interval, get_load(DB)).
foldl(DB :: db(), Fun :: fun((Key :: key(), AccIn :: A) -> AccOut :: A), Acc0 :: A, Intervall :: db_backend_beh:interval(), MaxNum :: non_neg_integer()) -> Acc1 :: A
foldl iterates over DB and applies Fun(Entry, AccIn) to every element encountered in Interval. On the first call AccIn == Acc0. The iteration stops as soon as MaxNum elements have been encountered.
Is equivalent to ets:foldr(Fun, Acc0, DB).
foldr(DB :: db(), Fun :: fun((Key :: key(), AccIn :: A) -> AccOut :: A), Acc0 :: A, Interval :: db_backend_beh:interval()) -> Acc1 :: A
Is equivalent to foldr(DB, Fun, Acc0, Interval, get_load(DB)).
foldr(DB :: db(), Fun :: fun((Key :: key(), AccIn :: A) -> AccOut :: A), Acc0 :: A, Interval :: db_backend_beh:interval(), MaxNum :: non_neg_integer()) -> Acc1 :: A
Behaves like foldl/5 with the difference that it starts at the end of Interval and iterates towards the start of Interval.
foldl_unordered(DB :: db(), Fun :: fun((Entry :: entry(), AccIn :: A) -> AccOut :: A), Acc0 :: A) -> Acc1 :: A
Works similar to foldl/3 but uses ets:foldl instead of our own implementation. The order in which will be iterated over is unspecified, but using this fuction might be faster than foldl/3 if it does not matter.
Returns a list of all objects in the table Table_name.
Generated by EDoc, Sep 11 2020, 15:26:02.