On Fri, 09 Jul 2021 at 20:25, John Naylor <john.naylor@enterprisedb.com> wrote:
> On Fri, Jul 9, 2021 at 7:15 AM Japin Li <japinli@hotmail.com> wrote:
>> > /* Send out notify signals and transmit self-notifies */
>> > ProcessCompletedNotifies();
>> >
>> > /*
>> > * Also process incoming notifies, if any. This is
> mostly to
>> > * ensure stable behavior in tests: if any notifies were
>> > * received during the just-finished transaction,
> they'll be
>> > * seen by the client before ReadyForQuery is.
>> > */
>> > if (notifyInterruptPending)
>> > ProcessNotifyInterrupt();
>
> It seems the above would also be skipped in chained transactions -- do we
> need to handle notifies as well?
>
Thanks for your review! Modified.
>> Attached fixes it by call pgstat_report_stat() when we a in COMMIT AND
> CHAIN mode.
>> Any thoughts?
>
> Do we need equivalent logic within the TBLOCK_SUBCOMMIT case also? Either
> way, a comment is probably in order.
Add a new function ProcessNotifiesAndStat() to process notifies and report
statistics, then call this function in TBLOCK_SUBCOMMIT, TBLOCK_END,
TBLOCK_ABORT_END, TBLOCK_ABORT_PENDING and TBLOCK_SUBCOMMIT cases.
Please consider v2 patch to review.
--
Regrads,
Japin Li.
ChengDu WenWu Information Technology Co.,Ltd.