From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | "Pavan Deolasee" <pavan(dot)deolasee(at)gmail(dot)com> |
Cc: | "Bruce Momjian" <bruce(at)momjian(dot)us>, "Heikki Linnakangas" <heikki(at)enterprisedb(dot)com>, PostgreSQL-patches <pgsql-patches(at)postgresql(dot)org> |
Subject: | Re: HOT documentation README |
Date: | 2007-09-12 16:37:45 |
Message-ID: | 23667.1189615065@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-patches |
"Pavan Deolasee" <pavan(dot)deolasee(at)gmail(dot)com> writes:
> On 9/12/07, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> XXX the above being the case, why should we bother with all this extra
>> mechanism? Seems we could dispense with "not ready for inserts".
> Without this additional step, while we are building the index in the first
> phase
> using a snapshot, its possible that a broken HOT chain may get created
> forwarding to the tuple that we index. For example:
> A table with two columns a and b. Say, we already have an index on 'a'
> and creating a new index on 'b'. Say, there is a tuple (0, 1): (1, 11) in
> the table where (0, 1) in the line pointer of the tuple.
> This is the visible tuple when we took snapshot in the first phase and so
> we shall index this tuple with key 11 and TID (0, 1). But before the first
> phase
> finishes, the tuple is updated to (0, 2): (1, 22). This would be a HOT
> update
> resulting in a broken chain. The root line pointer for the new tuple is
> still (0, 1).
Got it. I'll put something about this into the README.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2007-09-12 16:52:01 | Re: HOT documentation README |
Previous Message | Tom Lane | 2007-09-12 16:19:18 | Re: prevent invalidly encoded input |