Re: pgstattuple locking fix

Поиск
Список
Период
Сортировка
От ITAGAKI Takahiro
Тема Re: pgstattuple locking fix
Дата
Msg-id 20071022183548.6064.ITAGAKI.TAKAHIRO@oss.ntt.co.jp
обсуждение исходный текст
Ответ на Re: pgstattuple locking fix  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: pgstattuple locking fix  ("Heikki Linnakangas" <heikki@enterprisedb.com>)
Список pgsql-patches
Tom Lane <tgl@sss.pgh.pa.us> wrote:

> ITAGAKI Takahiro <itagaki.takahiro@oss.ntt.co.jp> writes:
> > Here is a trivial fix of locking issue in pgstattuple().
>
> Hmm, is this really a bug, and if so how far back does it go?
> I'm thinking that having a pin on the buffer should be enough to
> call PageGetHeapFreeSpace.

Hmm... we might use pd_upper and pd_lower at different times,
but the error is ok for pgstattuple purpose.
(It might be dangerous for tuple insertion, though.)
Inconsistent usage of locks is confusable -- remove them, please.

Index: contrib/pgstattuple/pgstattuple.c
===================================================================
--- contrib/pgstattuple/pgstattuple.c    (HEAD)
+++ contrib/pgstattuple/pgstattuple.c    (working copy)
@@ -289,9 +289,7 @@
         while (block <= tupblock)
         {
             buffer = ReadBuffer(rel, block);
-            LockBuffer(buffer, BUFFER_LOCK_SHARE);
             stat.free_space += PageGetHeapFreeSpace((Page) BufferGetPage(buffer));
-            LockBuffer(buffer, BUFFER_LOCK_UNLOCK);
             ReleaseBuffer(buffer);
             block++;
         }

Regards,
---
ITAGAKI Takahiro
NTT Open Source Software Center



В списке pgsql-patches по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: pgstattuple locking fix
Следующее
От: "Heikki Linnakangas"
Дата:
Сообщение: Re: pgstattuple locking fix