aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEvgeny Khramtsov <xramtsov@gmail.com>2014-08-08 16:03:03 +0400
committerEvgeny Khramtsov <xramtsov@gmail.com>2014-08-08 16:03:03 +0400
commit09172097110158ae46bc2b4f2781043640a9cf5d (patch)
treecfcd1fa42e0b782e4609922a125755096333122f /src
parentMerge pull request #270 from weiss/log-s2s-in-auth (diff)
parentMerge pull request #2 from vesvalo/master (diff)
Merge pull request #273 from gamenet/master
odb_queries patch return value of functions update and update_t in case of sql insert
Diffstat (limited to 'src')
-rw-r--r--src/mod_offline.erl3
-rw-r--r--src/odbc_queries.erl16
2 files changed, 14 insertions, 5 deletions
diff --git a/src/mod_offline.erl b/src/mod_offline.erl
index bb488f8c5..95c5881df 100644
--- a/src/mod_offline.erl
+++ b/src/mod_offline.erl
@@ -296,8 +296,9 @@ get_sm_features(Acc, _From, _To, _Node, _Lang) ->
store_packet(From, To, Packet) ->
Type = xml:get_tag_attr_s(<<"type">>, Packet),
+ BodyElem = xml:get_path_s(Packet,[{elem, <<"body">>}]),
if (Type /= <<"error">>) and (Type /= <<"groupchat">>)
- and (Type /= <<"headline">>) ->
+ and (Type /= <<"headline">>) and (<<>> /= BodyElem) ->
case has_no_storage_hint(Packet) of
false ->
case check_event(From, To, Packet) of
diff --git a/src/odbc_queries.erl b/src/odbc_queries.erl
index e0637f840..09549c0a2 100644
--- a/src/odbc_queries.erl
+++ b/src/odbc_queries.erl
@@ -97,10 +97,14 @@ update_t(Table, Fields, Vals, Where) ->
of
{updated, 1} -> ok;
_ ->
- ejabberd_odbc:sql_query_t([<<"insert into ">>, Table,
+ Res = ejabberd_odbc:sql_query_t([<<"insert into ">>, Table,
<<"(">>, join(Fields, <<", ">>),
<<") values ('">>, join(Vals, <<"', '">>),
- <<"');">>])
+ <<"');">>]),
+ case Res of
+ {updated,1} -> ok;
+ _ -> Res
+ end
end.
update(LServer, Table, Fields, Vals, Where) ->
@@ -115,10 +119,14 @@ update(LServer, Table, Fields, Vals, Where) ->
of
{updated, 1} -> ok;
_ ->
- ejabberd_odbc:sql_query(LServer,
+ Res = ejabberd_odbc:sql_query(LServer,
[<<"insert into ">>, Table, <<"(">>,
join(Fields, <<", ">>), <<") values ('">>,
- join(Vals, <<"', '">>), <<"');">>])
+ join(Vals, <<"', '">>), <<"');">>]),
+ case Res of
+ {updated,1} -> ok;
+ _ -> Res
+ end
end.
%% F can be either a fun or a list of queries