On Fri, May 4, 2012 at 8:32 AM, Hannu Krosing <ha...@krosing.net> wrote:
> For logical we don't really need to uniquely identify such rows - it
> should sufficient if we just update exactly one of the matching rows.
>
> The way to do this is to put all fields of the OLD.* tuple in the WHERE
> clause and then update just one matching row.
>
> IIRC updating (or deleting) CURRENT OF a cursor is currently supported
> only in pl/pgsql so this needs to be done using a plpgsql cursor.
>
> If the table has no indexes or index lookup returns lots of rows, then
> this is bound to be slow, but in this case it was probably slow on
> master too :)

I was about to write a reply saying exactly this, but you said it
better than I would have been able to manage.

I think this is all exactly right.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to