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;
82 cx,
internal::begin_cmd<ISOLATION, READWRITE>, tname}
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
transaction<> work
The default transaction type.
Definition transaction.hxx:100
transaction< isolation_level::read_committed, write_policy::read_only > read_transaction
Read-only transaction.
Definition transaction.hxx:103
write_policy
Should a transaction be read-only, or read-write?
Definition isolation.hxx:27
isolation_level
Transaction isolation levels.
Definition isolation.hxx:66