Search Postgresql Archives

PL/PGSQL: why IF test the whole condition before failing or not?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi list,

I'm having trouble with - believe me! - the IF operator on a PL/PGSQL function used by a trigger.

I'm using one unique function to process the three triggers events (delete, update and insert), but when I reference OLD or NEW on a IF CONDITION, I get an error even when testing BEFORE if it's a UPDATE event or not.

example:

IF TG_OP = 'UPDATE' AND OLD.field != NEW.field THEN
...
END IF;

The question is: if the trigger was not fired by an UPDATE event, shouldn't it make the first test and then ignore the rest of the condition?

I know that some languages work like this (testing the whole condition) while others don't, but I searched for an alternative without success.

Any advice would be much appreciated!

Thanks in advance

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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux