From: Marko Kreen Date: Thu, 10 Jun 2010 14:10:48 +0000 (+0300) Subject: Support for application_name parameter. X-Git-Tag: pgbouncer_1_4_rc3~62 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b01f8f9b4e9c6f2bd107dd367e7df802f9eb9c26;p=pgbouncer Support for application_name parameter. It is accepted on client startup, database connection string in config, and ParamStatus packet from server. --- diff --git a/include/varcache.h b/include/varcache.h index b9004bf..4984b01 100644 --- a/include/varcache.h +++ b/include/varcache.h @@ -4,6 +4,7 @@ enum VarCacheIdx { VClientEncoding, VTimeZone, VStdStr, + VAppName, NumVars }; diff --git a/src/loader.c b/src/loader.c index 1bf043c..0960d0f 100644 --- a/src/loader.c +++ b/src/loader.c @@ -188,6 +188,7 @@ void parse_database(char *name, char *connstr) char *timezone = NULL; char *connect_query = NULL; char *unix_dir = ""; + char *appname = NULL; in_addr_t v_addr = INADDR_NONE; int v_port; @@ -228,6 +229,8 @@ void parse_database(char *name, char *connstr) res_pool_size = atoi(val); else if (strcmp("connect_query", key) == 0) connect_query = val; + else if (strcmp("application_name", key) == 0) + appname = val; else { log_error("skipping database %s because" " of unknown parameter in connstring: %s", name, key); @@ -366,6 +369,11 @@ void parse_database(char *name, char *connstr) pktbuf_put_string(msg, timezone); } + if (appname) { + pktbuf_put_string(msg, "application_name"); + pktbuf_put_string(msg, appname); + } + /* if user is forces, create fake object for it */ if (username != NULL) { if (!force_user(db, username, password)) diff --git a/src/varcache.c b/src/varcache.c index 54ead23..efd1a13 100644 --- a/src/varcache.c +++ b/src/varcache.c @@ -32,6 +32,7 @@ static const struct var_lookup lookup [] = { {"datestyle", VDateStyle }, {"timezone", VTimeZone }, {"standard_conforming_strings", VStdStr }, + {"application_name", VAppName }, {NULL}, };