• Amit Kapila's avatar
    Assert that we don't acquire a heavyweight lock on another object after · 15ef6ff4
    Amit Kapila authored
    relation extension lock.
    
    The only exception to the rule is that we can try to acquire the same
    relation extension lock more than once.  This is allowed as we are not
    creating any new lock for this case.  This restriction implies that the
    relation extension lock won't ever participate in the deadlock cycle
    because we can never wait for any other heavyweight lock after acquiring
    this lock.
    
    Such a restriction is okay for relation extension locks as unlike other
    heavyweight locks these are not held till the transaction end.  These are
    taken for a short duration to extend a particular relation and then
    released.
    
    Author: Dilip Kumar, with few changes by Amit Kapila
    Reviewed-by: Amit Kapila, Kuntal Ghosh and Sawada Masahiko
    Discussion: https://postgr.es/m/CAD21AoCmT3cFQUN4aVvzy5chw7DuzXrJCbrjTU05B+Ss=Gn1LA@mail.gmail.com
    15ef6ff4
lock.c 136 KB