postgresql/src/backend/access
Peter Geoghegan 9945ad6e90 Justify nbtree page split locking in code comment.
Delaying unlocking the right child page until after the point that the
left child's parent page has been refound is no longer truly necessary.
Commit 40dae7ec made nbtree tolerant of interrupted page splits.  VACUUM
was taught to avoid deleting a page that happens to be the right half of
an incomplete split.  As long as page splits don't unlock the left child
page until the end of the second/final phase, it should be safe to
unlock the right child page earlier (at the end of the first phase).

It probably isn't actually useful to release the right child's lock
earlier like this (it probably won't improve performance).  Even still,
pointing out that it ought to be safe to do so should make it easier to
understand the overall design.
2020-03-27 16:44:52 -07:00
..
brin Remove utils/acl.h from catalog/objectaddress.h 2020-03-10 10:27:00 +01:00
common During heap rebuild, lock any TOAST index until end of transaction. 2020-03-21 09:38:26 -07:00
gin Simplify/speed up assertion cross-check in ginCompressPostingList(). 2020-03-07 13:31:17 -05:00
gist Revert "Skip WAL for new relfilenodes, under wal_level=minimal." 2020-03-22 09:24:09 -07:00
hash Move src/backend/utils/hash/hashfn.c to src/common 2020-02-27 09:25:41 +05:30
heap Revert "Skip WAL for new relfilenodes, under wal_level=minimal." 2020-03-22 09:24:09 -07:00
index Add deduplication to nbtree. 2020-02-26 13:05:30 -08:00
nbtree Justify nbtree page split locking in code comment. 2020-03-27 16:44:52 -07:00
rmgrdesc Revert "Skip WAL for new relfilenodes, under wal_level=minimal." 2020-03-22 09:24:09 -07:00
spgist
table Introduce macros for typalign and typstorage constants. 2020-03-04 10:34:25 -05:00
tablesample Move src/backend/utils/hash/hashfn.c to src/common 2020-02-27 09:25:41 +05:30
transam Allow walreceiver configuration to change on reload 2020-03-27 19:51:37 -03:00
Makefile