Re: log_newpage header comment

Поиск
Список
Период
Сортировка
От Robert Haas
Тема Re: log_newpage header comment
Дата
Msg-id CA+TgmoZrrQ_nFSvXYcsYS+DDSRicaDHELvQgmatvTu=-MkQzag@mail.gmail.com
обсуждение исходный текст
Ответ на Re: log_newpage header comment  (Amit kapila <amit.kapila@huawei.com>)
Ответы Re: log_newpage header comment  (Amit Kapila <amit.kapila@huawei.com>)
Список pgsql-hackers
On Sat, Jun 9, 2012 at 1:43 AM, Amit kapila <amit.kapila@huawei.com> wrote:
>>On further review, I think that we ought to make MarkBufferDirty() the
>>caller's job, because sometimes we may need to xlog only if
>>XLogIsNeeded(), but the buffer's got to get marked dirty either way.
>
> Incase the place where Xlog is not required, woudn't it fsync the data;
> So in that case even MarkBufferDirty() will also be not required.

Uh... no.  The whole point of doing things in shared buffers is that
you don't have to write and fsync the buffers immediately.  Instead,
buffer evicting handles that stuff for you.

>>So I think the new function should just do step 5 - emit XLOG and set
>>LSN/TLI.
>
> In the API log_newpage_buffer(), as buffer already contains the page to be logged, so can't it be assumed that the
pagewill be initialized and no need to check
 
> if PageIsNew before setting LSN/TLI.

I don't see why it's any different from log_newpage() in that regard.
That data is initialized before being written, as well, but someone
contemplated the possible need to write a page of all zeros.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


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

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: Ability to listen on two unix sockets
Следующее
От: Robert Haas
Дата:
Сообщение: Re: log_newpage header comment