Skip to content
Snippets Groups Projects
Commit de0d0ad1 authored by Tilghman Lesher's avatar Tilghman Lesher
Browse files

Clarify the pooling functionality by changing the config file keyword

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@101824 65c4cc65-6c06-0410-ace0-fbb531ad65f3
parent 03a95a20
Branches
Tags
No related merge requests found
......@@ -4,8 +4,9 @@
; Note that all environmental variables can be seen by all connections,
; so you can't have different values for different connections.
[ENV]
INFORMIXSERVER => my_special_database
INFORMIXDIR => /opt/informix
;INFORMIXSERVER => my_special_database
;INFORMIXDIR => /opt/informix
;ORACLE_HOME => /home/oracle
; All other sections are arbitrary names for database connections.
......@@ -15,6 +16,7 @@ dsn => asterisk
;username => myuser
;password => mypass
pre-connect => yes
;
; What should we execute to ensure that our connection is still alive? The
; statement should return a non-zero value in the first field of its first
; record. The default is "select 1".
......@@ -34,17 +36,18 @@ pre-connect => yes
;idlecheck => 3600
; Certain servers, such as MS SQL Server and Sybase use the TDS protocol, which
; limits the number of active queries per connection to 1. By setting up pools
; of connections, Asterisk can be made to work with these servers.
; limits the number of active queries per connection to 1. By telling res_odbc
; not to share connections, Asterisk can be made to work with these servers.
[sqlserver]
enabled => no
dsn => mickeysoft
pooling => yes
share_connections => no
limit => 5
username => oscar
password => thegrouch
pre-connect => yes
sanitysql => select count(*) from systables
;
; Many databases have a default of '\' to escape special characters. MS SQL
; Server does not.
backslash_is_escape => no
......
......@@ -262,6 +262,10 @@ static int load_odbc_config(void)
if (!strcasecmp(v->name, "pooling")) {
if (ast_true(v->value))
pooling = 1;
} else if (!strncasecmp(v->name, "share", 5)) {
/* "shareconnections" is a little clearer in meaning than "pooling" */
if (ast_false(v->value))
pooling = 1;
} else if (!strcasecmp(v->name, "limit")) {
sscanf(v->value, "%d", &limit);
if (ast_true(v->value) && !limit) {
......@@ -633,7 +637,12 @@ static int reload(void)
bse = 1;
for (v = ast_variable_browse(config, cat); v; v = v->next) {
if (!strcasecmp(v->name, "pooling")) {
pooling = 1;
if (ast_true(v->value))
pooling = 1;
} else if (!strncasecmp(v->name, "share", 5)) {
/* "shareconnections" is a little clearer in meaning than "pooling" */
if (ast_false(v->value))
pooling = 1;
} else if (!strcasecmp(v->name, "limit")) {
sscanf(v->value, "%d", &limit);
if (ast_true(v->value) && !limit) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment