Browse Source

case_clause

Maxim Sokhatsky 10 years ago
parent
commit
b2477d76a0
1 changed files with 10 additions and 5 deletions
  1. 10 5
      src/kvs.erl

+ 10 - 5
src/kvs.erl

@@ -62,10 +62,11 @@ add(Record) when is_tuple(Record) ->
 
             Type = table_type(element(1,Record)),
             CName = element(#iterator.container, Record),
-            Cid = case element(#iterator.feed_id, Record) of
+            Cid = table_type(case element(#iterator.feed_id, Record) of
                 undefined -> element(1,Record);
-                Fid -> Fid end,
+                Fid -> Fid end),
 
+            io:format("Container: CName:~p Cid:~p~n",[CName, Cid]),
             Container = case kvs:get(CName, Cid) of
                 {ok,C} -> C;
                 {error, not_found} when Cid /= undefined ->
@@ -84,7 +85,9 @@ add(Record) when is_tuple(Record) ->
                     Next = undefined,
                     Prev = case element(#container.top, Container) of
                         undefined -> undefined;
-                        Tid -> case kvs:get(Type, Tid) of
+                        Tid -> 
+                            io:format("Linling: Cid:~p Type:~p Tid:~p~n",[Cid,Type,Tid]),
+                            case kvs:get(Type, Tid) of
                             {error, not_found} -> undefined;
                             {ok, Top} ->
                                 NewTop = setelement(#iterator.next, Top, Id),
@@ -113,6 +116,7 @@ add(Record) when is_tuple(Record) ->
 
                     {ok, R3}
             end;
+        {aborted, Reason} -> kvs:info(?MODULE,"[kvs] aborted: ~p~n", [Reason]), {aborted, Reason};
         {ok, _} -> kvs:info(?MODULE,"[kvs] entry exist while put: ~p~n", [Id]), {error, exist} end.
 
 remove(RecordName, RecordId) ->
@@ -186,11 +190,12 @@ remove(E) when is_tuple(E) ->
 
 traversal( _,undefined,_,_) -> [];
 traversal(_,_,0,_) -> [];
-traversal(RecordType, Start, Count, Direction)->
+traversal(RecordType2, Start, Count, Direction)->
+    RecordType = table_type(RecordType2),
     case kvs:get(RecordType, Start) of {error,_} -> [];
     {ok, R} ->  Prev = element(Direction, R),
                 Count1 = case Count of C when is_integer(C) -> C - 1; _-> Count end,
-                [R | traversal(RecordType, Prev, Count1, Direction)] end.
+                [R | traversal(RecordType2, Prev, Count1, Direction)] end.
 
 entries(Name) -> Table = kvs:table(Name), entries(kvs:get(Table#table.container,Name), Name, undefined).
 entries(Name, Count) -> Table = kvs:table(Name), entries(kvs:get(Table#table.container,Name), Name, Count).