]> granicus.if.org Git - pgbouncer/commitdiff
Support for application_name parameter.
authorMarko Kreen <markokr@gmail.com>
Thu, 10 Jun 2010 14:10:48 +0000 (17:10 +0300)
committerMarko Kreen <markokr@gmail.com>
Fri, 11 Jun 2010 13:08:19 +0000 (16:08 +0300)
It is accepted on client startup, database connection string
in config, and ParamStatus packet from server.

include/varcache.h
src/loader.c
src/varcache.c

index b9004bfec07ddb104b926397d93a02895238e374..4984b0179025c3c328cceee96e992f876926d316 100644 (file)
@@ -4,6 +4,7 @@ enum VarCacheIdx {
        VClientEncoding,
        VTimeZone,
        VStdStr,
+       VAppName,
        NumVars
 };
 
index 1bf043ccba881c5943dce4a9cb9df758e45a1be7..0960d0fc53390babd9315df34e18e3f7dffce45f 100644 (file)
@@ -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))
index 54ead230578ec277667efc9c3114eea04da9b481..efd1a138989a698c1f0264b6591c0b32a9a136cc 100644 (file)
@@ -32,6 +32,7 @@ static const struct var_lookup lookup [] = {
  {"datestyle",                   VDateStyle },
  {"timezone",                    VTimeZone },
  {"standard_conforming_strings", VStdStr },
+ {"application_name",            VAppName },
  {NULL},
 };