// file : odb/pgsql/transaction-impl.cxx // author : Constantin Michael // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC // license : GNU GPL v2; see accompanying LICENSE file #include #include #include #include #include #include #include #include namespace odb { namespace pgsql { transaction_impl:: transaction_impl (connection_ptr c) : odb::transaction_impl (c->database (), *c), connection_ (c) { result_ptr r (PQexec (connection_->handle (), "begin")); PGresult* h (r.get ()); if (!h || PGRES_COMMAND_OK != PQresultStatus (h)) translate_error (*connection_, h); } transaction_impl:: ~transaction_impl () { } void transaction_impl:: commit () { result_ptr r (PQexec (connection_->handle (), "commit")); PGresult* h (r.get ()); if (!h || PGRES_COMMAND_OK != PQresultStatus (h)) translate_error (*connection_, h); } void transaction_impl:: rollback () { result_ptr r (PQexec (connection_->handle (), "rollback")); PGresult* h (r.get ()); if (!h || PGRES_COMMAND_OK != PQresultStatus (h)) translate_error (*connection_, h); } } }