| From: | Bruce Momjian <bruce(at)momjian(dot)us> | 
|---|---|
| To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> | 
| Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> | 
| Subject: | Re: age(xid) function bug | 
| Date: | 2008-08-20 04:06:40 | 
| Message-ID: | 200808200406.m7K46eb01937@momjian.us | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
Tom Lane wrote:
> Bruce Momjian <bruce(at)momjian(dot)us> writes:
> > However, the function only does a subtraction with no adjustment for
> > overflow, and considering it returns a signed int, it can't even display
> > the full range of valid values:
> 
> Say again?  The possible range of ages is only 2 billion.
If we assume that only xid stored in actual tables are used, yes:
	test=> select txid_current();
	 txid_current
	--------------
	          402
	(1 row)
	
	test=> select age('4294967290'::xid);
	 age
	-----
	 409
	(1 row)
OK, so it does work based on the limitations we place on stored xids.
-- 
  Bruce Momjian  <bruce(at)momjian(dot)us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Bruce Momjian | 2008-08-20 04:10:35 | Re: A smaller default postgresql.conf | 
| Previous Message | Tom Lane | 2008-08-20 03:58:46 | Re: age(xid) function bug |