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.