postgres.git / summary / log / commit / refs

commit    cdab0a80d28501692584e798abbbfcfe9b5a6b48
Author:   Etsuro Fujita <efujita@postgresql.org>
Date:     Wed Oct 13 10:00:03 2021 +0000
First released in: 15.0, 9.6.24, 10.19, 11.14, 12.9, 13.5, 14.1

    postgres_fdw: Move comments about elog level in (sub)abort cleanup.
    
    The comments were misplaced when adding postgres_fdw.  Fix that by
    moving the comments to more appropriate functions.
    
    Author: Etsuro Fujita
    Backpatch-through: 9.6
    Discussion: https://postgr.es/m/CAPmGK164sAXQtC46mDFyu6d-T25Mzvh5qaRNkit06VMmecYnOA%40mail.gmail.com


contrib/postgres_fdw/connection.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/contrib/postgres_fdw/connection.c b/contrib/postgres_fdw/connection.c index 512bdfb07c2..2e5d78d100d 100644 --- a/contrib/postgres_fdw/connection.c +++ b/contrib/postgres_fdw/connection.c @@ -1096,6 +1096,11 @@ pgfdw_reject_incomplete_xact_state_change(ConnCacheEntry *entry) * Cancel the currently-in-progress query (whose query text we do not have) * and ignore the result. Returns true if we successfully cancel the query * and discard any pending result, and false if not. + * + * It's not a huge problem if we throw an ERROR here, but if we get into error + * recursion trouble, we'll end up slamming the connection shut, which will + * necessitate failing the entire toplevel transaction even if subtransactions + * were used. Try to use WARNING where we can. */ static bool pgfdw_cancel_query(PGconn *conn) @@ -1143,6 +1148,11 @@ pgfdw_cancel_query(PGconn *conn) * If the query is executed successfully but returns an error, the return * value is true if and only if ignore_errors is set. If the query can't be * sent or times out, the return value is false. + * + * It's not a huge problem if we throw an ERROR here, but if we get into error + * recursion trouble, we'll end up slamming the connection shut, which will + * necessitate failing the entire toplevel transaction even if subtransactions + * were used. Try to use WARNING where we can. */ static bool pgfdw_exec_cleanup_query(PGconn *conn, const char *query, bool ignore_errors) @@ -1189,11 +1199,6 @@ pgfdw_exec_cleanup_query(PGconn *conn, const char *query, bool ignore_errors) * be a query that was initiated as part of transaction abort to get the remote * side back to the appropriate state. * - * It's not a huge problem if we throw an ERROR here, but if we get into error - * recursion trouble, we'll end up slamming the connection shut, which will - * necessitate failing the entire toplevel transaction even if subtransactions - * were used. Try to use WARNING where we can. - * * endtime is the time at which we should give up and assume the remote * side is dead. Returns true if the timeout expired, otherwise false. * Sets *result except in case of a timeout. [parent: 2a8dee6a67cc]