On Thu, Dec 24, 2020 at 7:43 PM Fujii Masao <masao.fujii@oss.nttdata.com> wrote:
> Even when we're in the midst of transaction, if that transaction has not used
> the cached connections yet, we close them immediately. So, to make the
> comment more precise, what about updating the comment as follows?
>
> ---------------------
> After a change to a pg_foreign_server or pg_user_mapping catalog entry,
> close connections depending on that entry immediately if current
> transaction has not used those connections yet. Otherwise, mark those
> connections as invalid and then make pgfdw_xact_callback() close them
> at the end of current transaction, since they cannot be closed in the midst
> of a transaction using them. Closed connections will be remade at the next
> opportunity if necessary.
> ---------------------
Done.
> + /*
> + * Close the connection if it's not in midst of a xact. Otherwise
> + * mark it as invalid so that it can be disconnected at the end of
> + * main xact in pgfdw_xact_callback().
> + */
>
> Because of the same reason as the above, what about updating this comment
> as follows?
>
> ---------------------
> Close the connection immediately if it's not used yet in this transaction.
> Otherwise mark it as invalid so that pgfdw_xact_callback() can close it
> at the end of this transaction.
> ---------------------
Done.
Attaching v3 patch. Please have a look. Thanks!
With Regards,
Bharath Rupireddy.
EnterpriseDB: http://www.enterprisedb.com