aboutsummaryrefslogtreecommitdiff
path: root/src/ejabberd_sql.erl
diff options
context:
space:
mode:
authorAlexey Shchepin <alexey@process-one.net>2019-12-11 17:48:53 +0300
committerAlexey Shchepin <alexey@process-one.net>2019-12-11 17:49:02 +0300
commitf9120f75b03f3debc0773f39cfb9a1c02b36cc55 (patch)
tree071b0a8ae4faa72f272596d135617d1b9603d08f /src/ejabberd_sql.erl
parentUpdate the Spanish translation (diff)
Improve compatibility with CockroachDB (#3074)
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 c1d9383a0..22151b697 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),