13 #ifndef PQXX_H_ROBUSTTRANSACTION
14 #define PQXX_H_ROBUSTTRANSACTION
16 #include "pqxx/compiler-public.hxx"
17 #include "pqxx/internal/compiler-internal-pre.hxx"
19 #include "pqxx/dbtransaction.hxx"
34 using IDType =
unsigned long;
36 std::string m_conn_string;
38 int m_backendpid = -1;
40 virtual void do_commit()
override;
41 virtual void do_abort()
override;
76 template<isolation_level ISOLATION = read_committed>
87 internal::basic_robusttransaction{
89 pqxx::internal::begin_cmd<ISOLATION, write_policy::read_write>.c_str()}
100 #include "pqxx/internal/compiler-internal-post.hxx"
Simple "transaction" class offering no transactional integrity.
Definition: nontransaction.hxx:52
basic_robusttransaction(connection &c, char const begin_command[])
Definition: robusttransaction.cxx:78
TYPE query_value(std::string const &query, std::string const &desc=std::string{})
Execute query, expecting exactly 1 row with 1 field.
Definition: transaction_base.hxx:275
The home of all libpqxx classes, functions, templates, etc.
Definition: array.hxx:25
virtual ~robusttransaction() noexcept override
Definition: robusttransaction.hxx:92
Slightly slower, better-fortified version of transaction.
Definition: robusttransaction.hxx:77
Helper base class for the robusttransaction class template.
Definition: robusttransaction.hxx:24
std::string to_string(field const &value)
Convert a field to a string.
Definition: result.cxx:478
robusttransaction(connection &c, std::string_view name=std::string_view{})
Definition: robusttransaction.hxx:84
Private namespace for libpqxx's internal use; do not access.
Definition: connection.hxx:59
namedclass(std::string_view classname)
Definition: util.hxx:211
Helper base class: object descriptions for error messages and such.
Definition: util.hxx:208
Abstract transaction base class: bracket transactions on the database.
Definition: dbtransaction.hxx:52
Exception class for lost or failed backend connection.
Definition: except.hxx:67
Internal error in libpqxx library.
Definition: except.hxx:157
Connection to a database.
Definition: connection.hxx:135
void close() noexcept
End transaction. To be called by implementing class' destructor.
Definition: transaction_base.cxx:308
virtual ~basic_robusttransaction() override=0
const std::string & name() const noexcept
Object name, or the empty string if no name was given.
Definition: util.hxx:229