12#ifndef PQXX_H_TRANSACTION
13#define PQXX_H_TRANSACTION
15#if !defined(PQXX_HEADER_PRE)
16# error "Include libpqxx headers as <pqxx/header>, not <pqxx/header.hxx>."
19#include "pqxx/dbtransaction.hxx"
24class PQXX_LIBEXPORT basic_transaction :
public dbtransaction
28 connection &cx, zview begin_command, std::string_view tname);
29 basic_transaction(connection &cx, zview begin_command, std::string &&tname);
30 basic_transaction(connection &cx, zview begin_command);
32 virtual ~basic_transaction() noexcept override = 0;
35 virtual
void do_commit() override;
81 internal::basic_transaction{
82 cx, internal::begin_cmd<ISOLATION, READWRITE>, tname}
91 internal::basic_transaction{
92 cx, internal::begin_cmd<ISOLATION, READWRITE>}
transaction(connection &cx)
Begin a transaction.
Definition transaction.hxx:90
transaction(connection &cx, std::string_view tname)
Begin a transaction.
Definition transaction.hxx:80
Standard back-end transaction, templatised on isolation level.
Definition transaction.hxx:72
Internal items for libpqxx' own use. Do not use these yourself.
Definition encodings.cxx:33
The home of all libpqxx classes, functions, templates, etc.
Definition array.cxx:27
write_policy
Should a transaction be read-only, or read-write?
Definition isolation.hxx:27
isolation_level
Transaction isolation levels.
Definition isolation.hxx:66