On Wed, Oct 20, 2021 at 9:46 PM Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
>
> On 2021-Oct-20, Dilip Kumar wrote:
>
> > On Wed, Oct 20, 2021 at 7:09 PM Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
>
> > > In IsTopTransactionIdLogPending(), I suggest to reorder the tests so
> > > that the faster ones are first -- or at least, the last one should be at
> > > the top, so in some cases we can return without additional function
> > > calls. I don't think it'd be extremely noticeable, but as Tom likes to
> > > say, a cycle shaved is a cycle earned.
> >
> > I don't think we can really move the last at top. Basically, we only
> > want to log the top transaction id if all the above check passes and
> > the top xid is not yet logged. For example, if the WAL level is not
> > logical then we don't want to log the top xid even if it is not yet
> > logged, similarly, if the current transaction is not a subtransaction
> > then also we don't want to log the top transaction.
>
> Well, I don't suggest to move it verbatim, but ISTM the code can be
> restructured so that we do that test first, and if we see that flag set
> to true, we don't have to consider any of the other tests. That flag
> can only be set true if we saw all the other checks pass in the same
> subtransaction, right?
Yeah you are right, I will change it.
--
Regards,
Dilip Kumar
EnterpriseDB: http://www.enterprisedb.com