Updates and deletes with joins - Mailing list pgsql-general

From Gordon
Subject Updates and deletes with joins
Date
Msg-id 7448ed09-6f73-432f-81eb-429a2226e905@d77g2000hsb.googlegroups.com
Whole thread Raw
Responses Re: Updates and deletes with joins
List pgsql-general
I'm working on a CMS, one of the features of the CMS in question is
that only one user can edit an item at any given time.  I've
implemented this by having one table that holds the items, and another
table that holds locks.  A lock row consists of the ID of the item
locked, a timestamp indicating when the item was locked, an interval
indicating when the locks expires and a string that holds a reason for
the item currently being locked.

I want to be able to restrict any query that updates or deletes from
the articles table so that they can only occur if there isn't a
corresponding entry in the locks table.  As far as I can tell,
however, you can't join tables when doing updates or deletes.  I know
on the PHP side I can attempt to do a select on the locks table and
only perform the delete if the select returns 0 rows, but I'd rather
the update or delete query itself does the checking.  Can anyone help
out?

pgsql-general by date:

Previous
From: Goboxe
Date:
Subject: Re: PostgreSQL on Windows x64
Next
From: Alan Hodgson
Date:
Subject: Re: Updates and deletes with joins