diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2024-01-25 18:52:59 +0300 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2024-01-25 18:52:59 +0300 |
commit | 3a160a80c788d81e48acf19a2cf68f29cf125dae (patch) | |
tree | 8bf000b3ae959d56367c15aa214a95d24b096905 /odb/mysql/transaction-impl.cxx | |
parent | 35bdfb3e3604527f36f046928324346e8b37b46b (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.cxx | 108 |
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 (); - } - } -} |