Re: [PATCH] Transaction traceability - txid_status(bigint)
Craig Ringer <craig@2ndquadrant.com>
From: Craig Ringer <craig@2ndquadrant.com>
To: PostgreSQL Hackers <pgsql-hackers@postgresql.org>,
Jim Nasby <Jim.Nasby@bluetreble.com>
Date: 2016-08-20T13:46:55Z
Lists: pgsql-hackers
Attachments
- 0001-Introduce-txid_status-bigint-to-get-status-of-an-xac.patch (text/x-patch) patch 0001
- 0002-Add-txid_current_ifassigned.patch (text/x-patch) patch 0002
- 0003-Add-txid_convert_ifrecent-to-get-the-32-bit-xid-from.patch (text/x-patch) patch 0003
- 0004-Add-txid_incinerate-test-function-for-fast-wrap-arou.patch (text/x-patch) patch 0004
On 20 August 2016 at 21:24, Craig Ringer <craig@2ndquadrant.com> wrote: > Hi all > > Following on from > > bigint txids vs 'xid' type, new txid_recent(bigint) => xid > > Ahem. Forgot to squash in a fixup commit. Updated patch of txid_status(bigint) attachd. A related patch follows, adding a new txid_current_ifassigned(bigint) function as suggested by Jim Nasby. It's usefully connected to txid_status() and might as well be added at the same time. Since it builds on the same history I've also attached an updated version of txid_recent(bigint) now called txid_convert_ifrecent(bigint), per the above-linked thread. Finally, and not intended for commit, is a useful test function I wrote to cause extremely rapid xid wraparound, bundled up into a src/test/regress test case. txid_incinerate() can jump the server about UINT32/2 xids in ~2 seconds if fsync is off, making it handy for testing. Posting so others can use it for their own test needs later and because it's useful for testing these patches that touch on the xid epoch. -- Craig Ringer http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services
Commits
-
Add a txid_status function.
- 857ee8e391ff 10.0 landed
-
Track the oldest XID that can be safely looked up in CLOG.
- ea42cc18c353 10.0 landed