aboutsummaryrefslogtreecommitdiff
path: root/src/ejabberd_odbc_sup.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/ejabberd_odbc_sup.erl')
-rw-r--r--src/ejabberd_odbc_sup.erl19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/ejabberd_odbc_sup.erl b/src/ejabberd_odbc_sup.erl
index 37128e265..4a1498964 100644
--- a/src/ejabberd_odbc_sup.erl
+++ b/src/ejabberd_odbc_sup.erl
@@ -25,11 +25,13 @@
-module(ejabberd_odbc_sup).
+-behaviour(ejabberd_config).
+
-author('alexey@process-one.net').
-%% API
-export([start_link/1, init/1, add_pid/2, remove_pid/2,
- get_pids/1, get_random_pid/1, transform_options/1]).
+ get_pids/1, get_random_pid/1, transform_options/1,
+ opt_type/1]).
-include("ejabberd.hrl").
-include("logger.hrl").
@@ -205,3 +207,16 @@ read_lines(Fd, File, Acc) ->
?ERROR_MSG("Failed read from lite.sql, reason: ~p", [Err]),
[]
end.
+
+opt_type(odbc_pool_size) ->
+ fun (I) when is_integer(I), I > 0 -> I end;
+opt_type(odbc_start_interval) ->
+ fun (I) when is_integer(I), I > 0 -> I end;
+opt_type(odbc_type) ->
+ fun (mysql) -> mysql;
+ (pgsql) -> pgsql;
+ (sqlite) -> sqlite;
+ (odbc) -> odbc
+ end;
+opt_type(_) ->
+ [odbc_pool_size, odbc_start_interval, odbc_type].