• Peter Geoghegan's avatar
    Invalidate binary search bounds consistently. · 74eb2176
    Peter Geoghegan authored
    _bt_check_unique() failed to invalidate binary search bounds in the
    event of a live conflict following commit e5adcb78.  This resulted in
    problems after waiting for the conflicting xact to commit or abort.  The
    subsequent call to _bt_check_unique() would restore the initial binary
    search bounds, rather than starting a new search.  Fix by explicitly
    invalidating bounds when it becomes clear that there is a live conflict
    that insertion will have to wait to resolve.
    
    Ashutosh Sharma, with a few additional tweaks by me.
    
    Author: Ashutosh Sharma
    Reported-By: Ashutosh Sharma
    Diagnosed-By: Ashutosh Sharma
    Discussion: https://postgr.es/m/CAE9k0PnQp-qr-UYKMSCzdC2FBzdE4wKP41hZrZvvP26dKLonLg@mail.gmail.com
    74eb2176
nbtinsert.c 74.2 KB