From 2a3a2d9804b10d573b1e5501fe539822d99247fa Mon Sep 17 00:00:00 2001 From: Evgeniy Khramtsov Date: Wed, 8 Apr 2015 14:38:04 +0300 Subject: [PATCH] Make sure SQLite always returns binaries --- src/ejabberd_odbc.erl | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/ejabberd_odbc.erl b/src/ejabberd_odbc.erl index 1c163dcbb..f8274f46f 100644 --- a/src/ejabberd_odbc.erl +++ b/src/ejabberd_odbc.erl @@ -513,8 +513,14 @@ sqlite_to_odbc(ok) -> {updated, sqlite3:changes(?SQLITE_DB)}; sqlite_to_odbc({rowid, _}) -> {updated, sqlite3:changes(?SQLITE_DB)}; -sqlite_to_odbc([{columns, Columns}, {rows, Rows}]) -> - {selected, [list_to_binary(C) || C <- Columns], [tuple_to_list(Row) || Row <- Rows]}; +sqlite_to_odbc([{columns, Columns}, {rows, TRows}]) -> + Rows = [lists:map( + fun(I) when is_integer(I) -> + jlib:integer_to_binary(I); + (B) -> + B + end, tuple_to_list(Row)) || Row <- TRows], + {selected, [list_to_binary(C) || C <- Columns], Rows}; sqlite_to_odbc({error, _Code, Reason}) -> {error, Reason}; sqlite_to_odbc(_) ->