-export([\r
conversations/4\r
]).
--include("euphorik_bd.hrl").
+-include("../include/euphorik_bd.hrl").
+-include("../include/euphorik_defines.hrl").
-include_lib("stdlib/include/qlc.hrl").
-import(lists, [reverse/1, any/2, map/2, sublist/3, filter/2]).
-import(euphorik_bd, [resultat_transaction/1]).
--import(qlc, [e/1, q/1, keysort/3]).
+-import(qlc, [e/2, q/1, keysort/3]).
-import(mnesia, [table/1, transaction/1]).
conversations_detailees(Racines, N, D, P) ->
Conversations = map(fun({Racine, P_conv, Dernier}) -> conversation(Racine, N, Dernier, P_conv) end, Racines),
Conversation_principale = resultat_transaction(transaction(fun() ->
- Curseur = qlc:cursor(q([E#minichat.id || E <- qlc:sort(table(minichat), [{order, descending}])])),
+ Curseur = qlc:cursor(q([E#minichat.id || E <- qlc:sort(table(minichat), [{order, descending}])]), [{tmpdir, ?KEY_SORT_TEMP_DIR}]),
{CP, Plus} = conversation_principale(Curseur, Conversations, N, P),
qlc:delete_cursor(Curseur),
{[M || M <- CP, M > D], Plus} % filtre en fonction de D
qlc:sort(
q([E#reponse_minichat.repondant || E <- table(reponse_minichat), E#reponse_minichat.cible =:= M]),
[{order, ascending}]
- )
+ ),
+ [{tmpdir, ?KEY_SORT_TEMP_DIR}]
)
end)).
qlc:sort(
q([E#reponse_minichat.cible || E <- table(reponse_minichat), E#reponse_minichat.repondant =:= M]),
[{order, ascending}]
- )
+ ),
+ [{tmpdir, ?KEY_SORT_TEMP_DIR}]
)
end)).