Simon Riggs <simon(at)2ndquadrant(dot)com> writes:
> If action is NO ACTION or RESTRICT then
> we need to SELECT at most 1 row that matches the criteria
> which means we can use LIMIT 1
> If action is CASCADE, SET NULL, SET DEFAULT then
> we need to UPDATE or DELETE all rows that match the criteria
> which means we musnt use LIMIT and need to use FOR UPDATE
Huh? UPDATE/DELETE don't use FOR UPDATE. I think you have failed
to break down the cases sufficiently. In particular it matters which
side of the RI constraint you are working from ...
regards, tom lane