• Peter Geoghegan's avatar
    Add defensive "split_only_page" nbtree assertion. · f762b2fe
    Peter Geoghegan authored
    Clearly it's not okay for nbtree to split a page that is the only page
    on its level, and then find that it has to split the parent one level up
    in turn.  There is simply no code to handle the split_only_page case in
    the _bt_insertonpg() "newitem won't fit" branch (only the "newitem fits"
    branch handles split_only_page).  Add a defensive assertion that will
    fail if a split_only_page call to _bt_insertonpg() somehow ends up
    splitting the target/parent page.
    
    I (pgeoghegan) believe that we don't need split_only_page handling for
    the "newitem won't fit" branch because anybody calling _bt_insertonpg()
    like this would have to hold a lock on the same one and only child page.
    f762b2fe
nbtinsert.c 91.5 KB