On 2013-02-03 11:17:42 -0500, Tom Lane wrote:
> Andres Freund <andres@2ndquadrant.com> writes:
> > It obviously needs more polish:
>
> > - I opted for using the 64bit representation of xids, seems to be better
> > in a log which very well might be looked at only after some
> > wraparounds
> > - exporting 'txid' from adt/txid.c is pretty ugly. I don't like the
> > invention of the type in general, but making it visible outside of
> > txid.c is even uglier, but using both, plain uint64 and txid inside
> > txid.c isn't nice either.
> > - txid_from_xid should be renamed, don't have a good idea to what right
> > now.
> > - is there agreement on the additionally logged information?
>
> -1 on using txids here. If memory serves, we have had exactly this
> discussion before and rejected spreading those into other parts
> of the system. That gets rid of three of your problems right there,
> as well as a lot of ugly hackery with UINT64_FORMAT.
What about providing something like char *TransactionIdToEpochStrP() and
implementing it in txid.c instead of transam.c? Not pretty but it
wouldn't expose much to the outside?
Greetings,
Andres Freund
-- Andres Freund http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services