update trigger not working

From: CSN <cool_screen_name90001(at)yahoo(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: update trigger not working
Date: 2005-10-20 02:26:52
Message-ID: 20051020022653.17177.qmail@web52906.mail.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I'm trying to set up a trigger that simply updates a
field's corresponding timestamp to now() whenever the
field is updated. But it's not working. Trying to
debug, I commented out the inner IF and END and the
log seemed to indicate infinite recursion occurred. My
next guess is that perhaps NULL's in OLD.stuff is
causing the IF to behave other than what I expect.

Thanks for any help!
CSN

CREATE or REPLACE function update_ts() returns trigger
as $end$

BEGIN

IF (TG_OP='UPDATE') THEN

IF (OLD.stuff != NEW.stuff) THEN
UPDATE table1
set stuff_ts=now()
where id=NEW.id;
END IF;

END IF;

RETURN NULL;

END;

$end$ language plpgsql;

CREATE TRIGGER update_ts AFTER UPDATE ON table1 FOR
EACH ROW EXECUTE PROCEDURE update_ts();



__________________________________
Yahoo! Mail - PC Magazine Editors' Choice 2005
http://mail.yahoo.com

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Alvaro Herrera 2005-10-20 02:49:42 Re: [HACKERS] Call for translators
Previous Message J.Kuwamura 2005-10-20 02:07:35 'a ' = 'a ' by MySQL(Re: [pgsql-advocacy] Oracle buys Innobase)