Re: PL/PgSQL STRICT

Поиск
Список
Период
Сортировка
От David Johnston
Тема Re: PL/PgSQL STRICT
Дата
Msg-id 009601cddf96$1ab06a30$50113e90$@yahoo.com
обсуждение исходный текст
Ответ на Re: PL/PgSQL STRICT  (Marko Tiikkaja <pgmail@joh.to>)
Список pgsql-hackers
> -----Original Message-----
> From: pgsql-hackers-owner@postgresql.org [mailto:pgsql-hackers-
> owner@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.





В списке pgsql-hackers по дате отправления:

Предыдущее
От: Christopher Browne
Дата:
Сообщение: Re: PL/PgSQL STRICT
Следующее
От: Tom Lane
Дата:
Сообщение: Re: PL/PgSQL STRICT