BUG #3065: Bug in stored procedure EXEPTION handling or in plpgsql ? - Mailing list pgsql-bugs

From Fridman Garri
Subject BUG #3065: Bug in stored procedure EXEPTION handling or in plpgsql ?
Date
Msg-id 200702231726.l1NHQeZ5037417@wwwmaster.postgresql.org
Whole thread Raw
List pgsql-bugs
The following bug has been logged online:

Bug reference:      3065
Logged by:          Fridman Garri
Email address:      garri@wanadoo.nl
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.

pgsql-bugs by date:

Previous
From: "Keith Turner"
Date:
Subject: Spelling error in 8.1.6-1 Windows Error Dialog typo
Next
From: "Axel Noltemeier"
Date:
Subject: BUG #3067: Unnecessary lock blocks reindex