PQsetNoticeProcessor Controla le informe de mensajes de aviso y alarma generados por libpq.
typedef void (*PQnoticeProcessor) (void *arg, const char *message); PQnoticeProcessor PQsetNoticeProcessor(PGconn *conn, PQnoticeProcessor proc, void *arg); |
Por defecto, libpq imprime los mensajes de aviso del servidor así como unos pocos mensajes de error que genera por sí mismo en stderr. Este comportamiento se puede sobreescribir suministrando una función de llamada de alarma que haga alguna otra cosa con los mensajes. La función de llamada de alarma utiliza como argumentos el texto del mensaje de error (que incluye un caracter final de "newline"), y un puntero vacío que es el mismo pasado a PQsetNoticeProcessor. (Este puntero se puede utilizar para acceder a estados específicos de la aplicación si se necesita). El procesador de avisos de defecto es simplemente:
static void defaultNoticeProcessor(void * arg, const char * message) { fprintf(stderr, "%s", message); } |
El valor devuelto es el puntero al procesador de avisos previo. Si proporciona usted un puntero de función de llamada a NUL, no se toma ninguna acción, sino que se devuelve el puntero activo.