postgres.git / summary / log / commit / refs

commit    ea0aa9698cfa74bb04cf53d813924fe67f278c30
Author:   Joe Conway <mail@joeconway.com>
Date:     Wed Dec 21 23:47:54 2016 +0000

    Improve dblink error message when remote does not provide it
    
    When dblink or postgres_fdw detects an error on the remote side of the
    connection, it will try to construct a local error message as best it
    can using libpq's PQresultErrorField(). When no primary message is
    available, it was bailing out with an unhelpful "unknown error". Make
    that message better and more style guide compliant. Per discussion
    on hackers.
    
    Backpatch to 9.2 except postgres_fdw which didn't exist before 9.3.
    
    Discussion: https://postgr.es/m/19872.1482338965%40sss.pgh.pa.us


contrib/dblink/dblink.c | 2 +- contrib/postgres_fdw/connection.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/contrib/dblink/dblink.c b/contrib/dblink/dblink.c index d4f9090f062..ee45cd244c6 100644 --- a/contrib/dblink/dblink.c +++ b/contrib/dblink/dblink.c @@ -2705,7 +2705,7 @@ dblink_res_error(const char *conname, PGresult *res, const char *dblink_context_ ereport(level, (errcode(sqlstate), message_primary ? errmsg_internal("%s", message_primary) : - errmsg("unknown error"), + errmsg("could not obtain message string for remote error"), message_detail ? errdetail_internal("%s", message_detail) : 0, message_hint ? errhint("%s", message_hint) : 0, message_context ? errcontext("%s", message_context) : 0, diff --git a/contrib/postgres_fdw/connection.c b/contrib/postgres_fdw/connection.c index bcdddc2db58..5fabc99214b 100644 --- a/contrib/postgres_fdw/connection.c +++ b/contrib/postgres_fdw/connection.c @@ -568,7 +568,7 @@ pgfdw_report_error(int elevel, PGresult *res, PGconn *conn, ereport(elevel, (errcode(sqlstate), message_primary ? errmsg_internal("%s", message_primary) : - errmsg("unknown error"), + errmsg("could not obtain message string for remote error"), message_detail ? errdetail_internal("%s", message_detail) : 0, message_hint ? errhint("%s", message_hint) : 0, message_context ? errcontext("%s", message_context) : 0, [parent: a8ae12322ae0]