From: | Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl> |
---|---|
To: | Manfred Koizar <mkoi-pg(at)aon(dot)at> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, David Blasby <dblasby(at)refractions(dot)net>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: SELECT * FROM <table> LIMIT 1; is really slow |
Date: | 2004-05-27 20:50:24 |
Message-ID: | 20040527205024.GB3603@dcc.uchile.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Thu, May 27, 2004 at 09:52:30PM +0200, Manfred Koizar wrote:
> I have no clear explanation at the moment, just some fuzzy ideas that
> are beginning to crystallise. I'm messing around with heap tuple
> headers again, and the Xvac field seems to get in the way, unless I can
> cut down the number of different scenarios where it is needed.
Now you are on the subject, can I ask you to take a peek at what I did
regarding tuple headers?
At first I thought I'd have to add back Xmax as a field on its own, but
later (in chat with Bruce) I arrived to the conclusion that it isn't
really necessary, and I only added a bit to the infomask to flag when
the Cmin is overridden with Xmax.
However I'm not convinced that this is enough --- is there a situation
on which we should need to peek at Cmin after setting Xmax for a
particusar tuple?
The problem was
BEGIN;
insert into foo values (1)
begin
delete from foo
rollback
-- at this point the tuple shold be visible,
-- but it has my Xid as Xmin and Cmin was
-- overriden with Xmax
commit
I'd appreciate your (Manfred's and Tom's) comments on the topic.
--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"And as an added bonus, now my computer goes to the toilet for me, leaving me
free to spend time on more useful activities! yay slug codefests!" (C. Parker)
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2004-05-27 22:11:30 | Re: [HACKERS] Configuration patch |
Previous Message | pgsql | 2004-05-27 20:38:09 | Re: tablespaces and DB administration |