#include <prepared_statement.hxx>
Public Member Functions | |
invocation (transaction_base &, const PGSTD::string &statement) | |
result | exec () const |
Execute! | |
invocation & | operator() () |
Pass null parameter. | |
template<typename T> | |
invocation & | operator() (const T &v, bool nonnull=true) |
Pass parameter value. | |
template<typename T> | |
invocation & | operator() (T *v, bool nonnull=true) |
Pass C-style parameter string, or null if pointer is null. | |
invocation & | operator() (const char *v, bool nonnull=true) |
Pass C-style string parameter, or null if pointer is null. |
pqxx::prepare::invocation::invocation | ( | transaction_base & | , | |
const PGSTD::string & | statement | |||
) |
pqxx::result pqxx::prepare::invocation::exec | ( | ) | const |
Execute!
pqxx::prepare::invocation & pqxx::prepare::invocation::operator() | ( | ) |
Pass null parameter.
invocation& pqxx::prepare::invocation::operator() | ( | const T & | v, | |
bool | nonnull = true | |||
) |
Pass parameter value.
v | parameter value (will be represented as a string internally) | |
nonnull | replaces value with null if set to false |
invocation& pqxx::prepare::invocation::operator() | ( | T * | v, | |
bool | nonnull = true | |||
) |
Pass C-style parameter string, or null if pointer is null.
This version is for passing C-style strings; it's a template, so any pointer type that to_string
accepts will do.
NULL!
Since NULL
in C++ is an int
, not a pointer, a value of NULL
would cause the wrong version of this template to be invoked. To all intents and purposes it would look like you were trying to pass a regular zero as an integer value, instead of a null string. This is not a problem with pointer variables that may happen to be NULL
, since in that case the value's type is not subject to any confusion. So if you know at compile time that you want to pass a null value, use the zero-argument version of this operator; if you don't want to do that, at least add a second argument of false
to make clear that you want a null, not a zero.v | parameter value (will be represented as a C++ string internally) | |
nonnull | replaces value with null if set to false |
invocation& pqxx::prepare::invocation::operator() | ( | const char * | v, | |
bool | nonnull = true | |||
) |
Pass C-style string parameter, or null if pointer is null.
This duplicates the pointer-to-template-argument-type version of the operator, but helps compilers with less advanced template implementations disambiguate calls where C-style strings are passed.