]> granicus.if.org Git - ejabberd/commitdiff
Log failed SQL requests
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>
Wed, 13 Jan 2016 09:59:00 +0000 (12:59 +0300)
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>
Wed, 13 Jan 2016 11:13:32 +0000 (14:13 +0300)
src/ejabberd_odbc.erl

index 123f0d558c1c878ac563c16b685238fb614b51a1..ace0cda057aec5c3f7519a3b7cc682a6b2679c6a 100644 (file)
@@ -125,7 +125,7 @@ start_link(Host, StartInterval) ->
 -spec sql_query(binary(), sql_query()) -> sql_query_result().
 
 sql_query(Host, Query) ->
-    sql_call(Host, {sql_query, Query}).
+    check_error(sql_call(Host, {sql_query, Query}), Query).
 
 %% SQL transaction based on a list of queries
 %% This function automatically
@@ -800,6 +800,12 @@ fsm_limit_opts() ->
       _ -> []
     end.
 
+check_error({error, Why} = Err, Query) ->
+    ?ERROR_MSG("SQL query '~s' failed: ~p", [Query, Why]),
+    Err;
+check_error(Result, _Query) ->
+    Result.
+
 opt_type(max_fsm_queue) ->
     fun (N) when is_integer(N), N > 0 -> N end;
 opt_type(odbc_database) -> fun iolist_to_binary/1;