#include <CommandCommon.hh>
Inherits fatalmind::oracle::CommandInterface< TM, SLMDC >< TM, SLMDC >, and fatalmind::SQL::Bind< VBC, CT >< fatalmind::oracle::oracleType, fatalmind::oracle::oracleTypeImpl< T > >.
Inherited by fatalmind::oracle::SQLExecute< TM, SLMDC >, and fatalmind::oracle::SQLSelectRow< TM, SLMDC >.
Public Types | |
typedef fatalmind::oracle::ResourceType < TM, SLMDC > | pool_type |
typedef VBC | _datat |
typedef gc_ptr< VBC > | _ptrt |
typedef std::vector < _ptrt > | _argst |
Public Member Functions | |
virtual void | outputoperator (std::ostream &s) const |
virtual void | execute (oracleResource< TM > &hand) |
virtual void | execute (typename fatalmind::oracle::ResourceType< TM, SLMDC >::resource_t &rr)=0 |
The execute method is the one which actually carries out the work. | |
virtual void | bind (const unsigned int pos, const char &val, bool isnull=false) |
Binds an actual input value for an placeholder in the SQL statement. | |
virtual void | bind (const unsigned int pos, const signed char &val, bool isnull=false) |
virtual void | bind (const unsigned int pos, const unsigned char &val, bool isnull=false) |
virtual void | bind (const unsigned int pos, const short int &val, bool isnull=false) |
virtual void | bind (const unsigned int pos, const unsigned short int &val, bool isnull=false) |
virtual void | bind (const unsigned int pos, const int &val, bool isnull=false) |
virtual void | bind (const unsigned int pos, const unsigned int &val, bool isnull=false) |
virtual void | bind (const unsigned int pos, const long int &val, bool isnull=false) |
virtual void | bind (const unsigned int pos, const unsigned long int &val, bool isnull=false) |
virtual void | bind (const unsigned int pos, const float &val, bool isnull=false) |
virtual void | bind (const unsigned int pos, const double &val, bool isnull=false) |
virtual void | bind (const unsigned int pos, const long double &val, bool isnull=false) |
virtual void | bind (const unsigned int pos, const std::string &val, bool isnull=false) |
virtual void | clearParameters () |
virtual void | bindoutputoperator (std::ostream &str) const |
Static Public Member Functions | |
static void | bindoutputoperator (std::ostream &str, const _argst &) |
Protected Types | |
typedef SQL::Bind < oracleType, oracleTypeImpl > | super_bind |
Protected Member Functions | |
CommandCommon (const fatalmind::SQL::SQLStatement &) | |
CommandCommon can not exits allone, therefor the ctor is protected. | |
virtual void | _execute (oracleResource< TM > &, StatementCache &)=0 |
StatementCache::handle_t | prepare (oracleResource< TM > &, StatementCache &, const oracleStatement &oraSQL) |
void | real_bind (oracleResource< TM > &, OCIStatementHandle &sth) |
const std::string & | getSQL () const |
virtual const std::string & | getCommandName () const |
const fatalmind::oracle::ResourceType < TM, SLMDC > ::factory_t & | getFactory (const ResourcePool< fatalmind::oracle::ResourceType< TM, SLMDC > > &p) const |
bool | topLevel () const |
void | topLevel (bool tl) |
Protected Attributes | |
oracleStatement | _SQL |
this is a copy of the original SQL statement. | |
_argst | _args |
Static Protected Attributes | |
static const std::string | _CommandCommonName |
Friends | |
class | Transaction< TM, SLMDC > |
class | ResourcePool< PT > |
virtual void fatalmind::Command< fatalmind::oracle::ResourceType< TM, SLMDC > >::execute | ( | typename fatalmind::oracle::ResourceType< TM, SLMDC > ::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.
virtual void fatalmind::SQL::Bind< VBC, CT >::bind | ( | const unsigned int | pos, | |
const char & | val, | |||
bool | isnull = false | |||
) | [inline, virtual, 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. Changing your original copy of your data after passing it to bind() is therefore safe.
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! |
Implements fatalmind::SQL::BindInterface.