diff options
author | s.budaev <s.budaev@fun-box.ru> | 2016-10-05 04:27:08 +0400 |
---|---|---|
committer | s.budaev <s.budaev@fun-box.ru> | 2016-10-05 04:27:08 +0400 |
commit | 026394a314955de99e6a65075cb11c087298794e (patch) | |
tree | f70f1390e98d1c0f75059c99d6ae6f0732101af1 /src | |
parent | Fixed typo in Stream Management option name (diff) |
Added option to disable prepared statements (postgresql only)
Diffstat (limited to 'src')
-rw-r--r-- | src/ejabberd_sql.erl | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/ejabberd_sql.erl b/src/ejabberd_sql.erl index b19f16414..4f50cfa01 100644 --- a/src/ejabberd_sql.erl +++ b/src/ejabberd_sql.erl @@ -522,7 +522,14 @@ sql_query_internal(#sql_query{} = Query) -> mssql -> mssql_sql_query(Query); pgsql -> + PreparedStatements = ejabberd_config:get_option( + {sql_prepared_statements, ?MYNAME}, + fun(A) when is_boolean(A) -> A end, + true), Key = {?PREPARE_KEY, Query#sql_query.hash}, + if not PreparedStatements -> put(Key, ignore); + true -> ok + end, case get(Key) of undefined -> case pgsql_prepare(Query, State) of @@ -1061,7 +1068,9 @@ opt_type(sql_type) -> (odbc) -> odbc end; opt_type(sql_username) -> fun iolist_to_binary/1; +opt_type(sql_prepared_statements) -> + fun(A) when is_boolean(A) -> A end; opt_type(_) -> [max_fsm_queue, sql_database, sql_keepalive_interval, sql_password, sql_port, sql_server, sql_type, - sql_username]. + sql_username, sql_prepared_statements]. |