On 09/25/2018 01:50 PM, Joe Conway wrote: > On 08/08/2018 11:57 AM, Tom Lane wrote: >> =?utf-8?q?PG_Doc_comments_form?= <[email protected]> writes: >>> The following documentation comment has been logged on the website: >>> Documentation says: >> >>> Return Value >>> Returns last error message, or an empty string if there has been no error in >>> this connection. >>> Which is invalid. >>> Actually it returns 'OK' string if no error was raised. >> >> Good catch! The code's quite clear about it, but the SGML docs need >> fixed. > > > As mentioned on the nearby thread, will fix. I suppose this ought to be > back-patched. > > >>> Secondly >>> dblink_is_busy must be first called to make dblink_error_message returns an >>> error message. (Tested on 9.6.9) >> >> Meh. I see what you're getting at here, I think, but that seems like a >> completely wrong/misleading statement of the issue. Joe, can you think of >> better phraseology? > > Maybe a note, something like this? > ------------ > When asynchronous queries are initiated by dblink_send_query(), the > error message associated with the connection might not get updated until > the server's response message is consumed. This typically means that > dblink_is_busy() or dblink_get_result() should be called prior to > dblink_error_message(), so that any error generated by the asynchronous > query() will be visible. > ------------
And now with the corresponding patch attached. Thoughts/comments? Joe -- Crunchy Data - http://crunchydata.com PostgreSQL Support for Secure Enterprises Consulting, Training, & Open Source Development
diff --git a/doc/src/sgml/dblink.sgml b/doc/src/sgml/dblink.sgml
index 87e14ea..97dc3b8 100644
*** a/doc/src/sgml/dblink.sgml
--- b/doc/src/sgml/dblink.sgml
*************** dblink_error_message(text connname) retu
*** 1165,1175 ****
<title>Return Value</title>
<para>
! Returns last error message, or an empty string if there has been
no error in this connection.
</para>
</refsect1>
<refsect1>
<title>Examples</title>
--- 1165,1189 ----
<title>Return Value</title>
<para>
! Returns last error message, or <literal>OK</literal> if there has been
no error in this connection.
</para>
</refsect1>
+ <refsect1>
+ <title>Notes</title>
+
+ <para>
+ When asynchronous queries are initiated by
+ <function>dblink_send_query</function>, the error message associated with
+ the connection might not get updated until the server's response message
+ is consumed. This typically means that <function>dblink_is_busy</function>
+ or <function>dblink_get_result</function> should be called prior to
+ <function>dblink_error_message</function>, so that any error generated by
+ the asynchronous query will be visible.
+ </para>
+ </refsect1>
+
<refsect1>
<title>Examples</title>
signature.asc
Description: OpenPGP digital signature
