summaryrefslogtreecommitdiff
path: root/src/pl/tcl/expected
diff options
context:
space:
mode:
authorAndrew Dunstan <andrew@dunslane.net>2006-05-27 20:24:16 +0000
committerAndrew Dunstan <andrew@dunslane.net>2006-05-27 20:24:16 +0000
commit22b118b530154c386d850bfe533c6609568724c5 (patch)
tree1dcd690c36a492cbde47f531325f04983d75b4bc /src/pl/tcl/expected
parent4627a8f41975886ddfe4e482d1453cec797415bb (diff)
downloadpostgresql-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.out38
-rw-r--r--src/pl/tcl/expected/pltcl_setup.out37
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
--