aboutsummaryrefslogtreecommitdiff
path: root/src/sql.c
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2016-04-21 16:23:35 +0300
committerSergey Poznyakoff <gray@gnu.org.ua>2016-04-21 16:47:22 +0300
commitb5f2337ad45d26941bf533741d8bff1238d59b5d (patch)
tree878a65c333272ceb198ec0d8e871e431f8015f7a /src/sql.c
parent5ee1409fc878cd65dd224ec5f709507e37e9ed5d (diff)
downloadvmod-dbrw-b5f2337ad45d26941bf533741d8bff1238d59b5d.tar.gz
vmod-dbrw-b5f2337ad45d26941bf533741d8bff1238d59b5d.tar.bz2
Rewrite SQL configuration support.
Multiple configurations can be provided, by calling dbrw.config from branches of a conditional VCL statement. The only requirement is that exactly one dbrw.config is executed within a single HTTP session. This allows the user to select rewrite data from various databases depending on some conditions. Open SQL connections are stored in a pool and reused as needed. So far no limit on the number of connections is imposed. This is a TODO. Connections remain open during the lifetime of the module (i.e. for as long as varnish is not restarted). * src/dbrw.h (dbrw_config): New members: param_str, magic and list. (dbrw_connection): New members: magic, busy, list. * src/vmod_dbrw.c (dbrw_connection_get) (dbrw_connection_release): New functions. (dbrw_event): Install atexit function. (vmod_config): Keep a pool of configurations. (dbrw_sethdr) [VARNISHVERSION]: Remove leftover code. (vmod_rewrite): Rewrite. * src/vmod_dbrw.vcc (config, rewrite): Mark as PRIV_TASK. * doc/vmod-dbrw.3: Update docs. * doc/vmod-dbrw.texi: Update docs. * configure.ac: Raise version number
Diffstat (limited to 'src/sql.c')
-rw-r--r--src/sql.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/sql.c b/src/sql.c
index b9ba3a4..c42c5de 100644
--- a/src/sql.c
+++ b/src/sql.c
@@ -184,3 +184,4 @@ sql_get_column(struct dbrw_connection *conn, unsigned row, unsigned col)
return NULL;
return conn->conf->backend->sql_get_column(conn, row, col);
}
+

Return to:

Send suggestions and report system problems to the System administrator.