Thread: Turn TransactionIdRetreat/Advance into inline functions

Turn TransactionIdRetreat/Advance into inline functions

From
Maxim Orlov
Date:
Hi!

This patch is inspired by [0] and many others.
I've notice recent activity to convert macros into inline functions. We should make TransactionIdRetreat/Advance functions
Instead of a macro, should we?

I also think about NormalTransactionIdPrecedes and NormalTransactionIdFollows, but maybe, they should be addressed
separately: the comment says that "this is a macro for speed".

Any thoughts?


--
Best regards,
Maxim Orlov.
Attachment

Re: Turn TransactionIdRetreat/Advance into inline functions

From
Tom Lane
Date:
Maxim Orlov <orlovmg@gmail.com> writes:
> I've notice recent activity to convert macros into inline functions. We
> should make TransactionIdRetreat/Advance functions
> Instead of a macro, should we?

-1.  Having to touch all the call sites like this outweighs
any claimed advantage: it makes them uglier and it will greatly
complicate any back-patching we might have to do in those areas.

            regards, tom lane



Re: Turn TransactionIdRetreat/Advance into inline functions

From
Maxim Orlov
Date:

-1.  Having to touch all the call sites like this outweighs
any claimed advantage: it makes them uglier and it will greatly
complicate any back-patching we might have to do in those areas.

                        regards, tom lane

Ok, got it. But what if we change the semantics of these calls to
xid = TransactionIdAdvance(xid) ?

--
Best regards,
Maxim Orlov.

Re: Turn TransactionIdRetreat/Advance into inline functions

From
Tom Lane
Date:
Maxim Orlov <orlovmg@gmail.com> writes:
>> -1.  Having to touch all the call sites like this outweighs
>> any claimed advantage: it makes them uglier and it will greatly
>> complicate any back-patching we might have to do in those areas.

> Ok, got it. But what if we change the semantics of these calls to
> xid = TransactionIdAdvance(xid) ?

Uh ... you'd still have to touch all the call sites.

            regards, tom lane