pgsql: hio: Release extension lock before initializing page / pinning V

Поиск
Список
Период
Сортировка
От Andres Freund
Тема pgsql: hio: Release extension lock before initializing page / pinning V
Дата
Msg-id E1pilz8-000vZ8-SP@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
hio: Release extension lock before initializing page / pinning VM

PageInit() while holding the extension lock is unnecessary after 0d1fe9f74e3
started to use RBM_ZERO_AND_LOCK - nobody can look at the new page before we
release the page lock. PageInit() zeroes the page, which isn't that cheap, so
deferring it until after the extension lock is released seems like a good idea.

Doing visibilitymap_pin() while holding the extension lock, introduced in
7db0cd2145f2, looks like an accident. Due to the restrictions on
HEAP_INSERT_FROZEN it's unlikely to be a performance issue, but it still seems
better to move it out.  We also are doing the visibilitymap_pin() while
holding the buffer lock, which will be fixed in a separate commit.

Reviewed-by: Heikki Linnakangas <hlinnaka@iki.fi>
Discussion: http://postgr.es/m/419312fd-9255-078c-c3e3-f0525f911d7f@iki.fi

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/14f98e0af996beff561f66d7436c6da5d2de524d

Modified Files
--------------
src/backend/access/heap/hio.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)


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

Предыдущее
От: Tomas Vondra
Дата:
Сообщение: pgsql: pg_dump: Use only LZ4 frame format for compression
Следующее
От: Andres Freund
Дата:
Сообщение: pgsql: Assert only valid flag bits are passed to visibilitymap_set()