diff --git a/src/interfaces/libpq++/pgconnection.cc b/src/interfaces/libpq++/pgconnection.cc index 321d41f03047a9f958176e22bf446881ceed5b5b..80b45685dcbf9b247a709c49813370e8d0656cb6 100644 --- a/src/interfaces/libpq++/pgconnection.cc +++ b/src/interfaces/libpq++/pgconnection.cc @@ -10,7 +10,7 @@ * Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/interfaces/libpq++/Attic/pgconnection.cc,v 1.9 2000/04/22 22:39:15 tgl Exp $ + * $Header: /cvsroot/pgsql/src/interfaces/libpq++/Attic/pgconnection.cc,v 1.10 2000/07/27 19:44:01 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -46,16 +46,32 @@ PgConnection::~PgConnection() // Close the connection only if needed // This feature will most probably be used by the derived classes that // need not close the connection after they are destructed. - if ( pgCloseConnection ) { + CloseConnection(); +} + + +// PgConnection::CloseConnection() +// close down the connection if there is one +void PgConnection::CloseConnection() +{ + // if the connection is open, close it first + if ( pgCloseConnection ) { if(pgResult) PQclear(pgResult); + pgResult=NULL; if(pgConn) PQfinish(pgConn); + pgConn=NULL; + pgCloseConnection=0; } } + // PgConnection::connect // establish a connection to a backend ConnStatusType PgConnection::Connect(const char* conninfo) { + // if the connection is open, close it first + CloseConnection(); + // Connect to the database pgConn = PQconnectdb(conninfo); diff --git a/src/interfaces/libpq++/pgconnection.h b/src/interfaces/libpq++/pgconnection.h index 0a19359a9f5ca333412125d8eb170fb7319f1d42..1e7ccbad61d9bf6bddb491e30b98aba3ff415a00 100644 --- a/src/interfaces/libpq++/pgconnection.h +++ b/src/interfaces/libpq++/pgconnection.h @@ -13,7 +13,7 @@ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: pgconnection.h,v 1.7 2000/04/22 22:39:15 tgl Exp $ + * $Id: pgconnection.h,v 1.8 2000/07/27 19:44:01 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -81,6 +81,7 @@ public: protected: ConnStatusType Connect(const char* conninfo); + void CloseConnection(); string IntToString(int); // Default constructor is only available to subclasses PgConnection();