• Simon Riggs's avatar
    Avoid early reuse of btree pages, causing incorrect query results. · d3abbbeb
    Simon Riggs authored
    When we allowed read-only transactions to skip assigning XIDs
    we introduced the possibility that a fully deleted btree page
    could be reused. This broke the index link sequence which could
    then lead to indexscans silently returning fewer rows than would
    have been correct. The actual incidence of silent errors from
    this is thought to be very low because of the exact workload
    required and locking pre-conditions. Fix is to remove pages only
    if index page opaque->btpo.xact precedes RecentGlobalXmin.
    
    Noah Misch, reviewed by Simon Riggs
    d3abbbeb
nbtxlog.c 34.7 KB