diff options
author | Evgeny Khramtsov <ekhramtsov@process-one.net> | 2019-07-04 09:27:51 +0300 |
---|---|---|
committer | Evgeny Khramtsov <ekhramtsov@process-one.net> | 2019-07-04 09:27:51 +0300 |
commit | d411e68a2ef49952f377b750a9c280ebdf253199 (patch) | |
tree | 8b6e056718b89b4e529b6897ac6df22855be9ee3 | |
parent | Don't call ejabberd_option from ejabberd_options (diff) |
Make return type of sql_transaction() consistent
-rw-r--r-- | src/ejabberd_sql.erl | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/ejabberd_sql.erl b/src/ejabberd_sql.erl index 3620f9420..029c22602 100644 --- a/src/ejabberd_sql.erl +++ b/src/ejabberd_sql.erl @@ -118,7 +118,7 @@ start_link(Host, StartInterval) -> -type sql_query() :: sql_query_simple() | [{atom() | {atom(), any()}, sql_query_simple()}]. -type sql_query_result() :: {updated, non_neg_integer()} | - {error, binary()} | + {error, binary() | atom()} | {selected, [binary()], [[binary()]]} | {selected, [any()]} | ok. @@ -143,7 +143,11 @@ sql_transaction(Host, Queries) sql_transaction(Host, F); %% SQL transaction, based on a erlang anonymous function (F = fun) sql_transaction(Host, F) when is_function(F) -> - sql_call(Host, {sql_transaction, F}). + case sql_call(Host, {sql_transaction, F}) of + {atomic, _} = Ret -> Ret; + {aborted, _} = Ret -> Ret; + Err -> {aborted, Err} + end. %% SQL bloc, based on a erlang anonymous function (F = fun) sql_bloc(Host, F) -> sql_call(Host, {sql_bloc, F}). |