aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbadlop <badlop@ono.com>2012-08-08 04:55:30 -0700
committerbadlop <badlop@ono.com>2012-08-08 04:55:30 -0700
commit9fe0eff75ed4d6b596f20c56b5a33495a63ce875 (patch)
tree577abbe071de3ebc4ca8d02d99fb594fef926ea7
parentUpdate copyright dates (diff)
parentMerge remote-tracking branch 'upstream/master' (diff)
Merge pull request #27 from gcapital/masterobsolete_3alpha
NULL handling in gen_storage_odbc
-rw-r--r--src/ejabberd_c2s.erl2
-rw-r--r--src/gen_storage_odbc.erl7
2 files changed, 8 insertions, 1 deletions
diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl
index b234584ae..6050e44a8 100644
--- a/src/ejabberd_c2s.erl
+++ b/src/ejabberd_c2s.erl
@@ -1645,7 +1645,7 @@ send_text(StateData, Text) when StateData#state.xml_socket ->
(StateData#state.sockmod):send_xml(StateData#state.socket,
{xmlstreamraw, Text1});
send_text(StateData, Text) ->
- ?DEBUG("Send XML on stream = ~s", [Text]),
+ ?DEBUG("Send XML on stream = ~s", [iolist_to_binary(Text)]),
(StateData#state.sockmod):send(StateData#state.socket, Text).
send_element(StateData, #xmlel{ns = ?NS_XMPP, name = 'stream'} = El) ->
diff --git a/src/gen_storage_odbc.erl b/src/gen_storage_odbc.erl
index 5702df05f..c282f063a 100644
--- a/src/gen_storage_odbc.erl
+++ b/src/gen_storage_odbc.erl
@@ -423,6 +423,9 @@ rows_to_result(#tabdef{record_name = RecordName,
row_to_result(Row, [], Result) ->
{Row, lists:reverse(Result)};
+
+row_to_result([null | Row], [_ | Types], Result) ->
+ row_to_result(Row, Types, [undefined | Result]);
row_to_result([Field | Row], [Type | Types], Result) ->
case Type of
int ->
@@ -649,6 +652,10 @@ format(I) when is_integer(I) ->
%% escaping not needed
integer_to_list(I);
+
+format(undefined) ->
+ "NULL";
+
format(A) when is_atom(A) ->
%% escaping usually not needed, watch atom() usage
"'" ++ atom_to_list(A) ++ "'";