pqxx::transaction< ISOLATIONLEVEL > Class Template Reference
[Transaction classes]

Standard back-end transaction, templatized on isolation level. More...

#include <transaction.hxx>

Inheritance diagram for pqxx::transaction< ISOLATIONLEVEL >:

Inheritance graph
[legend]
List of all members.

Public Types

typedef isolation_traits<
ISOLATIONLEVEL > 
isolation_tag
 If nothing else is known, our isolation level is at least read_committed.

Public Member Functions

 transaction (connection_base &C, const PGSTD::string &TName)
 Create a transaction.
 transaction (connection_base &C)
virtual ~transaction () throw ()

Detailed Description

template<isolation_level ISOLATIONLEVEL = read_committed>
class pqxx::transaction< ISOLATIONLEVEL >

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.

See also:
pqxx/transactor.hxx
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

 extern connection C;
 work T(C);
 try
 {
   T.exec("UPDATE employees SET wage=wage*2");
   T.commit();  // NOTE: do this inside try block
 }
 catch (const exception &e)
 {
   cerr << e.what() << endl;
   T.abort();           // Usually not needed; same happens when T's life ends.
 }


Member Typedef Documentation

template<isolation_level ISOLATIONLEVEL = read_committed>
typedef isolation_traits<ISOLATIONLEVEL> pqxx::transaction< ISOLATIONLEVEL >::isolation_tag

If nothing else is known, our isolation level is at least read_committed.

Reimplemented from pqxx::transaction_base.


Constructor & Destructor Documentation

template<isolation_level ISOLATIONLEVEL = read_committed>
pqxx::transaction< ISOLATIONLEVEL >::transaction ( connection_base C,
const PGSTD::string &  TName 
) [explicit]

Create a transaction.

Parameters:
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

template<isolation_level ISOLATIONLEVEL = read_committed>
pqxx::transaction< ISOLATIONLEVEL >::transaction ( connection_base C  )  [explicit]

template<isolation_level ISOLATIONLEVEL = read_committed>
virtual pqxx::transaction< ISOLATIONLEVEL >::~transaction (  )  throw () [virtual]


The documentation for this class was generated from the following file:
Generated on Thu Feb 1 17:12:40 2007 for libpqxx by  doxygen 1.5.1