summaryrefslogtreecommitdiff
path: root/src/ejabberd_sql.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/ejabberd_sql.erl')
-rw-r--r--src/ejabberd_sql.erl12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/ejabberd_sql.erl b/src/ejabberd_sql.erl
index c1d9383a..22151b69 100644
--- a/src/ejabberd_sql.erl
+++ b/src/ejabberd_sql.erl
@@ -44,6 +44,7 @@
escape_like/1,
escape_like_arg/1,
escape_like_arg_circumflex/1,
+ to_string_literal/2,
to_bool/1,
sqlite_db/1,
sqlite_file/1,
@@ -251,6 +252,17 @@ to_array(EscapeFun, Val) ->
Escaped = lists:join(<<",">>, lists:map(EscapeFun, Val)),
[<<"{">>, Escaped, <<"}">>].
+to_string_literal(odbc, S) ->
+ <<"'", (escape(S))/binary, "'">>;
+to_string_literal(mysql, S) ->
+ <<"'", (escape(S))/binary, "'">>;
+to_string_literal(mssql, S) ->
+ <<"'", (standard_escape(S))/binary, "'">>;
+to_string_literal(sqlite, S) ->
+ <<"'", (standard_escape(S))/binary, "'">>;
+to_string_literal(pgsql, S) ->
+ <<"E'", (escape(S))/binary, "'">>.
+
encode_term(Term) ->
escape(list_to_binary(
erl_prettypr:format(erl_syntax:abstract(Term),