diff options
| author | Andrew Dunstan <andrew@dunslane.net> | 2006-05-27 20:24:16 +0000 |
|---|---|---|
| committer | Andrew Dunstan <andrew@dunslane.net> | 2006-05-27 20:24:16 +0000 |
| commit | 22b118b530154c386d850bfe533c6609568724c5 (patch) | |
| tree | 1dcd690c36a492cbde47f531325f04983d75b4bc /src/pl/tcl/expected | |
| parent | 4627a8f41975886ddfe4e482d1453cec797415bb (diff) | |
| download | postgresql-22b118b530154c386d850bfe533c6609568724c5.tar.gz | |
TG_table_name and TG_table_schema for pl/tcl, plus regression test and docs.
Diffstat (limited to 'src/pl/tcl/expected')
| -rw-r--r-- | src/pl/tcl/expected/pltcl_queries.out | 38 | ||||
| -rw-r--r-- | src/pl/tcl/expected/pltcl_setup.out | 37 |
2 files changed, 75 insertions, 0 deletions
diff --git a/src/pl/tcl/expected/pltcl_queries.out b/src/pl/tcl/expected/pltcl_queries.out index 600b15821b..6b02fb4b48 100644 --- a/src/pl/tcl/expected/pltcl_queries.out +++ b/src/pl/tcl/expected/pltcl_queries.out @@ -183,3 +183,41 @@ select * from T_pkey2 order by key1 using @<, key2; 2 | KEY2-9 | test key (4 rows) +-- show dump of trigger data +insert into trigger_test values(1,'insert'); +NOTICE: NEW: {i: 1, v: insert} +NOTICE: OLD: {} +NOTICE: TG_level: ROW +NOTICE: TG_name: show_trigger_data_trig +NOTICE: TG_op: INSERT +NOTICE: TG_relatts: {{} i v} +NOTICE: TG_relid: bogus:12345 +NOTICE: TG_table_name: trigger_test +NOTICE: TG_table_schema: public +NOTICE: TG_when: BEFORE +NOTICE: args: {23 skidoo} +update trigger_test set v = 'update' where i = 1; +NOTICE: NEW: {i: 1, v: update} +NOTICE: OLD: {i: 1, v: insert} +NOTICE: TG_level: ROW +NOTICE: TG_name: show_trigger_data_trig +NOTICE: TG_op: UPDATE +NOTICE: TG_relatts: {{} i v} +NOTICE: TG_relid: bogus:12345 +NOTICE: TG_table_name: trigger_test +NOTICE: TG_table_schema: public +NOTICE: TG_when: BEFORE +NOTICE: args: {23 skidoo} +delete from trigger_test; +NOTICE: NEW: {} +NOTICE: OLD: {i: 1, v: update} +NOTICE: TG_level: ROW +NOTICE: TG_name: show_trigger_data_trig +NOTICE: TG_op: DELETE +NOTICE: TG_relatts: {{} i v} +NOTICE: TG_relid: bogus:12345 +NOTICE: TG_table_name: trigger_test +NOTICE: TG_table_schema: public +NOTICE: TG_when: BEFORE +NOTICE: args: {23 skidoo} + diff --git a/src/pl/tcl/expected/pltcl_setup.out b/src/pl/tcl/expected/pltcl_setup.out index 583fd4fe76..111d999af2 100644 --- a/src/pl/tcl/expected/pltcl_setup.out +++ b/src/pl/tcl/expected/pltcl_setup.out @@ -53,6 +53,43 @@ create function check_pkey1_exists(int4, bpchar) returns bool as E' } return "f" ' language pltcl; +-- dump trigger data +CREATE TABLE trigger_test + (i int, v text ); +CREATE FUNCTION trigger_data() returns trigger language pltcl as $_$ + + if { [info exists TG_relid] } { + set TG_relid "bogus:12345" + } + + set dnames [info locals {[a-zA-Z]*} ] + + foreach key [lsort $dnames] { + + if { [array exists $key] } { + set str "{" + foreach akey [lsort [ array names $key ] ] { + if {[string length $str] > 1} { set str "$str, " } + set cmd "($akey)" + set cmd "set val \$$key$cmd" + eval $cmd + set str "$str$akey: $val" + } + set str "$str}" + elog NOTICE "$key: $str" + } else { + set val [eval list "\$$key" ] + elog NOTICE "$key: $val" + } + } + + + return OK + +$_$; +CREATE TRIGGER show_trigger_data_trig +BEFORE INSERT OR UPDATE OR DELETE ON trigger_test +FOR EACH ROW EXECUTE PROCEDURE trigger_data(23,'skidoo'); -- -- Trigger function on every change to T_pkey1 -- |
