diff options
-rw-r--r-- | libodbcpp/connection.cpp | 9 | ||||
-rw-r--r-- | libodbcpp/connection.h | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/libodbcpp/connection.cpp b/libodbcpp/connection.cpp index 087fc69..8619201 100644 --- a/libodbcpp/connection.cpp +++ b/libodbcpp/connection.cpp @@ -100,6 +100,15 @@ ODBC::Connection::~Connection() } } +void +ODBC::Connection::finish() const +{ + if (txDepth != 0) { + rollbackTx(); + throw Error("Transaction still open"); + } +} + int ODBC::Connection::beginTx() const { diff --git a/libodbcpp/connection.h b/libodbcpp/connection.h index 4fc52ca..0e507bd 100644 --- a/libodbcpp/connection.h +++ b/libodbcpp/connection.h @@ -16,6 +16,7 @@ namespace ODBC { SQLHENV env; SQLHDBC conn; + void finish() const; int beginTx() const; int commitTx() const; int rollbackTx() const; |