On 2 September 2016 at 21:01, Craig Ringer <[email protected]> wrote:
> On 2 September 2016 at 20:38, Craig Ringer <[email protected]> wrote:
>> On 2 Sep. 2016 8:30 pm, "Simon Riggs" <[email protected]> wrote:
>>>
>>> On 2 September 2016 at 13:16, Craig Ringer <[email protected]> wrote:
>>>
>>> > So I've moved it to xlog.c...
>>>
>>> I'm pretty sure it shouldn't live in xlog.c, but there may be some
>>> good reason I can't see yet.
>>
>> Ugh. Yes. transam.c would be rather saner.
>>
>> Only for the helper to determine if an xid is recent though; txid_ status
>> stays in adt/xact.c where it belongs along with txid_current() etc.
>
> Fixed, moved to transam.c.

Missed that this causes an undefined reference to GetNextXidAndEpoch()
which is in xlog.c. I knew there was a reason I put it there. So most
recent patch is wrong, use the prior one.

GetNextXidAndEpoch() needs to be in xlog.c because it uses XLogCtl's
shmem copy of checkPoint.nextXidEpoch. So either transam.c needs to
#include xlog.h (which seems a bit backwards) or
TransactionIdInRecentPast() should go in xlog.c.

I don't like either really. Opinion? I'm sure we'll want this
functionality in other places as part of dealing with the problems
discussed upthread with 'xid' exposed to users.

-- 
 Craig Ringer                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services


-- 
Sent via pgsql-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to