On 2018-07-10 11:35:59 +1200, Thomas Munro wrote: > I played around with this idea yesterday. Experiment-grade patch > attached.
Cool! > I think it's probably a good idea to make it very explicit when moving > between big and small transaction IDs, hence the including of the word > 'big' in variable and function names and the use of a function-like > macro (rather than implicit conversion, which C doesn't give me a good > way to prevent). Otherwise there is a class of bug that is hidden for > the first 2^32 transactions. You could have BigTransactionId (maybe renamed to FullTransactionId?) be a struct type. That'd prevent such issues. Most compilers these days should be more than good enough to optimize passing around an 8byte struct by value... Greetings, Andres Freund