Re: Remove xmin and cmin from frozen tuples

Bruce Momjian <pgman@candle.pha.pa.us>

From: Bruce Momjian <pgman@candle.pha.pa.us>
To: Manfred Koizar <mkoi-pg@aon.at>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, ITAGAKI Takahiro <itagaki.takahiro@lab.ntt.co.jp>, pgsql-hackers@postgresql.org
Date: 2005-09-03T00:41:48Z
Lists: pgsql-hackers
Manfred Koizar wrote:
> On Fri, 2 Sep 2005 15:51:15 -0400 (EDT), Bruce Momjian
> <pgman@candle.pha.pa.us> wrote:
> >	* Merge xmin/xmax/cmin/cmax back into three header fields
> 
> And don't forget xvac, please.
> 	
> >	  Before subtransactions, there used to be only three fields needed to
> >	  store these four values.
> 
> ... five values.
> 
> > This was possible because only the current
> > transaction looks at the cmin/cmax values.
> 
> Which is a reason to get rid of cmin/cmax in tuple headers entirely.
> Once I had a patch based on 7.4 that stored cmin and cmax in
> backend-local memory.  It passed make check and some volume tests, but
> I felt it was not ready to be applied without any spill-to-disk
> mechanism.  Development stalled when I tried to eliminate xvac as
> well, which would have required deep cuts into VACUUM code :-(

Interesting idea, but how would you record the cmin/xmin values without
requiring unlimited memory?

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073