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"
35 virtual
void do_commit() override;
80 transaction(
connection &c, std::string_view tname) :
82 c, internal::begin_cmd<ISOLATION, READWRITE>, tname}
92 c, internal::begin_cmd<ISOLATION, READWRITE>}
95 virtual ~transaction()
noexcept override { close(); }
100using work = transaction<>;
103using read_transaction =
104 transaction<isolation_level::read_committed, write_policy::read_only>;
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
isolation_level
Transaction isolation levels.
Definition isolation.hxx:66
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 transaction class template.
Definition transaction.hxx:25
virtual ~basic_transaction() noexcept override=0
Marker-type wrapper: zero-terminated std::string_view.
Definition zview.hxx:38