PQparamCreate(3)

NAME
PQparamCreate, PQparamCount PQparamReset, PQparamClear - PGparam management functions.

SYNOPSIS

#include <libpqtypes.h>

PGparam *PQparamCreate(const PGconn *conn);
PGparam *PQparamDup(PGparam *param);
int PQparamCount(PGparam *param);
void PQparamReset(PGparam *param);
void PQparamClear(PGparam *param);

DESCRIPTION

These functions manage the opaque PGparam object.

PQparamCreate() will allocate and initialize a new PGparam object. After the create call, the PGparam object is ready for use. WARNING: Only types that have been registered via PQregisterXXX, will be available to the param. Meaning, the param is not updated with types registered after the param is created.

PQparamDup() will duplicate a given PGparam, including any internal values that have already been put. This is useful in cases where you want to queue qeuries to execute at a later time, like a connection pooler. The problem is PGparamCreate requires a connection object, which may not be available when attempting to enqueue a query with its PGparam object. Instead, a PGparam object can used for the sole purpose of creating duplicates while there are no available PGconn objects.

PQparamCount() gets the number of parameters in a PGparam object.

PQparamReset() will clear out any previously put parameters, but will not free any memory. This is useful for application looking to "reuse" a PGparam object.

PQparamClear() releases all resources being used by a PGparam object, the object should not be used after a clear.

It is very important to call PQparamReset() if you plan on reusing a PGparam object.

RETURN VALUE

PQparamCreate() returns a pointer to a PGparam object on success and NULL if something failed (check PQgeterror(3) for more information).

PQparamCount() returns the number of parameters in a PGparam object.

PQparamReset() and PQparamClear() have no return values. If either function is provided a NULL PGparam pointer, it will silently fail.

EXAMPLES

None.

AUTHOR

A contribution of eSilo, LLC. for the PostgreSQL Database Management System. Written by Andrew Chernow and Merlin Moncure.

REPORTING BUGS

Report bugs to <libpqtypes@esilo.com>.

COPYRIGHT

Copyright (c) 2011 eSilo, LLC. All rights reserved.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO

pqt-specs(3), PQputf(3), PQgeterror(3), PQparamExec(3)