The following bug has been logged online:

Bug reference:      3065
Logged by:          Fridman Garri
Email address:      [EMAIL PROTECTED]
PostgreSQL version: 8.2.0
Operating system:   WinXP-Prof SP2
Description:        Bug in stored procedure EXEPTION handling or in plpgsql
?
Details: 

If I call "select message from mytest(5);" from command line or from Admin
III when a programm terminates with a Message:
server closed the connection unexpectedly
        This probably means the server terminated abnormally
        before or while processing the request.
The connection to the server was lost. Attempting reset: Failed.

Stored Procedure "mytest" Created Successfully before running of examples.


Examples of situation: 
-- Example 1: no Crash
select message from mytest(-1);


-- Example 2: no Crash
select message from mytest(0);

-- Example 3: no Crash
select message from mytest(2);

-- Example 4: Crash !!!
select message from mytest(5);


-- Used Stored Procedure --
CREATE OR REPLACE FUNCTION mytest(IN amount "int4", OUT message "varchar") 
AS

$BODY$

DECLARE
myid integer;
BEGIN
            message = 'no errors';

            IF amount > 0
            THEN 
                  SELECT id INTO myid FROM client WHERE id = 1;
            END IF;

            IF amount = 0 OR amount = 5
            THEN
                  RAISE EXCEPTION 'error: amount = %', amount;
            END IF;

EXCEPTION
        WHEN OTHERS THEN
                  message = SQLERRM;
END;


$BODY$
  LANGUAGE 'plpgsql';
ALTER FUNCTION mytest(IN amount "int4", OUT message "varchar") OWNER TO
garri


Best regards.
Garri Fridman.

---------------------------(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