• Jan Wieck's avatar
    Avoid primary key lookup (and lock) if foreign key does not change · cd203f33
    Jan Wieck authored
    on UPDATE.
    
    This get's rid of the long standing annoyance that updating a row
    that has foreign keys locks all the referenced rows even if the
    foreign key values do not change.
    
    The trick is to actually do a check identical to NO ACTION after an
    eventually done UPDATE in the SET DEFAULT case. Since a SET DEFAULT
    operation should have moved referencing rows to a new "home", a following
    NO ACTION check can only fail if the column defaults of the referencing
    table resulted in the key we actually deleted. Thanks to Stephan.
    
    Jan
    cd203f33
foreign_key.out 43 KB