From: | "Jim C(dot) Nasby" <jnasby(at)pervasive(dot)com> |
---|---|
To: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, ITAGAKI Takahiro <itagaki(dot)takahiro(at)lab(dot)ntt(dot)co(dot)jp>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Remove xmin and cmin from frozen tuples |
Date: | 2005-09-06 21:55:28 |
Message-ID: | 20050906215528.GX60481@pervasive.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
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(at)pervasive(dot)com
Pervasive Software http://pervasive.com work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2005-09-06 22:02:27 | Re: Remove xmin and cmin from frozen tuples |
Previous Message | Tom Lane | 2005-09-06 21:54:34 | Re: uuid type for postgres |