VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

PQregisterEventProc

功能描述

用libpq注册一个事件回调过程。

接口原型

int PQregisterEventProc(PGconn *conn, PGEventProc proc,            const char *name, void *passThrough);

参数说明

参数 描述
conn 建立连接时返回的连接结构体指针,该指针用于标识某个特定连接。
proc 指定接收事件的回调函数。
name 错误消息中的事件过程名称,不可为null或空串,名字字符串被拷贝到PGconn中,因此name随后可以释放,不需要考虑生命周期的问题。
passThrough 当事件发生时被传递到proc回调函数的参数,可以为NULL。

返回值

对于希望接收到的事件,在每个PGconn中必须注册一次事件过程。只要内存够用,对于一次连接注册的事件过程个数没有限制。如果成功,则返回非零值,否则返回零。

其他

每一个已注册的事件处理器与两部分数据相关,对于libpq它们只是透明的void *指针。当事件处理器被注册到一个PGconn连接时,会有一个应用提供的passThrough指针。该转移指针在PGconn及其产生的所有PGresult的生命期内都不会改变。因此,如果使用它,它必须指向长期存在的数据。此外,还有一个instance data指针,它在每一个PGconn和PGresult中都开始于NULL。这个指针可以使用 后续将要说明的PQinstanceData, PQsetInstanceData, PQresultInstanceData 和 PQsetResultInstanceData函数操纵。