raise doesn't add end of line

From: "Sabin Coanda" <sabin(dot)coanda(at)deuromedia(dot)ro>
To: pgsql-admin(at)postgresql(dot)org
Subject: raise doesn't add end of line
Date: 2008-11-18 10:40:13
Message-ID: gfu63d$5jd$1@news.hub.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Hi there,

I upgrade "PostgreSQL 8.2.4 on i686-pc-mingw32, compiled by GCC gcc.exe
(GCC) 3.4.2 (mingw-special)" to "PostgreSQL 8.3.5, compiled by Visual C++
build 1400".

I found running a function which logs many logs has different behavior in
command line comparing with the query window output pane of pgAdmin.

I found that many RAISE statements in a function no more
adds end of line (CR/LF) on every message, even if it contains chr(10)
explicitely. Just when the function ends, or inserting chr(10) in the middle
of the message a CR/LF is added in the log.

For instance consider the function:

CREATE OR REPLACE FUNCTION r()
RETURNS void AS
$BODY$begin
raise notice 'Break the 1st%line...', chr(10);
raise notice 'eol on 2nd line...%', chr(10);
raise notice '3rd line';
raise notice '4th line';
end; $BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
ALTER FUNCTION r() OWNER TO postgres;

Run it:
SELECT r()

On windows command prompt you get a right log:

NOTICE: Break the 1st
line...
NOTICE: eol on 2nd line...

NOTICE: 3rd line
NOTICE: 4th line

But on pgAdmin output pane, you get a wrong log:

NOTICE: Break the 1st
line...NOTICE: eol on 2nd line...NOTICE: 3rd lineNOTICE: 4th line

Sabin

Browse pgsql-admin by date

  From Date Subject
Next Message Sabin Coanda 2008-11-18 14:16:16 usability on output pane
Previous Message Mischa Sandberg 2008-11-18 06:17:07 Re: Reliably determining whether the server came up