• Andrew Gierth's avatar
    Properly check index mark/restore in ExecSupportsMarkRestore. · 660b8992
    Andrew Gierth authored
    Previously this code assumed that all IndexScan nodes supported
    mark/restore, which is not true since it depends on optional index AM
    support functions. This could lead to errors about missing support
    functions in rare edge cases of mergejoins with no sort keys, where an
    unordered non-btree index scan was placed on the inner path without a
    protecting Materialize node. (Normally, the fact that merge join
    requires ordered input would avoid this error.)
    
    Backpatch all the way since this bug is ancient.
    
    Per report from Eugen Konkov on irc.
    
    Discussion: https://postgr.es/m/87o8jn50be.fsf@news-spur.riddles.org.uk
    660b8992
execAmi.c 16.1 KB