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;
81template<isolation_level ISOLATION = read_committed>
89 robusttransaction(
connection &c, std::string_view tname) :
99 robusttransaction(connection &c, std::string &&tname) :
108 explicit robusttransaction(connection &c) :
113 virtual ~robusttransaction() noexcept
override {
close(); }
The home of all libpqxx classes, functions, templates, etc.
Definition array.hxx:33
write_policy
Should a transaction be read-only, or read-write?
Definition isolation.hxx:27
Internal items for libpqxx' own use. Do not use these yourself.
Definition composite.hxx:84
Connection to a database.
Definition connection.hxx:253
Abstract transaction base class: bracket transactions on the database.
Definition dbtransaction.hxx:54
Helper base class for the robusttransaction class template.
Definition robusttransaction.hxx:27
virtual ~basic_robusttransaction() override=0
basic_robusttransaction(connection &c, zview begin_command, std::string_view tname)
Definition robusttransaction.cxx:104
void close() noexcept
End transaction. To be called by implementing class' destructor.
Definition transaction_base.cxx:343
Marker-type wrapper: zero-terminated std::string_view.
Definition zview.hxx:38