aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEvgeny Khramtsov <ekhramtsov@process-one.net>2019-07-04 09:27:51 +0300
committerEvgeny Khramtsov <ekhramtsov@process-one.net>2019-07-04 09:27:51 +0300
commitd411e68a2ef49952f377b750a9c280ebdf253199 (patch)
tree8b6e056718b89b4e529b6897ac6df22855be9ee3 /src
parentDon't call ejabberd_option from ejabberd_options (diff)
Make return type of sql_transaction() consistent
Diffstat (limited to 'src')
-rw-r--r--src/ejabberd_sql.erl8
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}).