Helper class for passing parameters to, and executing, prepared statements.
More...
#include <prepared_statement.hxx>
Helper class for passing parameters to, and executing, prepared statements.
pqxx::prepare::invocation::invocation |
( |
transaction_base & |
, |
|
|
const PGSTD::string & |
statement |
|
) |
| |
void pqxx::internal::statement_parameters::add_binary_param |
( |
const binarystring & |
b, |
|
|
bool |
nonnull |
|
) |
| |
|
inlineprotectedinherited |
void pqxx::internal::statement_parameters::add_param |
( |
| ) |
|
|
inlineprotectedinherited |
template<typename T >
void pqxx::internal::statement_parameters::add_param |
( |
const T & |
v, |
|
|
bool |
nonnull |
|
) |
| |
|
inlineprotectedinherited |
result pqxx::prepare::invocation::exec |
( |
| ) |
const |
bool pqxx::prepare::invocation::exists |
( |
| ) |
const |
Has a statement of this name been defined?
Marshall parameter values into C-style arrays for passing to libpq.
invocation& pqxx::prepare::invocation::operator() |
( |
| ) |
|
|
inline |
template<typename T >
invocation& pqxx::prepare::invocation::operator() |
( |
const T & |
v | ) |
|
|
inline |
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 |
|
) |
| |
|
inline |
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 |
|
) |
| |
|
inline |
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 |
|
) |
| |
|
inline |
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.
invocation& pqxx::prepare::invocation::setparam |
( |
const PGSTD::string & |
, |
|
|
bool |
nonnull |
|
) |
| |
|
private |
PGSTD::vector<bool> pqxx::prepare::invocation::m_nonnull |
|
private |
const PGSTD::string pqxx::prepare::invocation::m_statement |
|
private |
PGSTD::vector<PGSTD::string> pqxx::prepare::invocation::m_values |
|
private |
The documentation for this class was generated from the following file: