Re: plpgsql.consistent_into

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема Re: plpgsql.consistent_into
Дата
Msg-id CAFj8pRDjPWGdLgqLvEsRuMb6Xe7F4PKNOExZ8yNyMV_uQj3DFw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: plpgsql.consistent_into  (Florian Pflug <fgp@phlo.org>)
Ответы Re: plpgsql.consistent_into  (Florian Pflug <fgp@phlo.org>)
Список pgsql-hackers



2014/1/12 Florian Pflug <fgp@phlo.org>
On Jan12, 2014, at 06:51 , Marko Tiikkaja <marko@joh.to> wrote:
> I would humbly like to submit for your consideration my proposal for alleviating pain caused by one of the most annoying footguns in PL/PgSQL: the behaviour of SELECT .. INTO when the query returns more than one row.  Some of you might know that no exception is raised in this case (as opposed to INSERT/UPDATE/DELETE .. INTO, all of them yielding TOO_MANY_ROWS), which can hide subtle bugs in queries if during testing the query always returns only one row or the "correct" one happens to be picked up every time.  Additionally, the row_count() after execution is always going to be either 0 or 1, so even if you want to explicitly guard against potentially broken queries, you can't do so!
>
> So I added the following compile-time option:
>
> set plpgsql.consistent_into to true;

I don't think a GUC is the best way to handle this. Handling
this via a per-function setting similar to #variable_conflict would
IMHO be better.So a function containing

#into_surplus_rows error

would complain whereas

#into_surplus_rows ignore_for_select

would leave the behaviour unchanged.

There is  GUC for variable_conflict already too. In this case I would to enable this functionality everywhere (it is tool how to simply eliminate some kind of strange bugs) so it needs a GUC.

We have GUC for plpgsql.variable_conflict three years and I don't know about any problem.

Regards

Pavel
 

best regards,
Florian Pflug



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

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

Предыдущее
От: Marko Tiikkaja
Дата:
Сообщение: Re: plpgsql.consistent_into
Следующее
От: Peter Geoghegan
Дата:
Сообщение: Re: Syntax of INSERT...ON DUPLICATE KEY LOCK FOR UPDATE