diff options
Diffstat (limited to 'src/interfaces/libpq++/pgconnection.cc')
-rw-r--r-- | src/interfaces/libpq++/pgconnection.cc | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/src/interfaces/libpq++/pgconnection.cc b/src/interfaces/libpq++/pgconnection.cc index 96ef215700f..9cbdd896171 100644 --- a/src/interfaces/libpq++/pgconnection.cc +++ b/src/interfaces/libpq++/pgconnection.cc @@ -10,13 +10,14 @@ * Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/interfaces/libpq++/Attic/pgconnection.cc,v 1.2 1997/02/13 10:00:27 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/interfaces/libpq++/Attic/pgconnection.cc,v 1.3 1999/05/10 15:27:18 momjian Exp $ * *------------------------------------------------------------------------- */ #include <stdlib.h> #include <string.h> +#include <strstream> #include "pgconnection.h" extern "C" { @@ -88,21 +89,18 @@ ConnStatusType PgConnection::Connect(const char* dbName) PQtrace(pgConn, debug); #endif - // Set Host Authentication service - char errorMessage[ERROR_MSG_LENGTH]; - memset(errorMessage, 0, sizeof(errorMessage)); - fe_setauthsvc(pgEnv.Auth(), errorMessage); - // Connect to the database - pgConn = PQsetdb(pgEnv.Host(), pgEnv.Port(), pgEnv.Option(), pgEnv.TTY(), dbName); + ostrstream conninfo; + conninfo << "dbname="<<dbName; + conninfo << pgEnv; + pgConn=PQconnectdb(conninfo.str()); + conninfo.freeze(0); - // Return the connection status - if (errorMessage) { - SetErrorMessage( errorMessage ); - return CONNECTION_BAD; + if(ConnectionBad()) { + SetErrorMessage( PQerrorMessage(pgConn) ); } - else - return Status(); + + return Status(); } // PgConnection::status -- return connection or result status |