• Amit Kapila's avatar
    Make COPY TO keep locks until the transaction end. · a9cf48a4
    Amit Kapila authored
    COPY TO released the ACCESS SHARE lock immediately when it was done rather
    than holding on to it until the end of the transaction.
    
    This breaks the case where a REPEATABLE READ transaction could see an
    empty table if it repeats a COPY statement and somebody truncated the
    table in the meantime.
    
    Before 4dded12f the lock was also released after COPY FROM, but the
    commit failed to notice the irregularity in COPY TO.
    
    This is old behavior but doesn't seem important enough to backpatch.
    
    Author: Laurenz Albe, based on suggestion by Robert Haas and Tom Lane
    Reviewed-by: Amit Kapila
    Discussion: https://postgr.es/m/7bcfc39d4176faf85ab317d0c26786953646a411.camel@cybertec.at
    a9cf48a4
copy.c 147 KB