| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> | 
|---|---|
| To: | "Pavan Deolasee" <pavan(dot)deolasee(at)enterprisedb(dot)com> | 
| Cc: | pgsql-hackers(at)postgreSQL(dot)org | 
| Subject: | Re: HOT - whats next ? | 
| Date: | 2007-03-02 15:08:19 | 
| Message-ID: | 6203.1172848099@sss.pgh.pa.us | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
"Pavan Deolasee" <pavan(dot)deolasee(at)enterprisedb(dot)com> writes:
> - Another problem with the current HOT patch is that it generates
>   tuple level fragmentation while reusing LP_DELETEd items when
>   the new tuple is of smaller size than the original one. Heikki
>   supported using best-fit strategy to reduce the fragmentation
>   and thats worth trying. But ISTM that we can also correct
>   row-level defragmentation whenever we run out of free space
>   and LP_DELETEd tuples while doing UPDATE. Since this does not
>   require moving tuples around, we can do this by a simple EXCLUSIVE
>   lock on the page.
You are mistaken.  To move existing tuples requires
LockBufferForCleanup, the same as VACUUM needs; otherwise some other
backend might continue to access a tuple it found previously.
How much testing of this patch's concurrent behavior has been done?
I'm wondering if any other locking thinkos are in there ...
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2007-03-02 15:13:18 | Re: UPSERT | 
| Previous Message | Gregory Stark | 2007-03-02 15:06:52 | Re: UPSERT |