PostgreSQL数据库手册之libpq-C库-----捷径接口

王朝mssql·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

1.5. 捷径接口

PostgreSQL 提供一个发往后端的函数调用的捷径接口.这是一个通向系统内部的后门,因而可能存在安全漏洞.大多数用户应该不需要这个特性.

*

PQfn 请求允许通过捷径接口执行后端函数.

PGresult* PQfn(PGconn* conn,

int fnid,

int *result_buf,

int *result_len,

int result_is_int,

const PQArgBlock *args,

int nargs);

fnid参数是待执行的函数的对象标识(OID). result_buf是放置返回值的缓冲区. 调用者必须为返回值分配足够的空间(这里没有检查!). 实际的返回值长度将被放在result_len指向的整数里返回. 如果预期返回值是 4-字节整数,把result_is_int设为 1; 否则设为 0.(把result_is_int设为 1 告诉 libpq必要时交换数值字节序, 这样就可以正确地传输成客户机上的整数值.当 result_is_int是 0 时, 后端发送回来的字节串不做修改.) args和nargs声明要传入函数的参数.

typedef struct {

int len;

int isint;

union {

int *ptr;

int integer;

} u;

} PQArgBlock;

PQfn 总是返回一个有效的PGresult*. 在使用结果之前应该检查结果状态。 当结果不再使用后,调用者有义务使用 PQclear 释放PGresult.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航