12 #ifndef PQXX_TRANSACTION_HXX
13 #define PQXX_TRANSACTION_HXX
15 #if !defined(PQXX_HEADER_PRE)
16 # error "Include libpqxx headers as <pqxx/header>, not <pqxx/header.hxx>."
36 void do_commit(
sl)
override;
94 internal::basic_transaction{
95 cx, internal::
begin_cmd<ISOLATION, READWRITE>, tname, loc}
104 internal::basic_transaction{
105 cx, internal::
begin_cmd<ISOLATION, READWRITE>, loc}
Connection to a database.
Definition: connection.hxx:273
Helper base class for the pqxx::transaction class template.
Definition: transaction.hxx:25
basic_transaction(basic_transaction const &)=delete
basic_transaction(basic_transaction &&)=delete
basic_transaction()=delete
~basic_transaction() noexcept override=0
Marker-type wrapper: zero-terminated std::string_view.
Definition: zview.hxx:55
transaction & operator=(transaction const &)=delete
transaction(transaction &&)=delete
transaction(connection &cx, std::string_view tname, sl loc=sl::current())
Begin a transaction.
Definition: transaction.hxx:93
transaction(connection &cx, sl loc=sl::current())
Begin a transaction.
Definition: transaction.hxx:103
transaction & operator=(transaction &&)=delete
transaction(transaction const &)=delete
~transaction() noexcept override
Definition: transaction.hxx:113
Abstract transaction base class: bracket transactions on the database.
Definition: dbtransaction.hxx:54
transaction Standard back-end transaction, templatised on isolation level.
Definition: transaction.hxx:85
Private namespace for libpqxx's internal use; do not access.
Definition: connection.cxx:333
const zview begin_cmd
The SQL command for starting a given type of transaction.
The home of all libpqxx classes, functions, templates, etc.
Definition: array.cxx:26
write_policy
Should a transaction be read-only, or read-write?
Definition: isolation.hxx:27
std::source_location sl
Convenience alias for std::source_location. It's just too long.
Definition: types.hxx:38
isolation_level
Transaction isolation levels.
Definition: isolation.hxx:66
@ read_committed
Definition: isolation.hxx:70