Hi,

I have a stored procedure run periodically that assign accounting records to their respective customers based on username and other criteria.
It also does all kinds of validation work on the accounting records.


I would have liked to have the procedure log start and stop times using RAISE NOTICE and also store start and stop time of each run
to a logging table.


I currently have following:

---snipp---
CREATE OR REPLACE FUNCTION radius.radius_acct_batch() RETURNS void
    AS '
DECLARE
        batch_id int;
        realm RECORD;
        start_time timestamp;
        stop_time timestamp;
BEGIN
        -- start new batch
        start_time := ''now'';
        INSERT INTO radius.radius_acct_batch ( radius_acct_batch_run_start ) VALUES ( 
start_time );
        SELECT INTO batch_id 
currval(''radius.radius_acct_batch_radius_acct_batch_id_seq'');

        RAISE NOTICE ''radius.radius_acct_batch, radius_acct_batch_id=%, 
start_time=%.'', batch_id, start_time;

        -- do actual work

        ...
        ...
        ...
        ...


-- register end date in batch stop_time := ''now''; UPDATE radius.radius_acct_batch SET radius_acct_batch_run_end=stop_time WHERE radius_acct_batch_id=batch_id; RAISE NOTICE ''radius.radius_acct_batch, radius_acct_batch_id=%, stop_time=%, done.'', batch_id, stop_time;

        RETURN;
END'
    LANGUAGE plpgsql;
---snipp---

the problem is that start_time and stop_time are identical.

Is there any way I can get plpgsql to reevaluate now at the end
of the batch ???

Greetings
Christian

--
Christian Kratzer                       [EMAIL PROTECTED]
CK Software GmbH                        http://www.cksoft.de/
Phone: +49 7452 889 135                 Fax: +49 7452 889 136

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
   (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])

Reply via email to