13 #ifndef PQXX_H_ROBUSTTRANSACTION
14 #define PQXX_H_ROBUSTTRANSACTION
16 #if !defined(PQXX_HEADER_PRE)
17 # error "Include libpqxx headers as <pqxx/header>, not <pqxx/header.hxx>."
20 #include "pqxx/dbtransaction.hxx"
37 using IDType =
unsigned long;
39 std::string m_conn_string;
41 int m_backendpid = -1;
43 void init(
zview begin_command);
46 virtual void do_commit()
override;
81 template<isolation_level ISOLATION = read_committed>
90 internal::basic_robusttransaction{
91 cx, pqxx::internal::begin_cmd<ISOLATION, write_policy::read_write>,
100 internal::basic_robusttransaction{
101 cx, pqxx::internal::begin_cmd<ISOLATION, write_policy::read_write>,
109 internal::basic_robusttransaction{
110 cx, pqxx::internal::begin_cmd<ISOLATION, write_policy::read_write>}
Slightly slower, better-fortified version of transaction.
Definition: robusttransaction.hxx:82
void close() noexcept
End transaction. To be called by implementing class' destructor.
Definition: transaction_base.cxx:332
Helper base class for the robusttransaction class template.
Definition: robusttransaction.hxx:25
Marker-type wrapper: zero-terminated std::string_view.
Definition: zview.hxx:37
Internal items for libpqxx' own use. Do not use these yourself.
Definition: encodings.cxx:32
robusttransaction(connection &cx, std::string_view tname)
Definition: robusttransaction.hxx:89
robusttransaction(connection &cx)
Definition: robusttransaction.hxx:108
robusttransaction(connection &cx, std::string &&tname)
Definition: robusttransaction.hxx:99
Abstract transaction base class: bracket transactions on the database.
Definition: dbtransaction.hxx:53
The home of all libpqxx classes, functions, templates, etc.
Definition: array.cxx:26
Connection to a database.
Definition: connection.hxx:278