• Peter Geoghegan's avatar
    nbtree: Move fastpath NULL descent stack assertion. · 39eabec9
    Peter Geoghegan authored
    Commit 074251db added an assertion that verified the fastpath/rightmost
    page insert optimization's assumption about free space: There should
    always be enough free space on the page to insert the new item without
    splitting the page.  Otherwise, we end up using the "concurrent root
    page split" phony/fake stack path in _bt_insert_parent().  This does not
    lead to incorrect behavior, but it is likely to be far slower than
    simply using the regular _bt_search() path.  The assertion catches
    serious performance bugs that would probably take a long time to detect
    any other way.
    
    It seems much more natural to make this assertion just before the point
    that we generate a fake/phony descent stack.  Move the assert there.
    This also makes _bt_insertonpg() a bit more readable.
    39eabec9
nbtinsert.c 85.9 KB