Re: Tablespaces

Поиск
Список
Период
Сортировка
От Gavin Sherry
Тема Re: Tablespaces
Дата
Msg-id Pine.LNX.4.58.0406170709320.6751@linuxworld.com.au
обсуждение исходный текст
Ответ на Re: Tablespaces  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-patches
Hi Tom,

On Wed, 16 Jun 2004, Tom Lane wrote:

> I'm starting to review this patch, and almost immediately came across
> what seemed a spectacularly bad idea:
>
> *** src/backend/storage/buffer/bufmgr.c    8 May 2004 19:09:25 -0000    1.165
> --- src/backend/storage/buffer/bufmgr.c    26 May 2004 06:21:01 -0000
> ***************
> *** 1148,1152 ****
>           {
>               bufHdr = &LocalBufferDescriptors[i];
> !             if (RelFileNodeEquals(bufHdr->tag.rnode, rnode))
>               {
>                   bufHdr->flags &= ~(BM_DIRTY | BM_JUST_DIRTIED);
> --- 1148,1156 ----
>           {
>               bufHdr = &LocalBufferDescriptors[i];
> !             /* special case for default tblNode */
> !             if (RelFileNodeEquals(bufHdr->tag.rnode, rnode) ||
> !                     (!OidIsValid(rnode.tblNode) &&
> !                      bufHdr->tag.rnode.relNode == rnode.relNode &&
> !                      bufHdr->tag.rnode.dbNode == rnode.dbNode))
>               {
>                   bufHdr->flags &= ~(BM_DIRTY | BM_JUST_DIRTIED);
>
> There has got to be a better way than this.  In the first place the
> code seems able to seize on the wrong buffer if it's not checking
> all three fields; in the second place, if the weak matching is correct
> here why is it not needed everyplace else?
>

Ahh. This is a hang over from some tests I was doing. I must have missed
it when I send the patch in. The patch should certainly work without this
change. I will verify later today when I have access to my development
machine.

Gavin

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Tablespaces
Следующее
От: Simon Riggs
Дата:
Сообщение: Re: Nested transactions