Re: short ciruit logic of plpgsql in 8.2

Поиск
Список
Период
Сортировка
От Ian Harding
Тема Re: short ciruit logic of plpgsql in 8.2
Дата
Msg-id 725602300705221055i3bc2317dw9f588ed6ee539b96@mail.gmail.com
обсуждение исходный текст
Ответ на Re: short ciruit logic of plpgsql in 8.2  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
This keeps biting me.  In a trigger function for INSERT OR UPDATE if you try

IF TG_OP = 'UPDATE' AND OLD.foo = 'bar' THEN
...

it will blow up on inserts because there is no OLD.  I always expect
this to short circuit and am always disappointed.  Easy fix, of
course...

IF TG_OP = 'UPDATE' THEN
        IF OLD.foo = 'bar' THEN
...

In case this was what the OP was asking about in particular, it still
happens to me in 8.2

- Ian


On 5/17/07, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Richard Broersma Jr <rabroersma@yahoo.com> writes:
> > Does anyone know if logic operations in plpgsql are short circuited in 8.2?
>
> They are often optimized, but if you expect "short circuiting" following
> exactly the rules of, say, C, you are likely to be disappointed.  See
> the manual:
>
> http://www.postgresql.org/docs/8.2/static/sql-expressions.html#SYNTAX-EXPRESS-EVAL
>
>                         regards, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: if posting/reading through Usenet, please send an appropriate
>        subscribe-nomail command to majordomo@postgresql.org so that your
>        message can get through to the mailing list cleanly
>

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

Предыдущее
От: Ron Johnson
Дата:
Сообщение: Re: How to move tables in another physial place
Следующее
От: Michelle Konzack
Дата:
Сообщение: Re: How to move tables in another physial place