strange problem with plpgsql

From: Richard NAGY <richard(at)presenceweb(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: strange problem with plpgsql
Date: 2001-12-20 12:52:14
Message-ID: 3C21DEFE.C11D1A0F@presenceweb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

hello,

I have a strange problem with a plpgsql function. Here is the code :

create function tg_survey_au() returns opaque as '
begin
if new.dateexpire != old.dateexpire or new.email != old.email then
insert into survey_log values (
current_timestamp,
''update'',
new.idxsurvey,
new.dateexpire,
new.email
);
end if;
return new;
end;
' language 'plpgsql';

create trigger tg_survey_au after update on survey for each row execute
procedure tg_survey_au();

The problem is about the 'or' in the if statement. I have tested the if
statement with just one condition. One with dateexpire and one with
email. It works very well. Then I have joined the two conditions in the
if statement with an 'or' like here in the code. Then, I have an insert
in survey_log just when the email change, not if the dateexpire change!
It seems that the 'or' does not work.

Any idea ?

Note : The tests have been tested on a postgresql version 7.0.2 on a
RedHat Linux 6.2 machine.

--
Richard NAGY
Presenceweb / Nameshield

Browse pgsql-general by date

  From Date Subject
Next Message Dmitry Panov 2001-12-20 14:30:01 indices usage
Previous Message Martijn van Oosterhout 2001-12-20 09:19:11 Re: Operation eq with varchar