|
| transaction (connection &c, std::string const &tname) |
| Create a transaction. More...
|
|
| transaction (connection &c) |
|
virtual | ~transaction () noexcept override |
|
| transaction_base ()=delete |
|
| transaction_base (transaction_base const &)=delete |
|
transaction_base & | operator= (transaction_base const &)=delete |
|
virtual | ~transaction_base ()=0 |
|
void | commit () |
| Commit the transaction. More...
|
|
void | abort () |
| Abort the transaction. More...
|
|
result | exec (std::string_view query, std::string const &desc=std::string{}) |
| Execute query. More...
|
|
result | exec (std::stringstream const &query, std::string const &desc=std::string{}) |
|
result | exec0 (std::string const &query, std::string const &desc=std::string{}) |
| Execute query, which should zero rows of data. More...
|
|
row | exec1 (std::string const &query, std::string const &desc=std::string{}) |
| Execute query returning a single row of data. More...
|
|
result | exec_n (result::size_type rows, std::string const &query, std::string const &desc=std::string{}) |
| Execute query, expect given number of rows. More...
|
|
template<typename TYPE > |
TYPE | query_value (std::string const &query, std::string const &desc=std::string{}) |
| Execute query, expecting exactly 1 row with 1 field. More...
|
|
connection & | conn () const |
| The connection in which this transaction lives. More...
|
|
void | set_variable (std::string_view var, std::string_view value) |
| Set session variable using SQL "SET" command. More...
|
|
std::string | get_variable (std::string_view) |
| Read session variable using SQL "SHOW" command. More...
|
|
std::string | esc (char const text[]) const |
| Escape string for use as SQL string literal in this transaction. More...
|
|
std::string | esc (char const text[], size_t maxlen) const |
| Escape string for use as SQL string literal in this transaction. More...
|
|
std::string | esc (std::string const &text) const |
| Escape string for use as SQL string literal in this transaction. More...
|
|
std::string | esc_raw (unsigned char const data[], size_t len) const |
| Escape binary data for use as SQL string literal in this transaction. More...
|
|
std::string | esc_raw (std::string const &) const |
| Escape binary data for use as SQL string literal in this transaction. More...
|
|
std::string | unesc_raw (std::string const &text) const |
| Unescape binary data, e.g. from a table field or notification payload. More...
|
|
std::string | unesc_raw (char const *text) const |
| Unescape binary data, e.g. from a table field or notification payload. More...
|
|
template<typename T > |
std::string | quote (T const &t) const |
| Represent object as SQL string, including quoting & escaping. More...
|
|
std::string | quote_raw (unsigned char const bin[], size_t len) const |
| Binary-escape and quote a binarystring for use as an SQL constant. More...
|
|
std::string | quote_raw (std::string const &bin) const |
|
std::string | quote_name (std::string_view identifier) const |
| Escape an SQL identifier for use in a query. More...
|
|
std::string | esc_like (std::string const &bin, char escape_char='\\') const |
| Escape string for literal LIKE match. More...
|
|
template<typename... Args> |
result | exec_params (std::string const &query, Args &&... args) |
| Execute an SQL statement with parameters. More...
|
|
template<typename... Args> |
row | exec_params1 (std::string const &query, Args &&... args) |
|
template<typename... Args> |
result | exec_params0 (std::string const &query, Args &&... args) |
|
template<typename... Args> |
result | exec_params_n (size_t rows, std::string const &query, Args &&... args) |
|
template<typename... Args> |
result | exec_prepared (std::string const &statement, Args &&... args) |
| Execute a prepared statement, with optional arguments. More...
|
|
template<typename... Args> |
result | exec_prepared (zview statement, Args &&... args) |
|
template<typename... Args> |
row | exec_prepared1 (std::string const &statement, Args &&... args) |
| Execute a prepared statement, and expect a single-row result. More...
|
|
template<typename... Args> |
row | exec_prepared1 (zview statement, Args &&... args) |
|
template<typename... Args> |
result | exec_prepared0 (std::string const &statement, Args &&... args) |
| Execute a prepared statement, and expect a result with zero rows. More...
|
|
template<typename... Args> |
result | exec_prepared0 (zview statement, Args &&... args) |
|
template<typename... Args> |
result | exec_prepared_n (result::size_type rows, std::string const &statement, Args &&... args) |
| Execute a prepared statement, expect a result with given number of rows. More...
|
|
template<typename... Args> |
result | exec_prepared_n (result::size_type rows, zview statement, Args &&... args) |
|
void | process_notice (char const msg[]) const |
| Have connection process a warning message. More...
|
|
void | process_notice (std::string const &msg) const |
| Have connection process a warning message. More...
|
|
| namedclass (std::string_view classname) |
|
| namedclass (std::string_view classname, std::string_view name) |
|
| namedclass (std::string_view classname, char const name[]) |
|
| namedclass (std::string_view classname, std::string &&name) |
|
std::string const & | name () const noexcept |
| Object name, or the empty string if no name was given. More...
|
|
std::string const & | classname () const noexcept |
| Class name. More...
|
|
std::string | description () const |
| Combination of class name and object name; or just class name. More...
|
|
template<isolation_level ISOLATION = isolation_level::read_committed, write_policy READWRITE = write_policy::read_write>
class pqxx::transaction< ISOLATION, READWRITE >
Standard back-end transaction, templatized on isolation level.
This is the type you'll normally want to use to represent a transaction on the database.
Usage example: double all wages.
extern connection C;
try
{
T.exec0("UPDATE employees SET wage=wage*2");
T.commit();
}
catch (exception const &e)
{
cerr << e.what() << endl;
T.abort();
}