getItem, setItem complete. Added scripts.

This commit is contained in:
Kallfaktorn 2011-02-21 20:43:00 +01:00
parent e38bab5054
commit ee4059ac5a
6 changed files with 95 additions and 0 deletions

47
mnesia/ggs_db.erl Normal file
View file

@ -0,0 +1,47 @@
%%%%----------------------------------------------------
%%% @author Mattias Pettersson <mattiaspgames@gmail.com>
%%% @copyright 2011 Mattias Pettersson
%%% @doc Database for runtime game variable storage.
%%% @end
-module(ggs_db).
-import(mnesia).
-export([init/0,setItem/4,getItem/3]).
-include("ggs_db.hrl").
%%-----------------------------------------------------
%% Creation
%%-----------------------------------------------------
init() ->
mnesia:create_table(data, [{attributes, record_info(fields, data)}]).
%%-----------------------------------------------------
%% Test
%%-----------------------------------------------------
%test_data() ->
% set(0, "Hello"),
% get(0).
%%-----------------------------------------------------
%% Insertions
%%-----------------------------------------------------
setItem(Db,Ns,Key,Value) ->
Fun = fun() ->
Data = #data{key = {Db,Ns,Key}, value = Value},
mnesia:write(Data)
end,
mnesia:transaction(Fun).
%%-----------------------------------------------------
%% Querries
%%-----------------------------------------------------
getItem(Db,Ns,Key) ->
Fun = fun() ->
[Data] = mnesia:read(data, {Db,Ns,Key}),
Data#data.value
end,
mnesia:transaction(Fun).