Should we add xid_current() or a int8->xid cast?
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: pgsql-hackers@postgresql.org
Date: 2019-07-25T00:06:36Z
Lists: pgsql-hackers
Hi, we have txid_current(), which returns an int8. But there's no convenient way to convert that to type 'xid'. Which is fairly inconvenient, given that we expose xids in various places. My current need for this was just a regression test to make sure that system columns (xmin/xmax in particular) don't get broken again for ON CONFLICT. But I've needed this before in other scenarios - e.g. age(xid) can be useful to figure out how old a transaction is, but age() doesn't work with txid_current()'s return value. Seems easiest to just add xid_current(), or add a cast from int8 to xid (probably explicit?) that handles the wraparound logic correctly? Greetings, Andres Freund
Commits
-
Introduce xid8-based functions to replace txid_XXX.
- 4c04be9b05ad 13.0 landed
-
Add SQL type xid8 to expose FullTransactionId to users.
- aeec457de8a8 13.0 landed
-
Replace the former method of determining snapshot xmax --- to wit, calling
- 6bd4f401b0cb 8.3.0 cited