fatalmind::mysql::SQLExecute Class Reference

#include <SQLExecute.hh>

Inherits fatalmind::Command< PT >< fatalmind::PoolType >, and fatalmind::SQL::Bind< VBC, CT >< fatalmind::mysql::SQLType, fatalmind::mysql::SQLTypeImpl< T > >.

List of all members.


Detailed Description

A Command to issue an non-select statement (update, insert, delete) against a mysql database.

Public Types

typedef PT pool_type

Public Member Functions

 SQLExecute (const std::string &SQL)
 SQLExecute (const ResourcePool< ResourceType > &p, const std::string &SQL)
virtual void execute (mysqlResource &)
virtual void outputoperator (std::ostream &) const
virtual void execute (typename PT::resource_t &rr)=0
 The execute method is the one which actually carries out the work.
Clone * clone () const
template<class Derived>
Derived * clone () const
template<typename T>
void bind (const unsigned int pos, const T &val, bool nul=false)
 Binds an actual input value for an placeholder in the SQL statement.
virtual void clearParameters ()
virtual void bindoutputoperator (std::ostream &str) const

Protected Types

typedef std::vector< gc_ptr
< VBC > > 
_argst

Protected Member Functions

virtual Clone * DoClone () const
const PT::factory_t & getFactory (const ResourcePool< PT > &p) const

Protected Attributes

_argst _args

Member Function Documentation

template<class PT>
virtual void fatalmind::Command< PT >::execute ( typename PT::resource_t &  rr  )  [pure virtual, inherited]

The execute method is the one which actually carries out the work.

This method gets called by ResourcePool with a (valid) plain resource which was obtained from the pool.

On normal execution (no exception) the resource will be free()ed, on abnormal execution (exception) the resource will be failed. If you need to throw an functional exception which should not cause failing of the resource, derive this exception from NoFailoverException.

template<class VBC, template< class > class CT>
template<typename T>
void fatalmind::SQL::Bind< VBC, CT >::bind ( const unsigned int  pos,
const T &  val,
bool  nul = false 
) [inline, inherited]

Binds an actual input value for an placeholder in the SQL statement.

All binding is done by value! this means the passed data are copied to internal storage. Chaning your original copy of your data after passing it to bind() is therefore safe.

Parameters:
pos The position indicator. The number of placeholder (?) in the SQL string. Counted from the left starting at 0.
val the actual value.
nul NULL inidcator, if set to yes the actual value to be bound will be NULL. Please note that you still need to provide a valid value!

Reimplemented from fatalmind::SQL::BindInterface.


The documentation for this class was generated from the following files:

Generated on Mon Jun 9 11:27:03 2008 for ResourcePool by  doxygen 1.5.5