aboutsummaryrefslogtreecommitdiff
path: root/src/interfaces/libpq++/pgtransdb.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/interfaces/libpq++/pgtransdb.cc')
-rw-r--r--src/interfaces/libpq++/pgtransdb.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/interfaces/libpq++/pgtransdb.cc b/src/interfaces/libpq++/pgtransdb.cc
index 61549d01243..dd7195e1bf9 100644
--- a/src/interfaces/libpq++/pgtransdb.cc
+++ b/src/interfaces/libpq++/pgtransdb.cc
@@ -10,7 +10,7 @@
* Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/interfaces/libpq++/Attic/pgtransdb.cc,v 1.3 1999/05/30 15:17:58 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/interfaces/libpq++/Attic/pgtransdb.cc,v 1.4 2001/05/09 17:29:10 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -25,7 +25,8 @@
// Make a connection to the specified database with default environment
// See PQconnectdb() for conninfo usage.
PgTransaction::PgTransaction(const char* conninfo)
- : PgDatabase(conninfo)
+ : PgDatabase(conninfo),
+ pgCommitted(true)
{
BeginTransaction();
}
@@ -33,17 +34,20 @@ PgTransaction::PgTransaction(const char* conninfo)
// Destructor: End the transaction block
PgTransaction::~PgTransaction()
{
- EndTransaction();
+ if (!pgCommitted) Exec("ABORT");
}
// Begin the transaction block
ExecStatusType PgTransaction::BeginTransaction()
{
+ pgCommitted = false;
return Exec("BEGIN");
} // End BeginTransaction()
// Begin the transaction block
ExecStatusType PgTransaction::EndTransaction()
{
+ pgCommitted = true;
return Exec("END");
} // End EndTransaction()
+