Re: Remove xmin and cmin from frozen tuples
Jim C. Nasby <jnasby@pervasive.com>
From: "Jim C. Nasby" <jnasby@pervasive.com>
To: Bruce Momjian <pgman@candle.pha.pa.us>, Tom Lane <tgl@sss.pgh.pa.us>, ITAGAKI Takahiro <itagaki.takahiro@lab.ntt.co.jp>, pgsql-hackers@postgresql.org
Date: 2005-09-06T21:55:28Z
Lists: pgsql-hackers
On Tue, Sep 06, 2005 at 05:37:06PM -0400, Alvaro Herrera wrote: > On Tue, Sep 06, 2005 at 03:58:28PM -0500, Jim C. Nasby wrote: > > On Fri, Sep 02, 2005 at 03:51:15PM -0400, Bruce Momjian wrote: > > > One possible solution is to create a phantom cid which represents a > > > cmin/cmax pair and is stored in local memory. > > > > If we're going to look at doing that I think it would also be good to > > consider including xmin and xmax as well. > > If you do that, you'll never be able to delete or update the tuple. My idea was to use an int to represent combinations of (c|x)(min|max), probably on a per-table basis. Essentially, it would normalize these values. I don't see how this would eliminate the ability to update or delete. Of course this would actually hurt on tables that had mostly single-row operations, so it would have to be a table-creation option. I believe it could substantially reduce the size of tables that don't see a lot of transactions. It would be good just to have a quick and dirty patch just to see if this is the case or not. -- Jim C. Nasby, Sr. Engineering Consultant jnasby@pervasive.com Pervasive Software http://pervasive.com work: 512-231-6117 vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461