summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrandomdan <randomdan@localhost>2011-02-17 20:42:53 +0000
committerrandomdan <randomdan@localhost>2011-02-17 20:42:53 +0000
commite960e424ae4b8e5a9387760c2d2e5475167b18d8 (patch)
tree2be0e276c10f95b04edbf975b076afeec848313e
parentFix the case when a bound buffer is too small and it's reported as success wi... (diff)
downloadlibdbpp-odbc-e960e424ae4b8e5a9387760c2d2e5475167b18d8.tar.bz2
libdbpp-odbc-e960e424ae4b8e5a9387760c2d2e5475167b18d8.tar.xz
libdbpp-odbc-e960e424ae4b8e5a9387760c2d2e5475167b18d8.zip
Add check function for when a connection is finished with, but you don't want to close it
Use prepared statements only for modifications, use fetch instead for selects (doesn't load an entire record set) Support varchar oid
-rw-r--r--libodbcpp/connection.cpp9
-rw-r--r--libodbcpp/connection.h1
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;