From d58148fa8db82628304ec32b50b3d3ef70c5879e Mon Sep 17 00:00:00 2001 From: Evgeniy Khramtsov Date: Sun, 21 Jul 2013 20:24:36 +1000 Subject: Add SQL to Mnesia converter --- src/mod_private.erl | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'src/mod_private.erl') diff --git a/src/mod_private.erl b/src/mod_private.erl index 19e1e038e..ae7068480 100644 --- a/src/mod_private.erl +++ b/src/mod_private.erl @@ -30,8 +30,8 @@ -behaviour(gen_mod). --export([start/2, stop/1, process_sm_iq/3, - remove_user/2, get_data/2, export/1]). +-export([start/2, stop/1, process_sm_iq/3, import/3, + remove_user/2, get_data/2, export/1, import/1]). -include("ejabberd.hrl"). -include("logger.hrl"). @@ -277,3 +277,16 @@ export(_Server) -> (_Host, _R) -> [] end}]. + +import(LServer) -> + [{<<"select username, namespace, data from private_storage;">>, + fun([LUser, XMLNS, XML]) -> + El = #xmlel{} = xml_stream:parse_element(XML), + #private_storage{usns = {LUser, LServer, XMLNS}, + xml = El} + end}]. + +import(_LServer, mnesia, #private_storage{} = PS) -> + mnesia:dirty_write(PS); +import(_, _, _) -> + pass. -- cgit v1.2.3