19 #ifndef PQXX_H_ROBUSTTRANSACTION
20 #define PQXX_H_ROBUSTTRANSACTION
22 #include "pqxx/compiler-public.hxx"
23 #include "pqxx/compiler-internal-pre.hxx"
25 #include "pqxx/dbtransaction"
53 const std::string &IsolationLevel,
54 const std::string &table_name=std::string());
57 typedef unsigned long IDType;
60 std::string m_LogTable;
61 std::string m_sequence;
64 virtual void do_begin() PQXX_OVERRIDE;
65 virtual
void do_commit() PQXX_OVERRIDE;
66 virtual
void do_abort() PQXX_OVERRIDE;
68 PQXX_PRIVATE
void CreateLogTable();
69 PQXX_PRIVATE
void CreateTransactionRecord();
70 PQXX_PRIVATE std::
string sql_delete() const;
71 PQXX_PRIVATE
void DeleteTransactionRecord() PQXX_NOEXCEPT;
72 PQXX_PRIVATE
bool CheckTransactionRecord();
156 const std::string &Name=std::string()) :
157 namedclass(fullname(
"robusttransaction",isolation_tag::name()), Name),
158 basic_robusttransaction(C, isolation_tag::name())
171 #include "pqxx/compiler-internal-post.hxx"
connection_base abstract base class; represents a connection to a database.
Definition: connection_base.hxx:149
robusttransaction(connection_base &C, const std::string &Name=std::string())
Constructor.
Definition: robusttransaction.hxx:155
Definition: robusttransaction.hxx:41
virtual ~robusttransaction() PQXX_NOEXCEPT
Definition: robusttransaction.hxx:161
Traits class to describe an isolation level; primarly for libpqxx's own use.
Definition: isolation.hxx:69
Definition: isolation.hxx:63
Slightly slower, better-fortified version of transaction.
Definition: robusttransaction.hxx:145
Definition: dbtransaction.hxx:68
isolation_level
Transaction isolation levels.
Definition: isolation.hxx:60
isolation_traits< read_committed > isolation_tag
Isolation level is read_committed by default.
Definition: robusttransaction.hxx:46
isolation_traits< ISOLATIONLEVEL > isolation_tag
Definition: robusttransaction.hxx:148