X-Git-Url: http://git.euphorik.ch/?p=euphorik.git;a=blobdiff_plain;f=modules%2Ferl%2Feuphorik_bd.erl;h=be46ab249c9635ca61d5e2f1e8bf61ee1272e0ad;hp=ed07a566437e650de9cb1ab64136001cb190a46e;hb=c4a3bf46b1974dce83a6333390dd97a800070b59;hpb=7fde7c4f149c6bdaff6f7af58f9b70e8add942e2 diff --git a/modules/erl/euphorik_bd.erl b/modules/erl/euphorik_bd.erl index ed07a56..be46ab2 100755 --- a/modules/erl/euphorik_bd.erl +++ b/modules/erl/euphorik_bd.erl @@ -61,6 +61,8 @@ reponses/0, parents/1, enfants/1, + parents_id/1, + enfants_id/1, est_une_reponse_a_user/2, a_repondu_a_message/2, possede_message/2, @@ -619,6 +621,36 @@ enfants(M_id) -> end )). + +% Renvoie les parents d'un message M (les messages auquels répond M) +% ordrés du plus petit au plus grand.. +% @spec parents_id(integer()) -> [integer()] +parents_id(M) -> + resultat_transaction(mnesia:transaction(fun() -> + e( + qlc:sort( + q([E#reponse_minichat.cible || E <- mnesia:table(reponse_minichat), E#reponse_minichat.repondant =:= M]), + [{order, ascending}] + ), + [{tmpdir, ?KEY_SORT_TEMP_DIR}] + ) + end)). + + +% Renvoie les id des enfants d'un message M (les messages qui répondent à M) +% ordrés du plus petit au plus grand. +% @spec enfants_id(integer()) -> [integer()] +enfants_id(M) -> + resultat_transaction(mnesia:transaction(fun() -> + e( + qlc:sort( + q([E#reponse_minichat.repondant || E <- mnesia:table(reponse_minichat), E#reponse_minichat.cible =:= M]), + [{order, ascending}] + ), + [{tmpdir, ?KEY_SORT_TEMP_DIR}] + ) + end)). + % Est-ce que le message Id_mess est une réponse d'une message de Id_user ? est_une_reponse_a_user(Id_user, Id_mess) ->