Triggers do not fire

Поиск
Список
Период
Сортировка
От Reiner Dassing
Тема Triggers do not fire
Дата
Msg-id 3BCC2CBB.9C3A31EF@wettzell.ifag.de
обсуждение исходный текст
Ответы Re: Triggers do not fire  (Stephan Szabo <sszabo@megazone23.bigpanda.com>)
Re: Triggers do not fire  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: Triggers do not fire  ("Aasmund Midttun Godal" <postgresql@envisity.com>)
Список pgsql-sql
Hallo!

I have written a very small test procedure to show a possible error
on PostgreSQL V7.1.1.
A trigger does not fire the function on update but on inserts.
Does someone have made the same experiences?


Here is the short example which is doing nothing important, just showing
the
situation:

DROP TABLE test;
CREATE TABLE test ("sensor_id" int4 NOT NULL,"epoch" datetime NOT NULL,"value" float4 NOT NULL,       PRIMARY KEY
(sensor_id,epoch));

DROP FUNCTION f_test();
CREATE FUNCTION f_test() RETURNS OPAQUE AS '  BEGIN     RAISE NOTICE ''Fired %'',TG_OP;  RETURN NULL;   END;
' LANGUAGE 'plpgsql';


DROP TRIGGER t_test;
CREATE TRIGGER t_test BEFORE INSERT OR UPDATE ON test FOR EACH ROW
EXECUTE PROCEDURE f_test();

INSERT INTO test VALUES(1,'2000-10-11 12:00:00',-20.2);
UPDATE test SET value = 1000.0 WHERE epoch = '2000-10-11 12:10:00'  AND
sensor_id = 1;

The result is as follows:
INSERT INTO test VALUES(1,'2000-10-11 12:00:00',-20.2);
NOTICE:  Fired INSERT
INSERT 0 0
UPDATE test SET value = 1000.0 WHERE epoch = '2000-10-11 12:10:00'  AND
sensor_id = 1;
UPDATE 0

The insert notice can be shown!
The update notice is not there!

Why?


--
Mit freundlichen Gruessen / With best regards  Reiner Dassing


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

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: VARCHAR vs TEXT
Следующее
От: Haller Christoph
Дата:
Сообщение: Deleting obsolete values