From 0590fa6ca113de9e70a92fc49485703ab42594fe Mon Sep 17 00:00:00 2001 From: Kallfaktorn Date: Wed, 26 Jan 2011 12:39:25 +0100 Subject: [PATCH] Added support for Mnesia. See gamedb_usage.txt for further instructions. --- Mnesia/gamedb.erl | 31 +++++++++++++++++++++++++++++++ Mnesia/gamedb.hrl | 6 ++++++ Mnesia/gamedb_usage.txt | 12 ++++++++++++ ebin/.GGS.app.swp | Bin 12288 -> 0 bytes src/.ggs_server.erl.swp | Bin 12288 -> 0 bytes src/.ggs_sup.erl.swp | Bin 12288 -> 0 bytes 6 files changed, 49 insertions(+) create mode 100644 Mnesia/gamedb.erl create mode 100644 Mnesia/gamedb.hrl create mode 100644 Mnesia/gamedb_usage.txt delete mode 100644 ebin/.GGS.app.swp delete mode 100644 src/.ggs_server.erl.swp delete mode 100644 src/.ggs_sup.erl.swp diff --git a/Mnesia/gamedb.erl b/Mnesia/gamedb.erl new file mode 100644 index 0000000..9d6bbbe --- /dev/null +++ b/Mnesia/gamedb.erl @@ -0,0 +1,31 @@ +%Test Mnesia +-module(gamedb). +-import(mnesia). +-export([init/0,insert_player/1,example_player/0,read_player/1,test_player/0]). +-include("gamedb.hrl"). + +init() -> + mnesia:create_table(player, [{attributes, record_info(fields, player)}]). + +test_player() -> + insert_player(example_player()), + read_player(0001). + +insert_player(Player) -> + Fun = fun() -> + mnesia:write(Player) + end, + mnesia:transaction(Fun). + +example_player() -> + #player{id = 0001, + name = "Tux"}. + +read_player(Player_Key) -> + Fun = fun() -> + [P] = mnesia:read(player, Player_Key), + Name = P#player.name, + io:format("Player name: ~s~n",[Name]) + end, + mnesia:transaction(Fun). + diff --git a/Mnesia/gamedb.hrl b/Mnesia/gamedb.hrl new file mode 100644 index 0000000..1ae9c8f --- /dev/null +++ b/Mnesia/gamedb.hrl @@ -0,0 +1,6 @@ +%% gamedb.hrl + +-record(player, {id, name}). + + + diff --git a/Mnesia/gamedb_usage.txt b/Mnesia/gamedb_usage.txt new file mode 100644 index 0000000..b3a07a0 --- /dev/null +++ b/Mnesia/gamedb_usage.txt @@ -0,0 +1,12 @@ +1. From terminal: erl -mnesia dir '"/home/user/dir/to/GGS/GameDB.Player"' +2. mnesia:create_schema([node()]). +3. mnesia:start(). +4. c(gamedb). +5. gamedb:init(). +6. mnesia:info(). +7. gamedb:test_player(). + +Last output should be: + Player name: Tux + {atomic,ok} + diff --git a/ebin/.GGS.app.swp b/ebin/.GGS.app.swp deleted file mode 100644 index 8f4a74ea8b317ff6bc090ae28a1a6718dbbd8f2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI&y-vbV6bJBwt3eHJPFGxO`EZcQMU%!vCd5HP4A3K1O53!Bm^9T{AHm7lS1|F7 zOmuYfTqp@~K}O8~CWp)YIz9KdHP9_zoYvK$StV&(ME=`ReP{iNhG#^#z8ABeU(hZ& zi2Vh7^z!{AVd;dULF@;mW8dbIWi?9Nbv*sW>;%Cd(qIb&Ah4{!D8AmW<>{bWDeI$q z#a*>sXfB%t`yl`U2tWV=5P$##AOL|C7Kno!JxKj)*&Xs(pZnEkLv#>;00bZa0SG_< z0uX=z1Rwwb2&|w$$0mB&Ao`ThzyHtP|35Z~-X&foo+Tb7?j%^EDN&OsNPNq=ui5z( zygy2Y00bZa0SG_<0uX=z1Rwx`e=4A)wNsOHpA3E5P)WZZUCCe14b^I=>2yJcuG8zp zj_*Y>Kj6?~*HBSxyH2;A8q-}N_nj!_kR?k?XNg9^Y*FXeZGJr2!r_=hnykr3c50eX zPtJ-VJb_ diff --git a/src/.ggs_server.erl.swp b/src/.ggs_server.erl.swp deleted file mode 100644 index 5b754bd348fbce3cf172f3d66585f90bb4aa9920..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI2&5smC7{&_})CEM)yTy<(y=>3NE~3fmF5v7!7MJWg`*Coyc6xhiXPW8h8oFzM zWgI-V2!~ zdEct)4ZW0|pEyllO%D-V&k^$P&C%0WcYi=ClZ2e%zF@L^lk06(6?~I6vig#8m>FYX zS@3Em#|tcT^5je=44h1{7+N6<&aoiP0`CEw=_XnMt-wPnu!kHT8q7+ggNXz5`TcVb zX|J1W1+)TM0j+>mKr5gX&mKr5gX&_5 z1yBG9Z~*KBfA1pXFK`1~1T)|ico~@Bejg#ffp5Uq;4)xf5{!Y}U_1Er8A5&m*T6?$ z4$Oiv&Y51H1t4KSjtLa0R>t46q;U1OMzKcQ$q4;9Os@g%whSk58U_r&0yKAbHiCTNih zYE#GdJh~k43O$p}9!M7nsAzc^vxVL4Cz(w3a*tSkhu3@on|$**ryd9BV59Mx8eLa; z&o*L!D~ttMy}0F-BKvH92dUQQlI@hYxK`R8hgBSo z&Wz{h$MYtY0l|`&H$#oP*CmMseheFrTsfq$u{`izDYkw;vU$?x@*ANpcD5o5jD9)E^CcFrE*ZLeZtft;w9zHX2_~Ep zYs%u+DoZS&e3?eeHl!81z^LF*%?%^jwx$}kqd?$v@XN;0vGEhf=O$;Z>8bpzN{3ce zdwF-L++kYxIL;80Mw(-l9z8uZHa9trQ%0=@+!woD%Hl_sYci#(505RwX*!-E2LNE{L-tykN7lo=;MYx~bOpeRWd*fL%tjLzWUMIn3S z2x{ZXc%es8k#=g+mFtssoKu-0Y-aJHC?7gb)XZTS!4$h72W2eCtu8ZY#@6x`B6GOo zF%;4sQmEr`%|_PlUV4?oP?y{+GFcKm$=8`^W6xxpr&ZJ{&P-X{8d5tUF)-P)j0H(8 zv66kx<+T9EM7*WSnN)b8<}suFy}6VHq3h*sMB2q$AAZDJ97da;&QXq!+39R9+XP1ECT{J{ZGPkW-o;ZO0t7$+1V8`;KmY_l00cl_X$k0bg}tTjFO?^_ zSGS<36&C~z?hH;qC5&Hv*3zJY={lNyWZL+)@x|>c(!%V6NmD!rda_q-8-|{-W{Z4N| zPu<7uz1@yUvr%WKtVOC?AP&MrScU(@PS%=unMy@PO=+iLqSx2CcT$#9p?Ktvql{JF jD!=2F5s#kikYOYa{i9IMlvOouicDoNi-lF*wx^Z9A7sB&