34.7. 快速路径界面

PostgreSQL 提供了一个快速路径接口来将简单的函数调用发送到服务器。

Tip

该接口有些过时了,因为可以通过构建准备好的语句来定义函数调用来达到类似的性能和更大的功能。然后,使用参数和结果的二进制传输来执行该语句,从而替代了快速路径函数调用。

函数PQfn 通过快速路径接口请求执行服务器功能:

PGresult *PQfn(PGconn *conn,
               int fnid,
               int *result_buf,
               int *result_len,
               int result_is_int,
               const PQArgBlock *args,
               int nargs);

typedef struct
{
    int len;
    int isint;
    union
    {
        int *ptr;
        int integer;
    } u;
} PQArgBlock;

PQfn始终返回有效的PGresult指针。在使用结果之前,应检查结果状态。调用方负责在不再需要PGresultPQclear时将其释放。

请注意,使用此接口时,无法处理空参数,空结果或设置值的结果。

上一章 首页 下一章