BUG #2946: server crashes when trying to catch exception in function

Started by Nonameabout 19 years ago2 messagesbugs
Jump to latest
#1Noname
chris@icp.pl

The following bug has been logged online:

Bug reference: 2946
Logged by:
Email address: chris@icp.pl
PostgreSQL version: 8.2.0
Operating system: Red Hat Enterprise Linux ES release 4
Description: server crashes when trying to catch exception in
function
Details:

I have a function named test()

CREATE OR REPLACE FUNCTION test()
RETURNS integer AS
$BODY$
DECLARE
r INTEGER;
y INTEGER;
x INTEGER;
BEGIN
BEGIN
select into r 1;
y := r / 0;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
RETURN y;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;

select * from test() causes a server crash

when I change

select into r 1; to r:=1;

all works fine.

there can be a

select into r id FROM some_table LIMIT 1;

or

WHEN division_by_zero THEN

and the server srashes too.

Chris.

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Noname (#1)
Re: BUG #2946: server crashes when trying to catch exception in function

"" <chris@icp.pl> writes:

PostgreSQL version: 8.2.0
Operating system: Red Hat Enterprise Linux ES release 4
Description: server crashes when trying to catch exception in
function

I can't reproduce this using 8.2 branch tip. I suspect it is at bottom
the same problem as bug #2817, in which case it's fixed in 8.2.1.

regards, tom lane