|
libpqxx
4.0.1
|
Standard back-end transaction, templatized on isolation level. More...
#include <transaction.hxx>
Public Types | |
| typedef isolation_traits< ISOLATIONLEVEL > | isolation_tag |
Public Types inherited from pqxx::transaction_base | |
| typedef isolation_traits< read_committed > | isolation_tag |
| If nothing else is known, our isolation level is at least read_committed. More... | |
Public Member Functions | |
| transaction (connection_base &C, const std::string &TName) | |
| Create a transaction. More... | |
| transaction (connection_base &C) | |
| virtual | ~transaction () throw () |
Public Member Functions inherited from pqxx::dbtransaction | |
| virtual | ~dbtransaction () |
Public Member Functions inherited from pqxx::transaction_base | |
| virtual | ~transaction_base ()=0 |
| void | commit () |
| Commit the transaction. More... | |
| void | abort () |
| Abort the transaction. More... | |
| std::string | esc (const char str[]) const |
| Escape string for use as SQL string literal in this transaction. More... | |
| std::string | esc (const char str[], size_t maxlen) const |
| Escape string for use as SQL string literal in this transaction. More... | |
| std::string | esc (const std::string &str) const |
| Escape string for use as SQL string literal in this transaction. More... | |
| std::string | esc_raw (const unsigned char str[], size_t len) const |
| Escape binary data for use as SQL string literal in this transaction. More... | |
| std::string | esc_raw (const std::string &) const |
| Escape binary data for use as SQL string literal in this transaction. More... | |
| template<typename T > | |
| std::string | quote (const T &t) const |
| Represent object as SQL string, including quoting & escaping. More... | |
| std::string | quote_raw (const unsigned char str[], size_t len) const |
| Binary-escape and quote a binarystring for use as an SQL constant. More... | |
| std::string | quote_raw (const std::string &str) const |
| std::string | quote_name (const std::string &identifier) const |
| Escape an SQL identifier for use in a query. More... | |
| result | exec (const std::string &Query, const std::string &Desc=std::string()) |
| Execute query. More... | |
| result | exec (const std::stringstream &Query, const std::string &Desc=std::string()) |
| internal::parameterized_invocation | parameterized (const std::string &query) |
| Parameterize a statement. More... | |
| connection_base & | conn () const |
| Connection this transaction is running in. More... | |
| void | set_variable (const std::string &Var, const std::string &Val) |
| Set session variable in this connection. More... | |
| std::string | get_variable (const std::string &) |
| Get currently applicable value of variable. More... | |
| prepare::invocation | prepared (const std::string &statement=std::string()) |
| Execute prepared statement. More... | |
| void | process_notice (const char Msg[]) const |
| Have connection process warning message. More... | |
| void | process_notice (const std::string &Msg) const |
| Have connection process warning message. More... | |
Public Member Functions inherited from pqxx::internal::namedclass | |
| namedclass (const std::string &Classname, const std::string &Name="") | |
| const std::string & | name () const throw () |
| const std::string & | classname () const throw () |
| std::string | description () const |
Additional Inherited Members | |
Protected Member Functions inherited from pqxx::basic_transaction | |
| basic_transaction (connection_base &C, const std::string &IsolationLevel, readwrite_policy) | |
Protected Member Functions inherited from pqxx::dbtransaction | |
| dbtransaction (connection_base &, const std::string &IsolationString, readwrite_policy rw=read_write) | |
| dbtransaction (connection_base &, bool direct=true, readwrite_policy rw=read_write) | |
| void | start_backend_transaction () |
| Start a transaction on the backend and set desired isolation level. More... | |
| virtual void | do_begin () |
| Sensible default implemented here: begin backend transaction. More... | |
| virtual result | do_exec (const char Query[]) |
| Sensible default implemented here: perform query. More... | |
| virtual void | do_abort () |
| Sensible default implemented here: abort backend transaction. More... | |
Protected Member Functions inherited from pqxx::transaction_base | |
| transaction_base (connection_base &c, bool direct=true) | |
| Create a transaction (to be called by implementation classes only) More... | |
| void | Begin () |
| Begin transaction (to be called by implementing class) More... | |
| void | End () throw () |
| End transaction. To be called by implementing class' destructor. More... | |
| result | DirectExec (const char C[], int Retries=0) |
| Execute query on connection directly. More... | |
| void | reactivation_avoidance_clear () throw () |
| Forget about any reactivation-blocking resources we tried to allocate. More... | |
Static Protected Member Functions inherited from pqxx::dbtransaction | |
| static std::string | fullname (const std::string &ttype, const std::string &isolation) |
Protected Attributes inherited from pqxx::transaction_base | |
| internal::reactivation_avoidance_counter | m_reactivation_avoidance |
| Resources allocated in this transaction that make reactivation impossible. More... | |
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.
While you may choose to create your own transaction object to interface to the database backend, it is recommended that you wrap your transaction code into a transactor code instead and let the transaction be created for you.
If you should find that using a transactor makes your code less portable or too complex, go ahead, create your own transaction anyway.
Usage example: double all wages
| typedef isolation_traits<ISOLATIONLEVEL> pqxx::transaction< ISOLATIONLEVEL, READWRITE >::isolation_tag |
|
explicit |
Create a transaction.
| C | Connection for this transaction to operate on |
| TName | Optional name for transaction; must begin with a letter and may contain letters and digits only |
|
explicit |
|
virtual | |||||||||||||