]> granicus.if.org Git - postgresql/commitdiff
This patch removes some old code from libpq that implements a URI-like
authorNeil Conway <neilc@samurai.com>
Sun, 12 Jun 2005 00:07:07 +0000 (00:07 +0000)
committerNeil Conway <neilc@samurai.com>
Sun, 12 Jun 2005 00:07:07 +0000 (00:07 +0000)
syntax for database connection parameters. It has been inside an
#ifdef NOT_USED block since 2001 or so and is marked as "broken", so
I don't think it is likely to be rehabilitated any time soon.

src/interfaces/libpq/fe-connect.c

index 13958b9ad3bdbc3905bd88f2e7abce2e5e379479..9331c7c1746e36fac9c8f71aef6d164206720995 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/interfaces/libpq/fe-connect.c,v 1.310 2005/06/12 00:00:21 neilc Exp $
+ *       $PostgreSQL: pgsql/src/interfaces/libpq/fe-connect.c,v 1.311 2005/06/12 00:07:07 neilc Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -460,18 +460,6 @@ connectOptions2(PGconn *conn)
                conn->pghost = NULL;
        }
 
-#ifdef NOT_USED
-       /*
-        * parse dbName to get all additional info in it, if any
-        */
-       if (update_db_info(conn) != 0)
-       {
-               conn->status = CONNECTION_BAD;
-               /* errorMessage is already set */
-               return false;
-       }
-#endif
-
        /*
         * validate sslmode option
         */
@@ -644,163 +632,6 @@ PQsetdbLogin(const char *pghost, const char *pgport, const char *pgoptions,
 }
 
 
-#ifdef NOT_USED                                        /* because it's broken */
-/*
- * update_db_info -
- * get all additional info out of dbName
- */
-static int
-update_db_info(PGconn *conn)
-{
-       char       *tmp,
-                          *tmp2,
-                          *old = conn->dbName;
-
-       if (strchr(conn->dbName, '@') != NULL)
-       {
-               /* old style: dbname[@server][:port] */
-               tmp = strrchr(conn->dbName, ':');
-               if (tmp != NULL)                /* port number given */
-               {
-                       if (conn->pgport)
-                               free(conn->pgport);
-                       conn->pgport = strdup(tmp + 1);
-                       *tmp = '\0';
-               }
-
-               tmp = strrchr(conn->dbName, '@');
-               if (tmp != NULL)                /* host name given */
-               {
-                       if (conn->pghost)
-                               free(conn->pghost);
-                       conn->pghost = strdup(tmp + 1);
-                       *tmp = '\0';
-               }
-
-               conn->dbName = strdup(old);
-               free(old);
-       }
-       else
-       {
-               int                     offset;
-
-               /*
-                * only allow protocols tcp and unix
-                */
-               if (strncmp(conn->dbName, "tcp:", 4) == 0)
-                       offset = 4;
-               else if (strncmp(conn->dbName, "unix:", 5) == 0)
-                       offset = 5;
-               else
-                       return 0;
-
-               if (strncmp(conn->dbName + offset, "postgresql://", strlen("postgresql://")) == 0)
-               {
-
-                       /*-------
-                        * new style:
-                        *      <tcp|unix>:postgresql://server[:port|:/unixsocket/path:]
-                        *      [/db name][?options]
-                        *-------
-                        */
-                       offset += strlen("postgresql://");
-
-                       tmp = strrchr(conn->dbName + offset, '?');
-                       if (tmp != NULL)        /* options given */
-                       {
-                               if (conn->pgoptions)
-                                       free(conn->pgoptions);
-                               conn->pgoptions = strdup(tmp + 1);
-                               *tmp = '\0';
-                       }
-
-                       tmp = last_dir_separator(conn->dbName + offset);
-                       if (tmp != NULL)        /* database name given */
-                       {
-                               if (conn->dbName)
-                                       free(conn->dbName);
-                               conn->dbName = strdup(tmp + 1);
-                               *tmp = '\0';
-                       }
-                       else
-                       {
-                               /*
-                                * Why do we default only this value from the environment
-                                * again?
-                                */
-                               if ((tmp = getenv("PGDATABASE")) != NULL)
-                               {
-                                       if (conn->dbName)
-                                               free(conn->dbName);
-                                       conn->dbName = strdup(tmp);
-                               }
-                               else if (conn->pguser)
-                               {
-                                       if (conn->dbName)
-                                               free(conn->dbName);
-                                       conn->dbName = strdup(conn->pguser);
-                               }
-                       }
-
-                       tmp = strrchr(old + offset, ':');
-                       if (tmp != NULL)        /* port number or Unix socket path given */
-                       {
-                               *tmp = '\0';
-                               if ((tmp2 = strchr(tmp + 1, ':')) != NULL)
-                               {
-                                       if (strncmp(old, "unix:", 5) != 0)
-                                       {
-                                               printfPQExpBuffer(&conn->errorMessage,
-                                                                                 libpq_gettext("connectDBStart() -- "
-                                                                                 "socket name can only be specified with "
-                                                                                 "non-TCP\n"));
-                                               return 1;
-                                       }
-                                       *tmp2 = '\0';
-                                       if (conn->pgunixsocket)
-                                               free(conn->pgunixsocket);
-                                       conn->pgunixsocket = strdup(tmp + 1);
-                               }
-                               else
-                               {
-                                       if (conn->pgport)
-                                               free(conn->pgport);
-                                       conn->pgport = strdup(tmp + 1);
-                                       if (conn->pgunixsocket)
-                                               free(conn->pgunixsocket);
-                                       conn->pgunixsocket = NULL;
-                               }
-                       }
-
-                       if (strncmp(old, "unix:", 5) == 0)
-                       {
-                               if (conn->pghost)
-                                       free(conn->pghost);
-                               conn->pghost = NULL;
-                               if (strcmp(old + offset, "localhost") != 0)
-                               {
-                                       printfPQExpBuffer(&conn->errorMessage,
-                                                                         libpq_gettext("connectDBStart() -- "
-                                                                         "non-TCP access only possible on "
-                                                                         "localhost\n"));
-                                       return 1;
-                               }
-                       }
-                       else
-                       {
-                               if (conn->pghost)
-                                       free(conn->pghost);
-                               conn->pghost = strdup(old + offset);
-                       }
-                       free(old);
-               }
-       }
-
-       return 0;
-}
-#endif   /* NOT_USED */
-
-
 /* ----------
  * connectNoDelay -
  * Sets the TCP_NODELAY socket option.