aboutsummaryrefslogtreecommitdiff
path: root/src/interfaces/libpq++/pgconnection.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/interfaces/libpq++/pgconnection.cc')
-rw-r--r--src/interfaces/libpq++/pgconnection.cc24
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