postgresql/src/backend
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
..
access Justify nbtree page split locking in code comment. 2020-03-27 16:44:52 -07:00
bootstrap Revert "Skip WAL for new relfilenodes, under wal_level=minimal." 2020-03-22 09:24:09 -07:00
catalog Update SQL features 2020-03-27 08:36:08 +01:00
commands Report wait event for cost-based vacuum delay. 2020-03-23 22:53:22 -07:00
executor Go back to returning int from ereport auxiliary functions. 2020-03-25 11:57:36 -04:00
foreign Update copyrights for 2020 2020-01-01 12:21:45 -05:00
jit Extend ExecBuildAggTrans() to support a NULL pointer check. 2020-03-04 17:29:18 -08:00
lib Move src/backend/utils/hash/hashfn.c to src/common 2020-02-27 09:25:41 +05:30
libpq Provide a TLS init hook 2020-03-25 17:13:17 -04:00
main Add PostgreSQL home page to --help output 2020-02-28 13:12:21 +01:00
nodes Revert "Skip WAL for new relfilenodes, under wal_level=minimal." 2020-03-22 09:24:09 -07:00
optimizer Consider disk-based hash aggregation to implement DISTINCT. 2020-03-24 18:30:04 -07:00
parser Go back to returning int from ereport auxiliary functions. 2020-03-25 11:57:36 -04:00
partitioning Add object names to partition integrity violations. 2020-03-23 08:09:15 +05:30
po Translation updates 2019-06-17 15:30:20 +02:00
port Update copyrights for 2020 2020-01-01 12:21:45 -05:00
postmaster Allow walreceiver configuration to change on reload 2020-03-27 19:51:37 -03:00
regex Update copyrights for 2020 2020-01-01 12:21:45 -05:00
replication Allow walreceiver configuration to change on reload 2020-03-27 19:51:37 -03:00
rewrite Make rewriter prevent auto-updates on views with conditional INSTEAD rules. 2020-01-14 09:52:21 +00:00
snowball Update copyrights for 2020 2020-01-01 12:21:45 -05:00
statistics Recognize some OR clauses as compatible with functional dependencies 2020-03-18 16:41:49 +01:00
storage Document that pg_checksums exists in checksums README 2020-03-26 15:05:54 +01:00
tcop Re-implement the ereport() macro using __VA_ARGS__. 2020-03-24 11:49:00 -04:00
tsearch Remove useless pfree()s at the ends of various ValuePerCall SRFs. 2020-03-16 21:36:53 -04:00
utils Allow walreceiver configuration to change on reload 2020-03-27 19:51:37 -03:00
.gitignore Add .gitignore entries for AIX-specific intermediate build artifacts. 2015-07-08 20:44:22 -04:00
Makefile Update copyrights for 2020 2020-01-01 12:21:45 -05:00
common.mk Remove PARTIAL_LINKING build mode. 2018-03-30 17:33:04 -07:00
nls.mk Translation updates 2019-05-20 16:00:53 +02:00