From f9120f75b03f3debc0773f39cfb9a1c02b36cc55 Mon Sep 17 00:00:00 2001 From: Alexey Shchepin Date: Wed, 11 Dec 2019 17:48:53 +0300 Subject: Improve compatibility with CockroachDB (#3074) --- src/ejabberd_sql.erl | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/ejabberd_sql.erl') 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), -- cgit v1.2.3