diff options
author | Mickaël Rémond <mickael.remond@process-one.net> | 2006-09-03 15:15:46 +0000 |
---|---|---|
committer | Mickaël Rémond <mickael.remond@process-one.net> | 2006-09-03 15:15:46 +0000 |
commit | d0e2ac9ed2432e877e1a55f46752b614d29fafb9 (patch) | |
tree | 7c97e92bbed7655311b732a6d16a61f5e04a2d4d /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.erl | 23 |
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). |