Rod Taylor <rbt@rbt.ca> writes:
> For the update I intend to use double space, as if the user did those
> items as individual commands within the same transaction.
There is no alternative, unless you want the command to be
non-roll-back-able.
> Someone can
> make it more efficient in regards to constraint checks, etc. in the
> future if they want -- I don't intend to.
It'd be nice if you at least ensure that all the constraints are checked
in a single pass over the table (not one per constraint). Right offhand
I do not see why they couldn't be checked in the same pass that does the
UPDATE. For extra credit, detect that the default expression is
immutable or stable, and do the checks *once* not once per row.
regards, tom lane