• Kevin Grittner's avatar
    Fix btree mark/restore bug. · 7392eed7
    Kevin Grittner authored
    Commit 2ed5b87f introduced a bug in
    mark/restore, in an attempt to optimize repeated restores to the
    same page.  This caused an assertion failure during a merge join
    which fed directly from an index scan, although the impact would
    not be limited to that case.  Revert the bad chunk of code from
    that commit.
    
    While investigating this bug it was discovered that a particular
    "paranoia" set of the mark position field would not prevent bad
    behavior; it would just make it harder to diagnose.  Change that
    into an assertion, which will draw attention to any future problem
    in that area more directly.
    
    Backpatch to 9.5, where the bug was introduced.
    
    Bug #14169 reported by Shinta Koyanagi.
    Preliminary analysis by Tom Lane identified which commit caused
    the bug.
    7392eed7
nbtsearch.c 53.6 KB