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_38900 pkey2_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_before 38902 {{} 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_before 38904 {{} 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)

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match

Reply via email to