41.2. Fonctions de déclencheurs
Quand une fonction est utilisée comme un déclencheur, le
dictionnaire TD contient des valeurs
relatives au déclencheur. Les lignes du déclencheur sont dans
TD["new"] et/ou TD["old"] suivant l'événement ayant lancé le
déclencheur. TD["event"] contient
l'événement en tant que chaîne (INSERT, UPDATE,
DELETE ou UNKNOWN). TD["when"]
contient soit BEFORE, soit AFTER soit UNKNOWN.
TD["level"] contient une valeur parmi
ROW, STATEMENT et UNKNOWN.
TD["name"] contient le nom du
déclencheur, TD["table_name"] contient
le nom de la table pour laquelle a été exécuté le déclencheur,
TD["table_schema"] contient le schéma
de la table pour laquelle a été exécuté le déclencheur,
TD["name"] contient le nom du
déclencheur et TD["relid"] l'OID de la
table sur lequel le déclencheur a été activé. Si la commande
CREATE TRIGGER
incluait des arguments, ils sont disponibles dans les variables
de TD["args"][0] à TD["args"][(n-1)].
Si TD["when"] vaut BEFORE, vous pourriez renvoyer None ou "OK" à partir
de la fonction Python pour indiquer que la ligne n'est pas
modifiée, "SKIP" pour annuler
l'événement ou "MODIFY" pour indiquer
que vous avez modifié la ligne.