| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | carlosreimer(at)terra(dot)com(dot)br |
| Cc: | pgsql-general(at)postgresql(dot)org |
| Subject: | Re: XID comparations |
| Date: | 2006-06-13 15:40:06 |
| Message-ID: | 23805.1150213206@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
"Carlos H. Reimer" <carlosreimer(at)terra(dot)com(dot)br> writes:
> I would like to understand better the logic to determine when a xid is older
> than another one.
It's circular mod 2^32, with a special case for FrozenXID. It's a
mistake to imagine that XIDs are unsigned ints, really --- the
comparison doesn't work that way. For an XID of say 1billion, XIDs from
1billion to 3billion are "after", the rest "before". So once a row
is created, it has to be deleted or frozen within 2 billion
transactions, else its XID wraps around and appears to be "in the
future" rather than "in the past" compared to current XIDs.
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Martijn van Oosterhout | 2006-06-13 15:47:14 | Re: XID comparations |
| Previous Message | gl | 2006-06-13 15:35:27 | Re: pg_dump: missing pg_database entry |