libpqxx
dbtransaction.hxx
1
13#ifndef PQXX_H_DBTRANSACTION
14#define PQXX_H_DBTRANSACTION
15
16#include "pqxx/compiler-public.hxx"
17#include "pqxx/compiler-internal-pre.hxx"
18
19#include "pqxx/transaction_base.hxx"
20
21namespace pqxx
22{
23
25{
28};
29
30
32
62class PQXX_LIBEXPORT PQXX_NOVTABLE dbtransaction : public transaction_base
63{
64public:
65 virtual ~dbtransaction();
66
67protected:
70 const std::string &IsolationString,
72
73 explicit dbtransaction(
75 bool direct=true,
77
78
81
83 virtual void do_begin() override; //[t01]
85 virtual result do_exec(const char Query[]) override;
87 virtual void do_commit() override =0;
89
95 virtual void do_abort() override; //[t13]
96
97 static std::string fullname(const std::string &ttype,
98 const std::string &isolation);
99
100private:
102 std::string m_start_cmd;
103};
104
105} // namespace pqxx
106
107#include "pqxx/compiler-internal-post.hxx"
108
109#endif
The home of all libpqxx classes, functions, templates, etc.
Definition: array.hxx:26
readwrite_policy
Definition: dbtransaction.hxx:25
@ read_only
Definition: dbtransaction.hxx:26
@ read_write
Definition: dbtransaction.hxx:27
connection_base abstract base class; represents a connection to a database.
Definition: connection_base.hxx:140
Abstract base class responsible for bracketing a backend transaction.
Definition: dbtransaction.hxx:63
void start_backend_transaction()
Start a transaction on the backend and set desired isolation level.
virtual void do_commit() override=0
To be implemented by derived class: commit backend transaction.
Result set containing data returned by a query or command.
Definition: result.hxx:70
Interface definition (and common code) for "transaction" classes.
Definition: transaction_base.hxx:138