diff options
author | Alexey Shchepin <alexey@process-one.net> | 2016-02-25 20:31:58 +0300 |
---|---|---|
committer | Alexey Shchepin <alexey@process-one.net> | 2016-03-02 00:12:49 +0300 |
commit | 1f9fd25ff8820fddab4fc36bc9c75a697031db49 (patch) | |
tree | 92a695a695ff165a219fb0f1e74034c078321d48 /src/ejabberd_odbc.erl | |
parent | Update p1_pgsql tag (diff) |
Update more SQL queries
Diffstat (limited to 'src/ejabberd_odbc.erl')
-rw-r--r-- | src/ejabberd_odbc.erl | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/ejabberd_odbc.erl b/src/ejabberd_odbc.erl index b7aff7b1..6f7ce4c8 100644 --- a/src/ejabberd_odbc.erl +++ b/src/ejabberd_odbc.erl @@ -41,6 +41,7 @@ sql_bloc/2, escape/1, escape_like/1, + escape_like_arg/1, to_bool/1, sqlite_db/1, sqlite_file/1, @@ -125,7 +126,7 @@ start_link(Host, StartInterval) -> {error, binary()} | {selected, [binary()], [[binary()]]} | - {selected, [any]}. + {selected, [any()]}. -spec sql_query(binary(), sql_query()) -> sql_query_result(). @@ -199,6 +200,13 @@ escape_like($%) -> <<"\\%">>; escape_like($_) -> <<"\\_">>; escape_like(C) when is_integer(C), C >= 0, C =< 255 -> odbc_queries:escape(C). +escape_like_arg(S) when is_binary(S) -> + << <<(escape_like_arg(C))/binary>> || <<C>> <= S >>; +escape_like_arg($%) -> <<"\\%">>; +escape_like_arg($_) -> <<"\\_">>; +escape_like_arg($\\) -> <<"\\\\">>; +escape_like_arg(C) when is_integer(C), C >= 0, C =< 255 -> <<C>>. + to_bool(<<"t">>) -> true; to_bool(<<"true">>) -> true; to_bool(<<"1">>) -> true; |