On 2023/04/14 18:59, Etsuro Fujita wrote:
The primary message basically should avoid reference to implementation details
such as specific structure names like PGcancel, shouldn't it, as per the error
message style guide?
I do not think that PGcancel is that specific, as it is described in
the user-facing documentation [1]. (In addition, the error message I
proposed was created by copying the existing error message "could not
create OpenSSL BIO structure" in contrib/sslinfo.c.)
I think that mentioning PGcancel in the error message could be confusing for
average users who are just running a query on a foreign table and encounter the
error message after pressing Ctrl-C. They may not understand why the PGcancel
struct is referenced in the error message while accessing foreign tables. It
could be viewed as an internal detail that is not necessary for the user to
know.
Although the primary message is the same, the supplemental message provides
additional context that can help distinguish which function is reporting the
message.
If the user is familiar with the PQgetCancel/PQcancel internals, this
is true, but if not, I do not think this is always true. Consider
this error message, for example:
2023-04-14 17:48:55.862 JST [24344] WARNING: could not send cancel
request: invalid integer value "99999999999" for connection option
"keepalives"
It would be hard for users without the knowledge about those internals
to distinguish that from this message. For average users, I think it
would be good to use a more distinguishable error message.
In this case, I believe that they should be able to understand that an invalid integer value
"99999999999" was specified in the "keepalives" connection option, which caused the
warning message. Then, they would need to check the setting of the "keepalives" option and correct
it if necessary.
Regards,
--
Fujii Masao
Advanced Computing Technology Center
Research and Development Headquarters
NTT DATA CORPORATION