• Peter Geoghegan's avatar
    Justify nbtree page split locking in code comment. · 9945ad6e
    Peter Geoghegan authored
    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.
    9945ad6e
nbtinsert.c 89.8 KB