Thread: How to use PQfn() in libpq library?
Hi All,
How to use PQfn() in libpq library?
#include <libpq-fe.h>
PGresult *PQfn(PGconn* conn,
int fnid,
int *result_buf,
int *result_len,
int result_is_int,
const PQArgBlock *args,
int nargs);
int fnid,
int *result_buf,
int *result_len,
int result_is_int,
const PQArgBlock *args,
int nargs);
Who can share a detailed example source code? Which server functions can be executed from client?
Many thanks!
Bruce
Bruce YUAN <suanic@gmail.com> writes: > How to use PQfn() in libpq library? Look into src/interfaces/libpq/fe-lobj.c for several examples. However, please note the comment in the documentation: This interface is somewhat obsolete, as one can achieve similar performance and greater functionality by setting up a prepared statement to define the function call. Then, executing the statement with binary transmission of parameters and results substitutes for a fast-path function call. > Which server functions can be > executed from client? Anything you could call normally can be called this way too. regards, tom lane
Hi Tom,
Which interface will replace this? And where can get it's reference?
Best regards,
Bruce
2009/6/19 Tom Lane <tgl@sss.pgh.pa.us>
Look into src/interfaces/libpq/fe-lobj.c for several examples.
However, please note the comment in the documentation:
This interface is somewhat obsolete, as one can achieve similar
performance and greater functionality by setting up a prepared
statement to define the function call. Then, executing the statement
with binary transmission of parameters and results substitutes for a
fast-path function call.Anything you could call normally can be called this way too.
> Which server functions can be
> executed from client?
regards, tom lane
Bruce YUAN escribió: > Hi Tom, > > Which interface will replace this? And where can get it's reference? Try reading beyond the comma in the quoted paragraph: > > This interface is somewhat obsolete, as one can achieve similar > > performance and greater functionality by setting up a prepared > > statement to define the function call. Then, executing the statement > > with binary transmission of parameters and results substitutes for a > > fast-path function call. -- Alvaro Herrera http://www.CommandPrompt.com/ PostgreSQL Replication, Consulting, Custom Development, 24x7 support
Oh. Many thanks!
Bruce
2009/6/20 Alvaro Herrera <alvherre@commandprompt.com>
Bruce YUAN escribió:> Hi Tom,Try reading beyond the comma in the quoted paragraph:
>
> Which interface will replace this? And where can get it's reference?--
> > This interface is somewhat obsolete, as one can achieve similar
> > performance and greater functionality by setting up a prepared
> > statement to define the function call. Then, executing the statement
> > with binary transmission of parameters and results substitutes for a
> > fast-path function call.
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support