diff options
author | Evgeny Khramtsov <xramtsov@gmail.com> | 2014-08-08 16:03:03 +0400 |
---|---|---|
committer | Evgeny Khramtsov <xramtsov@gmail.com> | 2014-08-08 16:03:03 +0400 |
commit | 09172097110158ae46bc2b4f2781043640a9cf5d (patch) | |
tree | cfcd1fa42e0b782e4609922a125755096333122f | |
parent | Merge pull request #270 from weiss/log-s2s-in-auth (diff) | |
parent | Merge 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
-rw-r--r-- | src/mod_offline.erl | 3 | ||||
-rw-r--r-- | src/odbc_queries.erl | 16 |
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 |