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 по дате отправления: