↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

不受支持的版本: 6.5 / 6.3
历史版本PostgreSQL 6.3 已于 2003 年 3 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本手册首页。

41.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。

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。