summaryrefslogtreecommitdiff
path: root/odb/mysql/transaction-impl.cxx
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2024-01-25 18:52:59 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2024-01-25 18:52:59 +0300
commit3a160a80c788d81e48acf19a2cf68f29cf125dae (patch)
tree8bf000b3ae959d56367c15aa214a95d24b096905 /odb/mysql/transaction-impl.cxx
parent35bdfb3e3604527f36f046928324346e8b37b46b (diff)
Turn libodb-mysql repository into package for muti-package repositorylibodb-mysql
Diffstat (limited to 'odb/mysql/transaction-impl.cxx')
-rw-r--r--odb/mysql/transaction-impl.cxx108
1 files changed, 0 insertions, 108 deletions
diff --git a/odb/mysql/transaction-impl.cxx b/odb/mysql/transaction-impl.cxx
deleted file mode 100644
index 0ca1546..0000000
--- a/odb/mysql/transaction-impl.cxx
+++ /dev/null
@@ -1,108 +0,0 @@
-// file : odb/mysql/transaction-impl.cxx
-// license : GNU GPL v2; see accompanying LICENSE file
-
-#include <odb/tracer.hxx>
-
-#include <odb/mysql/mysql.hxx>
-#include <odb/mysql/database.hxx>
-#include <odb/mysql/connection.hxx>
-#include <odb/mysql/error.hxx>
-#include <odb/mysql/transaction-impl.hxx>
-
-namespace odb
-{
- namespace mysql
- {
- transaction_impl::
- transaction_impl (database_type& db)
- : odb::transaction_impl (db)
- {
- }
-
- transaction_impl::
- transaction_impl (connection_ptr c)
- : odb::transaction_impl (c->database (), *c), connection_ (c)
- {
- }
-
- transaction_impl::
- ~transaction_impl ()
- {
- }
-
- void transaction_impl::
- start ()
- {
- // Grab a connection if we don't already have one.
- //
- if (connection_ == 0)
- {
- connection_ = static_cast<database_type&> (database_).connection ();
- odb::transaction_impl::connection_ = connection_.get ();
- }
-
- {
- odb::tracer* t;
- if ((t = connection_->tracer ()) || (t = database_.tracer ()))
- t->execute (*connection_, "BEGIN");
- }
-
- if (mysql_real_query (connection_->handle (), "begin", 5) != 0)
- translate_error (*connection_);
- }
-
- void transaction_impl::
- commit ()
- {
- // Invalidate query results.
- //
- connection_->invalidate_results ();
-
- // Cancel and clear the active statement if any. This normally
- // should happen automatically, however, if an exception is
- // thrown, this may not be the case.
- //
- connection_->clear ();
-
- {
- odb::tracer* t;
- if ((t = connection_->tracer ()) || (t = database_.tracer ()))
- t->execute (*connection_, "COMMIT");
- }
-
- if (mysql_real_query (connection_->handle (), "commit", 6) != 0)
- translate_error (*connection_);
-
- // Release the connection.
- //
- connection_.reset ();
- }
-
- void transaction_impl::
- rollback ()
- {
- // Invalidate query results.
- //
- connection_->invalidate_results ();
-
- // Cancel and clear the active statement if any. This normally
- // should happen automatically, however, if an exception is
- // thrown, this may not be the case.
- //
- connection_->clear ();
-
- {
- odb::tracer* t;
- if ((t = connection_->tracer ()) || (t = database_.tracer ()))
- t->execute (*connection_, "ROLLBACK");
- }
-
- if (mysql_real_query (connection_->handle (), "rollback", 8) != 0)
- translate_error (*connection_);
-
- // Release the connection.
- //
- connection_.reset ();
- }
- }
-}