diff options
author | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2013-07-21 20:24:36 +1000 |
---|---|---|
committer | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2013-07-21 23:10:38 +1000 |
commit | d58148fa8db82628304ec32b50b3d3ef70c5879e (patch) | |
tree | 57310c31d1650344d3de01b50b24d5c8602418e7 /src/mod_private.erl | |
parent | Make it possible to enable/disable TLS compression (diff) |
Add SQL to Mnesia converter
Diffstat (limited to 'src/mod_private.erl')
-rw-r--r-- | src/mod_private.erl | 17 |
1 files changed, 15 insertions, 2 deletions
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. |