Commit 35bc0ec7 authored by Peter Geoghegan's avatar Peter Geoghegan

Note case where nbtree VACUUM finishes splits.

The nbtree README claims that VACUUM can never finish interrupted page
splits by design.  That isn't entirely accurate, though.  Note an
exception to the general rule.

Discussion: https://postgr.es/m/CAH2-Wz=_Xvv8byzK_LvY4ci76OgsHCQzoKF7We8yG9waO7j6rA@mail.gmail.com
parent 1638623f
...@@ -476,7 +476,10 @@ inserting a downlink might require splitting a page, it might fail if you ...@@ -476,7 +476,10 @@ inserting a downlink might require splitting a page, it might fail if you
run out of disk space. That would be bad during VACUUM - the reason for run out of disk space. That would be bad during VACUUM - the reason for
running VACUUM in the first place might be that you run out of disk space, running VACUUM in the first place might be that you run out of disk space,
and now VACUUM won't finish because you're out of disk space. In contrast, and now VACUUM won't finish because you're out of disk space. In contrast,
an insertion can require enlarging the physical file anyway. an insertion can require enlarging the physical file anyway. There is one
minor exception: VACUUM finishes interrupted splits of internal pages when
deleting their children. This allows the code for re-finding parent items
to be used by both page splits and page deletion.
To identify missing downlinks, when a page is split, the left page is To identify missing downlinks, when a page is split, the left page is
flagged to indicate that the split is not yet complete (INCOMPLETE_SPLIT). flagged to indicate that the split is not yet complete (INCOMPLETE_SPLIT).
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment