Helper class for passing parameters to, and executing, prepared statements.
More...
#include <prepared_statement.hxx>
Detailed Description
Helper class for passing parameters to, and executing, prepared statements.
Constructor & Destructor Documentation
pqxx::prepare::invocation::invocation |
( |
transaction_base & |
home, |
|
|
const std::string & |
statement |
|
) |
| |
Member Function Documentation
bool pqxx::prepare::invocation::exists |
( |
| ) |
const |
Has a statement of this name been defined?
invocation& pqxx::prepare::invocation::operator() |
( |
| ) |
|
template<typename T >
invocation& pqxx::prepare::invocation::operator() |
( |
const T & |
v | ) |
|
Pass parameter value.
- Parameters
-
v | parameter value; will be represented as a string internally. |
Pass binary parameter value for a BYTEA field.
- Parameters
-
v | binary string; will be passed on directly in binary form. |
template<typename T >
invocation& pqxx::prepare::invocation::operator() |
( |
const T & |
v, |
|
|
bool |
nonnull |
|
) |
| |
Pass parameter value.
- Parameters
-
v | parameter value (will be represented as a string internally). |
nonnull | replaces value with null if set to false. |
Pass binary parameter value for a BYTEA field.
- Parameters
-
v | binary string; will be passed on directly in binary form. |
nonnull | determines whether to pass a real value, or NULL. |
template<typename T >
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.
- Warning
- Be very careful with the special constant
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.
- Parameters
-
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.
The documentation for this class was generated from the following files: