On Mon, Aug 22, 2016 at 8:55 PM, Craig Ringer <craig@2ndquadrant.com> wrote: > Updated patch series attached. As before, 0-4 intended for commit, 5 just > because it'll be handy to have around for people doing wraparound related > testing. > > Again, thanks for taking a look.
/me reviews a bit more deeply.
In 0001, it seems to me that "in-progress" should be "in progress".
Fine by me. I was on the fence about it anyway.
+CREATE TYPE txid_status AS ENUM ('committed', 'in-progress', 'aborted');
I'm not really that keen on this approach. I don't think we need to introduce a new data type for this, and I would rather not use SQL, either. It would be faster and simpler to just return the appropriate string from a C function defined directly.
Also fine by me. You're right, keep it simple. It means the potential set of values isn't discoverable the same way, but ... meh. Using it usefully means reading the docs anyway.
The remaining 2 patches of interest are attached - txid_status() and txid_convert_if_recent(). Thanks for committing txid_current_if_assigned().
Now I'd best stop pretending I'm in a sensible timezone.