历史版本。 PostgreSQL 6.3 已结束支持。 请参阅 当前版本手册.
45.4. 快速路径
Postgres 提供一个快速路径接口来向后端发送函数调用。这是通向系统内部的一个天窗,可能成为潜在的安全漏洞。大多数用户不需要此特性。
PGresult* PQfn(PGconn* conn, int fnid, int *result_buf, int *result_len, int result_is_int, PQArgBlock *args, int nargs);fnid 参数是要执行的函数的对象标识符。result_buf 是装载返回值的缓冲区。调用者必须已分配足够的空间来存储返回值。结果长度将返回到 result_len 所指向的存储中。如果结果将是整数值,则 result_is_int 应设为 1;否则应设为 0。args 和 nargs 指定要传给函数的参数。
typedef struct { int len; int isint; union { int *ptr; int integer; } u; } PQArgBlock;PQfn 总是返回有效的 PGresult*。使用结果前应检查 resultStatus。不再需要结果时,调用者负责用 PQclear 释放 PGresult。