"Rod Taylor" <rbt(at)barchord(dot)com> writes:
> Fiddling with userlock stuff for the purposes of setting up an action
> queue. Having the lock in the where clause causes the lock code to
> actually lock 2 rows, not just the one that is being returned.
A WHERE clause should *never* contain function calls with side effects.
I do not regard this behavior as a bug. Put the function call in the
SELECT's output list if you want to know exactly which rows it is
evaluated at.
regards, tom lane