diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml index b165e1d91f52639a5118ea4f11e60b7923d298e2..6fe77dbcde773384ed28106be8450aa7a678a0d2 100644 --- a/doc/src/sgml/libpq.sgml +++ b/doc/src/sgml/libpq.sgml @@ -129,8 +129,8 @@ sets the default cost for indexed searches for the optimizer. </Para> <Para> -See the set(l) -man page for information on the arguments for these environment variables. +Refer to the <command>SET</command> <acronym>SQL</acronym> command +for information on the arguments for these environment variables. </Sect1> @@ -1073,6 +1073,49 @@ void PQuntrace(PGconn *conn) </Sect1> +<Sect1> +<Title> +<FileName>libpq</FileName> Control Functions</Title> + +<Para> +<ItemizedList> +<ListItem> +<Para> +<Function>PQsetNoticeProcessor</Function> +Control reporting of notice and warning messages generated by libpq. +<ProgramListing> +void PQsetNoticeProcessor (PGconn * conn, + void (*noticeProcessor) (void * arg, const char * message), + void * arg) +</ProgramListing> +</Para> +</ListItem> +</ItemizedList> +</Para> + +<Para> +By default, <filename>libpq</filename> prints "notice" messages from the backend on stderr, +as well as a few error messages that it generates by itself. +This behavior can be overridden by supplying a callback function that +does something else with the messages. The callback function is passed +the text of the error message (which includes a trailing newline), plus +a void pointer that is the same one passed to <function>PQsetNoticeProcessor</function>. +(This pointer can be used to access application-specific state if needed.) +The default notice processor is simply +<ProgramListing> +static void +defaultNoticeProcessor(void * arg, const char * message) +{ + fprintf(stderr, "%s", message); +} +</ProgramListing> + +<Para> +To use a special notice processor, call <function>PQsetNoticeProcessor</function> just after +any creation of a new PGconn object. + +</Sect1> + <Sect1> <Title>User Authentication Functions</Title> @@ -1124,7 +1167,7 @@ void fe_setauthsvc(char *name, </Sect1> <Sect1> -<Title>BUGS</Title> +<Title>Caveats</Title> <Para> The query buffer is 8192 bytes long, and queries over