• Amit Kapila's avatar
    Allow relation extension lock to conflict among parallel group members. · 85f6b49c
    Amit Kapila authored
    This is required as it is no safer for two related processes to extend the
    same relation at a time than for unrelated processes to do the same.  We
    don't acquire a heavyweight lock on any other object after relation
    extension lock which means such a lock can never participate in the
    deadlock cycle.  So, avoid checking wait edges from this lock.
    
    This provides an infrastructure to allow parallel operations like insert,
    copy, etc. which were earlier not possible as parallel group members won't
    conflict for relation extension lock.
    
    Author: Dilip Kumar, Amit Kapila
    Reviewed-by: Amit Kapila, Kuntal Ghosh and Sawada Masahiko
    Discussion: https://postgr.es/m/CAD21AoCmT3cFQUN4aVvzy5chw7DuzXrJCbrjTU05B+Ss=Gn1LA@mail.gmail.com
    85f6b49c
deadlock.c 35 KB