From 8b978934c70b9b1755bdf13f8c494337609d6434 Mon Sep 17 00:00:00 2001 From: Kallfaktorn Date: Mon, 21 Feb 2011 23:55:20 +0100 Subject: [PATCH] key with test. --- mnesia/ggs_db.erl | 11 +++++++++-- mnesia/ggs_db_test.erl | 7 +++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/mnesia/ggs_db.erl b/mnesia/ggs_db.erl index 1c15536..9c7cb3c 100644 --- a/mnesia/ggs_db.erl +++ b/mnesia/ggs_db.erl @@ -7,7 +7,7 @@ -module(ggs_db). -import(mnesia). %-compile({no_auto_import,[length/2]}). --export([init/0,setItem/4,getItem/3,removeItem/3,length/2]). +-export([init/0,setItem/4,getItem/3,removeItem/3,key/3,length/2]). -include("ggs_db.hrl"). %%----------------------------------------------------- @@ -63,4 +63,11 @@ length(Db,Ns) -> {atomic, Ret} = mnesia:transaction(Fun), Ret. - +key(Db,Ns,Position) -> + Fun = fun() -> + Keys = mnesia:all_keys(data), + Rest = lists:filter(fun({A,B,_}) -> ((A==Db) and (B==Ns)) end, Keys), + lists:nth(Position, Rest) + end, + {atomic, Ret} = mnesia:transaction(Fun), + Ret. diff --git a/mnesia/ggs_db_test.erl b/mnesia/ggs_db_test.erl index e15ddf4..a1a2ff1 100644 --- a/mnesia/ggs_db_test.erl +++ b/mnesia/ggs_db_test.erl @@ -24,9 +24,12 @@ length_test() -> removeItem_test() -> ggs_db:removeItem(1,1,4), - ?assertNot(ggs_db:getItem(1,1,4) =:= {atomic,"114"}), - mnesia:stop(). + ?assertNot(ggs_db:getItem(1,1,4) =:= {atomic,"114"}). + %mnesia:stop(). +key_test() -> + ?assert(ggs_db:key(1,1,2) =:= {1,1,3}), + mnesia:stop(). %cleanup(Val) -> % mnesia:stop().