Why do spgbuildempty(), btbuildempty(), and blbuildempty() use smgrwrite()?

Поиск
Список
Период
Сортировка
От Melanie Plageman
Тема Why do spgbuildempty(), btbuildempty(), and blbuildempty() use smgrwrite()?
Дата
Msg-id CAAKRu_b6-NX8OKs02_WRcyuDwf0qBsRa7-Ecp3dGMxKHokzTMQ@mail.gmail.com
обсуждение исходный текст
Ответы Re: Why do spgbuildempty(), btbuildempty(), and blbuildempty() use smgrwrite()?
Список pgsql-hackers
If you enable the CHECK_WRITE_VS_EXTEND-protected assert in mdwrite(),
you'll trip it anytime you exercise btbuildempty(), blbuildempty(), or
spgbuildempty().

In this case, it may not make any meaningful difference if smgrwrite()
or smgrextend() is called (_mdfd_getseg() behavior won't differ even
with the different flags, so really only the FileWrite() wait event will
be different).
However, it seems like it should still be changed to call smgrextend().
Or, since they only write a few pages, why not use shared buffers like
gistbuildempty() and brinbuildempty() do?

I've attached a patch to move these three into shared buffers.

And, speaking of spgbuildempty(), there is no test exercising it in
check-world, so I've attached a patch to do so. I wasn't sure if it
belonged in spgist.sql or create_index_spgist.sql (on name alone, seems
like the latter but based on content, seems like the former).

- Melanie

Вложения

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

Предыдущее
От: Tatsuo Ishii
Дата:
Сообщение: Re: Proposal: Support custom authentication methods using hooks,Re: Proposal: Support custom authentication methods using hooks
Следующее
От: Justin Pryzby
Дата:
Сообщение: Re: Avoiding smgrimmedsync() during nbtree index builds