aboutsummaryrefslogtreecommitdiff
path: root/src/mod_offline_odbc.erl
diff options
context:
space:
mode:
authorMickaël Rémond <mickael.remond@process-one.net>2006-09-03 15:15:46 +0000
committerMickaël Rémond <mickael.remond@process-one.net>2006-09-03 15:15:46 +0000
commitd0e2ac9ed2432e877e1a55f46752b614d29fafb9 (patch)
tree7c97e92bbed7655311b732a6d16a61f5e04a2d4d /src/mod_offline_odbc.erl
parent* src/ejabberd.app: Updated to the current version. (diff)
* src/odbc/odbc_queries.erl: Support for Microsoft SQL Server as
a database backend (via ODBC). * src/odbc/ejabberd_odbc.erl: Likewise. * src/odbc/mssql.sql: Likewise. * src/odbc/Makefile.in: Likewise. * src/ejabberd_auth_odbc.erl: Likewise. * src/mod_offline_odbc.erl: Likewise. * src/mod_roster_odbc.erl: Likewise. * src/mod_last_odbc.erl: Likewise. * src/configure.ac: Likewise * doc/guide.tex: Likewise. * doc/introduction.tex: Likewise. * src/odbc/pg.sql: Minor fix. SVN Revision: 598
Diffstat (limited to 'src/mod_offline_odbc.erl')
-rw-r--r--src/mod_offline_odbc.erl23
1 files changed, 4 insertions, 19 deletions
diff --git a/src/mod_offline_odbc.erl b/src/mod_offline_odbc.erl
index 50a0e53c9..e3ac67104 100644
--- a/src/mod_offline_odbc.erl
+++ b/src/mod_offline_odbc.erl
@@ -65,14 +65,9 @@ loop(Host) ->
ejabberd_odbc:escape(
lists:flatten(
xml:element_to_string(Packet))),
- ["insert into spool(username, xml) "
- "values ('", Username, "', '",
- XML,
- "');"]
+ odbc_queries:add_spool_sql(Username, XML)
end, Msgs),
- case catch ejabberd_odbc:sql_transaction(
- Host,
- Query) of
+ case catch odbc_queries:add_spool(Host, Query) of
{'EXIT', Reason} ->
?ERROR_MSG("~p~n", [Reason]);
_ ->
@@ -207,15 +202,7 @@ pop_offline_messages(Ls, User, Server) ->
LUser = jlib:nodeprep(User),
LServer = jlib:nameprep(Server),
EUser = ejabberd_odbc:escape(LUser),
- F = fun() ->
- Result = ejabberd_odbc:sql_query_t(
- ["select username, xml from spool where username='", EUser, "'"
- " order by seq;"]),
- ejabberd_odbc:sql_query_t(
- ["delete from spool where username='", EUser, "';"]),
- Result
- end,
- case ejabberd_odbc:sql_transaction(LServer,F) of
+ case odbc_queries:get_and_del_spool_msg_t(LServer, EUser) of
{atomic, {selected, ["username","xml"], Rs}} ->
Ls ++ lists:flatmap(
fun({_, XML}) ->
@@ -245,7 +232,5 @@ remove_user(User, Server) ->
LUser = jlib:nodeprep(User),
LServer = jlib:nameprep(Server),
Username = ejabberd_odbc:escape(LUser),
- ejabberd_odbc:sql_query(
- LServer,
- ["delete from spool where username='", Username, "';"]).
+ odbc_queries:del_spool_msg(LServer, Username).