Re: Regression tests fail once XID counter exceeds 2 billion

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Simon Riggs <simon(at)2ndQuadrant(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Regression tests fail once XID counter exceeds 2 billion
Date: 2011-11-17 00:08:27
Message-ID: 24536.1321488507@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I wrote:
> Simon Riggs <simon(at)2ndQuadrant(dot)com> writes:
>> We need a function called transactionid_current() so a normal user can write

>> select virtualtransaction
>> from pg_locks
>> where transactionid = transactionid_current()

>> and have it "just work".

> That would solve that one specific use-case. The reason I suggested
> txid_from_xid is that it could also be used to compare XIDs seen in
> tuples to members of a txid_snapshot, which is not possible now.

BTW, a pgsql-general question just now made me realize that
txid_from_xid() could have another use-case too. Right now, there are
no inequality comparisons on XIDs, which is necessary because XIDs in
themselves don't have a total order. However, you could

ORDER BY txid_from_xid(xmin)

and it would work, ie, give you rows in their XID order. This could be
useful for finding the latest-modified rows in a table, modulo the fact
that it would be ordering by transaction start time not commit time.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2011-11-17 00:13:24 Re: ISN was: Core Extensions relocation
Previous Message Greg Jaskiewicz 2011-11-16 23:45:24 Re: Configuration include directory