GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  PQEXECF (3)

NAME

PQexecf - Prepares parameters and executes a command.

CONTENTS

Synopsis
Description
Return Value
Examples
     Using PQexecf
Author
Reporting Bugs
Copyright
See Also

SYNOPSIS

#include <libpqtypes.h>

PGresult *PQexecf(const PGconn *conn, const char *cmd, ...);
PGresult *PQexecvf(const PGconn *conn, const char *cmd, va_list ap);
int PQsendf(const PGconn *conn, const char *cmd, ...);
int PQsendvf(const PGconn *conn, const char *cmd, va_list ap);

DESCRIPTION

The PQexecf() function executes a command that uses libpqtypes type specifiers instead of $1, $2, etc... syntax. The idea is to combine PQputvf() and PQparamExec() into a single call. The variable argument list must match the type specs listed within the cmd. The type specifiers should be placed where one would normally place $1, $2, etc...

The PQexecvf() function is identical to PQexecf() except it takes a va_list.

The PQsendf() and PQsendvf() functions are identical to PQexecf() and PQexecvf() except they are asynchronous versions, meaning an additional call, PQgetResult, must be issued to get the PGresult object. For more information, see the PostgreSQL Documentation: specifically the "Asynchronous Command Processing" section under "Client Interfaces | libpq - C library".

A prepared type spec "@name" can be used with these functions, granted that PQspecPrepare() was called with a non-zero value for the is_stmt argument. These functions needs an actual SQL statement to execute.

RETURN VALUE

PQexecf and PQexecvf return NULL on error and a valid PGresult on success. PQsendf and PQsendvf return zero on error and a non-zero value on success. On error, use PQgeterror(3) to obtain an error message.

EXAMPLES

    Using PQexecf

The example uses PQexecf function to execute a query.

/* The PQexecf call is shorthand for: * * PGparam *param = PQparamCreate(conn); * PQputf(param, "%int4 %int4", 1, 1); * res = PQparamExec(conn, param, "SELECT $1 + $2", 1); * PQparamClear(param); * * As you may notice, PQexecf makes life much simpler. */ PGresult *res = PQexecf(conn, "SELECT %int4 + %int4", 1, 1);

if(!res)         fprintf(stderr, "PQexecf failed: %s", PQgeterror()); else         PQclear(res);

/* A bit more common, this puts an int4 and a text into a generated * PGparam and then executes ’myfunc($1, $2)’ */ res = PQexecf(conn, "SELECT * FROM myfunc(%int4, %text)", 2, "abc");

/* Prepared type spec example. To use with execf, the final "is_stmt" * argument must be set to a non-zero value! */ PQspecPrepare(conn, "account_insert", "INSERT INTO account VALUES "         "(%int8, %text, %int4)", 1);

PGint8 acc_id = 78236; PGtext acc_name = "ABC Coders, LLC."; PGint4 acc_biz = ACC_BIZ_TECHNOLOGY;

PQexecf(conn, "@account_insert", acc_id, acc_name, acc_biz);

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

PQgeterror(3), PQputvf(3), PQparamExec(3)

Search for    or go to Top of page |  Section 3 |  Main Index


libpqtypes PQEXECF (3) 2011

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.