aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ejabberd_odbc.erl12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/ejabberd_odbc.erl b/src/ejabberd_odbc.erl
index 49a4f30b4..9dcf37cc2 100644
--- a/src/ejabberd_odbc.erl
+++ b/src/ejabberd_odbc.erl
@@ -450,7 +450,7 @@ sql_query_internal(Query) ->
?DEBUG("MySQL, Send query~n~p~n", [Query]),
%%squery to be able to specify result_type = binary
%%[Query] because p1_mysql_conn expect query to be a list (elements can be binaries, or iolist)
- %% but doesn't accept just a binary
+ %% but doesn't accept just a binary
R = mysql_to_odbc(p1_mysql_conn:squery(State#state.db_ref,
[Query], self(),
[{timeout, (?TRANSACTION_TIMEOUT) - 1000},
@@ -553,10 +553,16 @@ mysql_to_odbc({data, MySQLRes}) ->
mysql_item_to_odbc(p1_mysql:get_result_field_info(MySQLRes),
p1_mysql:get_result_rows(MySQLRes));
mysql_to_odbc({error, MySQLRes})
- when is_binary(MySQLRes) ->
+ when is_binary(MySQLRes) ->
{error, MySQLRes};
+mysql_to_odbc({error, MySQLRes})
+ when is_list(MySQLRes) ->
+ {error, list_to_binary(MySQLRes)};
mysql_to_odbc({error, MySQLRes}) ->
- {error, p1_mysql:get_result_reason(MySQLRes)}.
+ {error, p1_mysql:get_result_reason(MySQLRes)};
+mysql_to_odbc(ok) ->
+ ok.
+
%% When tabular data is returned, convert it to the ODBC formalism
mysql_item_to_odbc(Columns, Recs) ->