Thread: Bug #847: plpgsql 'raise notice' > 4000 chars disconnects pgsql backend 7.2.1

Bug #847: plpgsql 'raise notice' > 4000 chars disconnects pgsql backend 7.2.1

From
pgsql-bugs@postgresql.org
Date:
stephen dee (ala_frosty@yaho#nospam#o.com) reports a bug with a severity of 1
The lower the number the more severe it is.

Short Description
plpgsql 'raise notice' > 4000 chars disconnects pgsql backend 7.2.1

Long Description
Try this:

It will cause you (et al) to get disconnected from the back end. Very cool if you want to annoy people.

SD

Sample Code
DROP FUNCTION sp_crashpg();

CREATE FUNCTION sp_crashpg() RETURNS varchar AS '
DECLARE
message varchar;
counts int4;
BEGIN
-- Do not crash yet:
message := repeat(''I am going to crash!'',200);
raise notice ''No crash: %'',message;
-- Okay, now bring it on HAL:
message := repeat(''I am going to crash!'',201);
raise notice ''Crash here: %'',message;

FOR counts IN 1..3 LOOP
    -- DO NOTHING
END LOOP;
RETURN ''I told you so'';
END;'
LANGUAGE 'plpgsql';

No file was uploaded with this report

Re: Bug #847: plpgsql 'raise notice' > 4000 chars

From
Neil Conway
Date:
On Thu, 2002-12-12 at 17:18, pgsql-bugs@postgresql.org wrote:
> plpgsql 'raise notice' > 4000 chars disconnects pgsql backend 7.2.1

> It will cause you (et al) to get disconnected from the back end.

Works for me (i.e. no crash, a long elog() is returned to the client as
expected), using CVS HEAD as of a couple days ago.

Stephen: can you reproduce the problem with PostgreSQL 7.3 or 7.4-devel?

Cheers,

Neil
pgsql-bugs@postgresql.org writes:
> plpgsql 'raise notice' > 4000 chars disconnects pgsql backend 7.2.1

This is fixed in 7.2.2 and later.

            regards, tom lane