> -----Original Message----- > From: pgsql-hackers-ow...@postgresql.org [mailto:pgsql-hackers- > ow...@postgresql.org] On Behalf Of Marko Tiikkaja > Sent: Friday, December 21, 2012 10:53 AM > To: Tom Lane > Cc: PostgreSQL-development > Subject: Re: [HACKERS] PL/PgSQL STRICT > > On 12/21/12 4:49 PM, I wrote: > > On 12/21/12 4:39 PM, Tom Lane wrote: > >> What is the use-case for this? > > > > Currently, the way to do this would be something like: > > I realize I didn't really answer the question. > > The use case is when you're UPDATEing or DELETEing a row and you want to > quickly assert that there should be exactly one row. For example, if you've > previously locked a row with SELECT .. FOR UPDATE, and now you want to > UPDATE or DELETE it, it better be there (or you have a bug somewhere).
There had better be exactly one row - but who cares whether that is the row we were actually expecting to delete/update... I've recently had the experience of missing a "WHERE pk = ..." clause in an UPDATE statement inside a function so I do see the value in having an "easy to implement" safety idiom along these lines. Along the lines of "EXPLAIN (options) CMD" would something like "UPDATE|DELETE (STRICT) identifier" work? David J. -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers