libpq 控制函数

缺省时, libpq 在后端往 stderr 上打印“通知”信息和一些它自身生成的错误信息.这个特性可以通过提供一个对信息进行某种加工的回叫函数来更改.我们向这个回叫函数传递错误信息的文本(包括文本结尾的换行符),和一个空(void)指针,该指针与传递给 PQsetNoticeProcessor 的完全一样.(如果需要,这个指针可以用于访问应用相关的状态.)缺省的通知处理器只是简单的
static void
defaultNoticeProcessor(void * arg, const char * message)
{
    fprintf(stderr, "%s", message);
}
要使用特殊的通知处理器,在创建完新的 PGconn 对象后马上调用 PQsetNoticeProcessor

返回值是指向以前的通知处理器的指针。如果你提供了一个 NULL 做为回调指针,那么不会发生任何动作,只是返回当前的指针。

一旦你设置了一个通知处理器,你就应该预料到该函数可能在 PGconn 对象或 PGresult 对象从开始存在时起就可能被调用.当创建一个 PGresult 时,PGconn 的当前的通知指针被拷贝到 PGresult 里提供给可能需要的过程,如 PQgetvalue 使用.