summaryrefslogtreecommitdiff |
diff options
author | nsensfel <SpamShield0@noot-noot.org> | 2018-06-07 12:47:34 +0200 |
---|---|---|
committer | nsensfel <SpamShield0@noot-noot.org> | 2018-06-07 12:47:34 +0200 |
commit | 9b55ecea81edbc12196a5818077fd38421f8f1a8 (patch) | |
tree | c6d590615695cacbb5a2a3f21fe20639292d134e /src/db | |
parent | d99f1e8b0efedf1286ab15c656a0ea874823865f (diff) |
Now it seems to work perfectly.
Getting both nodes to start made some unexpected issues about the
hostnames appear, despite both using either "-name" or "-sname".
Diffstat (limited to 'src/db')
-rw-r--r-- | src/db/logic/db_access.erl | 16 | ||||
-rw-r--r-- | src/db/struct/db_model.erl | 5 |
2 files changed, 20 insertions, 1 deletions
diff --git a/src/db/logic/db_access.erl b/src/db/logic/db_access.erl index f589ba8..99d17ea 100644 --- a/src/db/logic/db_access.erl +++ b/src/db/logic/db_access.erl @@ -18,12 +18,22 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-spec get_value (list(sh_db_item:type())) -> ({'ok', any()} | 'not_found'). get_value ([]) -> not_found; get_value ([Regval]) -> {ok, sh_db_item:get_value(Regval)}. +-spec read_transaction (atom(), any()) -> ({'ok', any()} | 'not_found'). read_transaction (DB, ID) -> get_value(mnesia:read(DB, ID)). +-spec insert_transaction + ( + atom(), + any(), + sh_db_user:permission(), + any() + ) + -> 'ok'. insert_transaction (DB, ID, Perm, Value) -> StoredItem = sh_db_item:new(ID, Perm, Value), % FIXME: handle return value, mnesia:write -> (transaction abort | ok). @@ -31,6 +41,7 @@ insert_transaction (DB, ID, Perm, Value) -> mnesia:write(DB, StoredItem, sticky_write), ok. +-spec query_transaction (sh_db_query:type()) -> 'ok'. query_transaction (Query) -> DB = sh_db_query:get_database(Query), ID = sh_db_query:get_entry_id(Query), @@ -44,11 +55,16 @@ query_transaction (Query) -> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-spec read (atom(), any()) + -> ({'aborted', any()} | {'atomic', ({'ok', any()} | 'not_found')}). read (DB, ID) -> mnesia:transaction(fun read_transaction/2, [DB, ID]). +-spec insert (atom(), any(), sh_db_user:permission(), any()) + -> ({'aborted', any()} | {'atomic', 'ok'}). insert (DB, ID, Perm, Value) -> mnesia:transaction(fun insert_transaction/4, [DB, ID, Perm, Value]). +-spec query (sh_db_query:type()) -> ({'aborted', any()} | {'atomic', 'ok'}). query (Query) -> mnesia:transaction(fun query_transaction/1, [Query]). diff --git a/src/db/struct/db_model.erl b/src/db/struct/db_model.erl index 8097bcb..3e00b95 100644 --- a/src/db/struct/db_model.erl +++ b/src/db/struct/db_model.erl @@ -45,6 +45,7 @@ new (DBName, StorageFile, Neighbors) -> neighbors = Neighbors }. +-spec start(type()) -> 'ok'. start (Model) -> DBName = Model#db_model.name, StorageFile = Model#db_model.store_file, @@ -68,4 +69,6 @@ start (Model) -> {type, ordered_set}, {local_content, false} ] - ). + ), + + ok. |