libpqxx
The C++ client library for PostgreSQL
|
Base class for things that monopolise a transaction's attention. More...
Public Member Functions | |
transaction_focus (transaction_base &t, std::string_view cname, std::string_view oname) | |
transaction_focus (transaction_base &t, std::string_view cname, std::string &&oname) | |
transaction_focus (transaction_base &t, std::string_view cname) | |
transaction_focus (transaction_focus const &)=delete | |
transaction_focus & | operator= (transaction_focus const &)=delete |
constexpr std::string_view | classname () const noexcept |
Class name, for human consumption. | |
std::string_view | name () const &noexcept |
Name for this object, if the caller passed one; empty string otherwise. | |
std::string | description () const |
transaction_focus (transaction_focus &&other) | |
transaction_focus & | operator= (transaction_focus &&other) |
Protected Member Functions | |
void | register_me () |
void | unregister_me () noexcept |
void | reg_pending_error (std::string const &) noexcept |
bool | registered () const noexcept |
Protected Attributes | |
transaction_base * | m_trans |
Base class for things that monopolise a transaction's attention.
You probably won't need to use this class. But it can be useful to know that a given libpqxx class is derived from it.
Pipelines, SQL statements, and data streams are examples of classes derived from transaction_focus
. In any given transaction, only one object of such a class can be active at any given time.