Forum OpenACS Q&A: ERROR: control reaches end of trigger procedure without RETURN

Any ideas...........please?
[27/Nov/2001:16:52:22][27622.99333][-conn42-] Notice: 
Querying 'update wpp_product_question set product_question 
= 'asfsafs', editor_notes = 'afdsdf', approved_p = 'f', last_modified 
= sysdate(), last_modifying_user = '3', modified_ip_address 
= '67.202.3.131'
where product_question_id = '1';'
[27/Nov/2001:16:52:22][27622.99333][-conn42-] Error: Ns_PgExec: 
result status: 7 message: ERROR:  control reaches end of trigger 
procedure without RETURN

[27/Nov/2001:16:52:22][27622.99333][-conn42-] Error: dbinit: error
(localhost::wpower,ERROR:  control reaches end of trigger procedure 
without RETURN
): 'update wpp_product_question set product_question = 'asfsafs', 
editor_notes = 'afdsdf', approved_p = 'f', last_modified = sysdate(), 
last_modifying_user = '3', modified_ip_address = '67.202.3.131'
where product_question_id = '1''
[27/Nov/2001:16:52:22][27622.99333][-conn42-] Error: Database 
operation "dml" failed
Database operation "dml" failed
    while executing
"ns_db dml $db "$sql_update""
    (file "/web/wpower/www/edit/questions/update-question.tcl" line 
21)
    invoked from within
"source $ad_conn(file)"
    (procedure "ad_handle_abstract_url" line 67)
    invoked from within
"ad_handle_abstract_url cns337 {}"
[27/Nov/2001:16:52:22][27622.99333][-conn42-] Notice: Querying '
                update sec_sessions
                set last_hit = 1006897942
                where session_id = 131;'
[27/Nov/2001:16:52:22][27622.99333][-conn42-] Notice: dbinit: sql
(localhost::wpower): '
                update sec_sessions
                set last_hit = 1006897942
                where session_id = 131
            '

Here's the trigger... 

create table wpp_product_question_audit as
       select * from wpp_product_question where 1 = 0;

alter table wpp_product_question_audit add delete_p char(1) check 
(delete_p in ('f','t')) default 'f';

drop function wpp_product_question_audit_fn();
create function wpp_product_question_audit_fn() returns opaque
as '
declare
begin
        insert into wpp_product_question_audit (
        product_question_id, product_type_id, product_faq_id, 
product_question,
        sort_order, editor_notes, approved_p, last_modified, 
last_modifying_user,
        modified_ip_address
        ) values (
        OLD.product_question_id, OLD.product_type_id, 
OLD.product_faq_id, OLD.product_question,
        OLD.sort_order, OLD.editor_notes, OLD.approved_p, 
OLD.last_modified, OLD.last_modifying_user,
        OLD.modified_ip_address
        );
end;
' language 'plpgsql';

drop trigger wpp_product_question_audit_tr on wpp_product_question;
create trigger wpp_product_question_audit_tr
before update or delete on wpp_product_question
for each row execute procedure wpp_product_question_audit_fn();
It needs a "return old;" at the end of the trigger function...