diff options
author | Andrew Dunstan <andrew@dunslane.net> | 2006-05-26 19:23:09 +0000 |
---|---|---|
committer | Andrew Dunstan <andrew@dunslane.net> | 2006-05-26 19:23:09 +0000 |
commit | 0a269db9cf823de737049967a0c03ca82b9abce1 (patch) | |
tree | 98663fee1eaad0ffb08fcd9c7eb41b3d7a975ee2 /src/pl/plpython/sql/plpython_function.sql | |
parent | 777f72cd37202737a9faea0c406804f37ed1c955 (diff) | |
download | postgresql-0a269db9cf823de737049967a0c03ca82b9abce1.tar.gz postgresql-0a269db9cf823de737049967a0c03ca82b9abce1.zip |
Add table_name and table_schema to plpython trigger data, plus docs and regression test.
Diffstat (limited to 'src/pl/plpython/sql/plpython_function.sql')
-rw-r--r-- | src/pl/plpython/sql/plpython_function.sql | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/pl/plpython/sql/plpython_function.sql b/src/pl/plpython/sql/plpython_function.sql index c5920685d96..73b1a654055 100644 --- a/src/pl/plpython/sql/plpython_function.sql +++ b/src/pl/plpython/sql/plpython_function.sql @@ -140,6 +140,37 @@ CREATE TRIGGER users_delete_trig BEFORE DELETE ON users FOR EACH ROW EXECUTE PROCEDURE users_delete ('willem'); + +-- dump trigger data + +CREATE TABLE trigger_test + (i int, v text ); + +CREATE FUNCTION trigger_data() returns trigger language plpythonu as $$ + +if TD.has_key('relid'): + TD['relid'] = "bogus:12345" + +for key in sorted(TD.keys()): + val = TD[key] + plpy.notice("TD[" + key + "] => " + str(val)) + +return None + +$$; + +CREATE TRIGGER show_trigger_data_trig +BEFORE INSERT OR UPDATE OR DELETE ON trigger_test +FOR EACH ROW EXECUTE PROCEDURE trigger_data(23,'skidoo'); + +insert into trigger_test values(1,'insert'); +update trigger_test set v = 'update' where i = 1; +delete from trigger_test; + +DROP TRIGGER show_trigger_data_trig on trigger_test; + +DROP FUNCTION trigger_data(); + -- nested calls -- |