Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

pqxx::trigger Class Reference

"Observer" base class for trigger notifications. More...

#include <trigger.hxx>

List of all members.

Public Member Functions

 trigger (connection_base &C, const PGSTD::string &N)
 Constructor. Registers the trigger with connection C.
virtual ~trigger () throw ()
const PGSTD::string & name () const
virtual void operator() (int be_pid)=0
 Overridable: action to invoke when trigger is notified.

Protected Member Functions

connection_baseConn () const throw ()


Detailed Description

"Observer" base class for trigger notifications.

To listen on a database trigger, derive your own class from trigger and define its function call operator to perform whatever action you wish to take when the given trigger arrives. Then create an object of that class and pass it to your connection. DO NOT set triggers directly through SQL, or they won't be restored when your connection fails--and you'll have no way to notice.

Trigger notifications never arrive inside a transaction. Therefore, you are free to open a transaction of your own inside your trigger's function invocation operator.

Notifications for your trigger may arrive anywhere within libpqxx code, but be aware that PostgreSQL defers notifications occurring inside transactions. So if you're keeping a transaction open, don't expect any of your triggers on the same connection to be notified.

Multiple triggers on the same connection may have the same name.


Constructor & Destructor Documentation

pqxx::trigger::trigger connection_base C,
const PGSTD::string &  N
 

Constructor. Registers the trigger with connection C.

Parameters:
C Connection this trigger resides in.
N A name for the trigger.

virtual pqxx::trigger::~trigger  )  throw () [virtual]
 


Member Function Documentation

connection_base& pqxx::trigger::Conn  )  const throw () [protected]
 

const PGSTD::string& pqxx::trigger::name  )  const
 

virtual void pqxx::trigger::operator() int  be_pid  )  [pure virtual]
 

Overridable: action to invoke when trigger is notified.

Parameters:
be_pid Process ID of the database backend process that served our connection when the trigger was notified. The actual process ID behind the connection may have changed by the time this method is called.


The documentation for this class was generated from the following file:
Generated on Mon Nov 15 11:28:05 2004 for libpqxx by  doxygen 1.3.9.1