On 25/03/2019 12:49, Thomas Munro wrote:
> On Mon, Mar 25, 2019 at 5:01 PM Thomas Munro <thomas.munro@gmail.com> wrote:
>> New version attached. I'd like to commit this for PG12.
>
> Here is a follow-up sketch patch that shows FullTransactionId being
> used in the transaction stack, so you can call eg
> GetCurrentFullTransactionId(). A table access method could use this
> to avoid the need to freeze stuff later (eg zheap).
>
> I suppose it's not strictly necessary, since you could use
> GetCurrentTransactionId() and infer the epoch by comparing with
> ReadNextFullTransactionId() (now that the epoch counting is reliable,
> due to patch 0001 which I'm repeating again here just for cfbot). But
> I suppose we want to get away from that sort of thing. Thoughts?
Looks good.
I started to write a patch to use XID & epoch in dealing with GiST page
deletions [1], and I really could've used an epoch to go with
RecentGlobalXmin. I presume that would be pretty straightforward to have
with this, too.
[1]
https://www.postgresql.org/message-id/5f7ed675-d1fc-66ef-f316-645080ff9625@iki.fi
- Heikki