pl/tcl again. - Mailing list pgsql-hackers
From | ohp@pyrenet.fr |
---|---|
Subject | pl/tcl again. |
Date | |
Msg-id | Pine.UW2.4.53.0606191639240.13327@sun.pyrenet Whole thread Raw |
List | pgsql-hackers |
Hi all, I'm still fighting with pltcl test that doesn't return the error message when "elog ERROR "message" is called. I've played witrh pltcl.c pltcl_error and removed the calls to PG_TRY, PG_CATCH and PG_ENDTRY to proove that elog it self had a problem... How can I check what happens in elog? Each time elog is called with a level of ERROR,FATAL, PG_CATCH runs. Also here are the server logs for pltcl checks. It's amazing that the actual error message is in context... LOG: database system was shut down at 2006-06-19 16:48:47 MET DST LOG: checkpoint record is at 0/22C6CE0 LOG: redo record is at 0/22C6CE0; undo record is at 0/0; shutdown TRUE LOG: next transaction ID: 9130; next OID: 38895 LOG: next MultiXactId: 1; next MultiXactOffset: 0 LOG: database system is ready LOG: transaction ID wrap limit is 1073745208, limited by database "regression" LOG: transaction ID wrap limit is 1073745208, limited by database "regression" LOG: transaction ID wrap limit is 1073745208, limited by database "regression" ERROR: role "regressgroup1" does not exist ERROR: CONTEXT: duplicate key '1', 'KEY1-3' for T_pkey2 while executing"elog ERROR "duplicate key '$NEW(key1)', '$NEW(key2)'for T_pkey2"" invoked from within"if {$n > 0} { elog ERROR \ "duplicate key '$NEW(key1)', '$NEW(key2)'for T_pkey2" }" (procedure "__PLTcl_proc_38909_trigger_38900" line 32) invoked from within"__PLTcl_proc_38909_trigger_38900pkey2_before 38900 {{} key1 key2 txt} BEFORE ROW INSERT {key1 1 key2 {KEY1-3 } txt {should fail ..." ERROR: CONTEXT: key for t_dta1 not in t_pkey1 while executing"elog ERROR "key for $GD($planrel) not in $keyrel"" (procedure"__PLTcl_proc_38913_trigger_38902" line 92) invoked from within"__PLTcl_proc_38913_trigger_38902 dta1_before38902 {{} tkey ref1 ref2} BEFORE ROW INSERT {tkey {trec 4 } ref1 1 ref2 {key1-4 }} {} ref..." ERROR: CONTEXT: key for t_dta2 not in t_pkey2 while executing"elog ERROR "key for $GD($planrel) not in $keyrel"" (procedure"__PLTcl_proc_38913_trigger_38904" line 92) invoked from within"__PLTcl_proc_38913_trigger_38904 dta2_before38904 {{} tkey ref1 ref2} BEFORE ROW INSERT {tkey {trec 4 } ref1 1 ref2 {KEY1-4 }} {} ref..." ERROR: CONTEXT: key '1', 'key1-1 ' referenced by T_dta1 while executing"elog ERROR "key '$OLD(key1)', '$OLD(key2)'referenced by T_dta1"" invoked from within"if {$check_old_ref} { # # Check for references to OLD # set n [spi_execp -count 1 $GD(plan_dta1) [list $OLD(key1) $OLD(key2)]] if {$n > 0}..." (procedure "__PLTcl_proc_38907_trigger_38898"line 79) invoked from within"__PLTcl_proc_38907_trigger_38898 pkey1_before 38898 {{}key1 key2 txt} BEFORE ROW UPDATE {key1 1 key2 {key1-9 } txt {test key ..." ERROR: CONTEXT: key '1', 'key1-2 ' referenced by T_dta1 while executing"elog ERROR "key '$OLD(key1)', '$OLD(key2)'referenced by T_dta1"" invoked from within"if {$check_old_ref} { # # Check for references to OLD # set n [spi_execp -count 1 $GD(plan_dta1) [list $OLD(key1) $OLD(key2)]] if {$n > 0}..." (procedure "__PLTcl_proc_38907_trigger_38898"line 79) invoked from within"__PLTcl_proc_38907_trigger_38898 pkey1_before 38898 {{}key1 key2 txt} BEFORE ROW DELETE {} {key1 1 key2 {key1-2 } txt {test key ..." NOTICE: updated 1 entries in T_dta2 for new key in T_pkey2 NOTICE: deleted 1 entries from T_dta2 -- Olivier PRENANT Tel: +33-5-61-50-97-00 (Work) 15, Chemin des Monges +33-5-61-50-97-01 (Fax) 31190 AUTERIVE +33-6-07-63-80-64 (GSM) FRANCE Email: ohp@pyrenet.fr ------------------------------------------------------------------------------ Make your life a dream, make your dream a reality. (St Exupery)
pgsql-hackers by date: