diff options
Diffstat (limited to 'src/mod_irc.erl')
-rw-r--r-- | src/mod_irc.erl | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/mod_irc.erl b/src/mod_irc.erl index c7dda8303..0e52b2342 100644 --- a/src/mod_irc.erl +++ b/src/mod_irc.erl @@ -591,6 +591,17 @@ get_data(_LServer, Host, From, mnesia) -> [] -> empty; [#irc_custom{data = Data}] -> Data end; +get_data(LServer, Host, From, riak) -> + #jid{luser = LUser, lserver = LServer} = From, + US = {LUser, LServer}, + case ejabberd_riak:get(irc_custom, {US, Host}) of + {ok, #irc_custom{data = Data}} -> + Data; + {error, notfound} -> + empty; + _Err -> + error + end; get_data(LServer, Host, From, odbc) -> SJID = ejabberd_odbc:escape(jlib:jid_to_string(jlib:jid_tolower(jlib:jid_remove_resource(From)))), @@ -723,6 +734,11 @@ set_data(_LServer, Host, From, Data, mnesia) -> data = Data}) end, mnesia:transaction(F); +set_data(LServer, Host, From, Data, riak) -> + {LUser, LServer, _} = jlib:jid_tolower(From), + US = {LUser, LServer}, + {atomic, ejabberd_riak:put(#irc_custom{us_host = {US, Host}, + data = Data})}; set_data(LServer, Host, From, Data, odbc) -> SJID = ejabberd_odbc:escape(jlib:jid_to_string(jlib:jid_tolower(jlib:jid_remove_resource(From)))), |