Re: Bug #958: plperl notice server log - Mailing list pgsql-bugs

From A.Bhuvaneswaran
Subject Re: Bug #958: plperl notice server log
Date
Msg-id Pine.LNX.4.44.0304291022420.1047-100000@Bhuvan.bksys.co.in
Whole thread Raw
In response to Re: Bug #958: plperl notice server log  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Bug #958: plperl notice server log
List pgsql-bugs
> > The notice message raised by a plperl function is flushed into the
> > server log file only when that client is disconnected and the client
> > does not receive the message. On the other hand, the notice raised by
> > a plpgsql function are flushed into the server log immediately.
>
> Difficult to believe, since they both call elog() which does a write(2,...)
> --- I see no way that perl could screw that up ...

FYI, i have attached the repeatable sequence of commands, sample perl
code and the server log. I have also attached the sequence of commands,
sample plpgsql code and the server log.

regards,
bhuvaneswaran

<perl_code>
create or replace function perl_test (text, text)
returns int as '

  my ($A1, $A2) = @_;
  print "Argument 1 :$A1:\n";
  print "Argument 2 :$A2:\n";
  return 1;
'
language 'plperl';

</perl_code>

<perl_seq>
Welcome to psql 7.3.1, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help on internal slash commands
       \g or terminate with semicolon to execute query
       \q to quit

bhuvan=> SELECT perl_test('bhuvan', 'eswar');
 perl_test
-----------
         1
(1 row)

bhuvan=> SELECT perl_test('bhuvan', 'eswar');
 perl_test
-----------
         1
(1 row)

bhuvan=> \q
</perl_seq>

<perl_log>
2003-04-29 10:22:06 [4151]   LOG:  connection received: host=[local]
2003-04-29 10:22:06 [4151]   LOG:  connection authorized: user=bhuvan
database=bhuvan
2003-04-29 10:22:06 [4151]   LOG:  query: begin; select
getdatabaseencoding(); commit
2003-04-29 10:22:06 [4151]   LOG:  duration: 0.002896 sec
2003-04-29 10:22:06 [4151]   LOG:  query: BEGIN; SELECT usesuper FROM
pg_catalog.pg_user WHERE usename = 'bhuvan'; COMMIT
2003-04-29 10:22:06 [4151]   LOG:  duration: 0.011538 sec
2003-04-29 10:22:20 [4151]   LOG:  query: SELECT perl_test('bhuvan',
'eswar');
2003-04-29 10:22:20 [4151]   LOG:  duration: 0.109914 sec
2003-04-29 10:22:21 [4151]   LOG:  query: SELECT perl_test('bhuvan',
'eswar');
2003-04-29 10:22:21 [4151]   LOG:  duration: 0.001063 sec
Argument 1 :bhuvan:
Argument 2 :eswar:
Argument 1 :bhuvan:
Argument 2 :eswar:
</perl_log>

<plpgsql_code>
create or replace function plpgsql_test (text, text)
returns int as '

begin

  raise notice ''plpgsql: Argument 1 :%:'', $1;
  raise notice ''plpgsql: Argument 2 :%:'', $2;
  return 1;
end;'
language 'plpgsql';
</plpgsql_code>

<plpgsql_seq>
Welcome to psql 7.3.1, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help on internal slash commands
       \g or terminate with semicolon to execute query
       \q to quit

bhuvan=> SELECT plpgsql_test('bhuvan', 'eswar');
NOTICE:  plpgsql: Argument 1 :bhuvan:
NOTICE:  plpgsql: Argument 2 :eswar:
 plpgsql_test
--------------
            1
(1 row)

bhuvan=> SELECT plpgsql_test('bhuvan', 'eswar');
NOTICE:  plpgsql: Argument 1 :bhuvan:
NOTICE:  plpgsql: Argument 2 :eswar:
 plpgsql_test
--------------
            1
(1 row)

bhuvan=> \q
</plpgsql_seq>

<plpgsql_log>
2003-04-29 10:29:13 [9479]   LOG:  connection received: host=[local]
2003-04-29 10:29:13 [9479]   LOG:  connection authorized: user=bhuvan
database=bhuvan
2003-04-29 10:29:13 [9479]   LOG:  query: begin; select
getdatabaseencoding(); commit
2003-04-29 10:29:13 [9479]   LOG:  duration: 0.003444 sec
2003-04-29 10:29:13 [9479]   LOG:  query: BEGIN; SELECT usesuper FROM
pg_catalog.pg_user WHERE usename = 'bhuvan'; COMMIT
2003-04-29 10:29:13 [9479]   LOG:  duration: 0.045066 sec
2003-04-29 10:29:14 [9479]   LOG:  query: SELECT plpgsql_test('bhuvan',
'eswar');
2003-04-29 10:29:14 [9479]   NOTICE:  plpgsql: Argument 1 :bhuvan:
2003-04-29 10:29:14 [9479]   NOTICE:  plpgsql: Argument 2 :eswar:
2003-04-29 10:29:14 [9479]   LOG:  query: SELECT  1
2003-04-29 10:29:14 [9479]   LOG:  duration: 0.005317 sec
2003-04-29 10:29:16 [9479]   LOG:  query: SELECT plpgsql_test('bhuvan',
'eswar');
2003-04-29 10:29:16 [9479]   NOTICE:  plpgsql: Argument 1 :bhuvan:
2003-04-29 10:29:16 [9479]   NOTICE:  plpgsql: Argument 2 :eswar:
2003-04-29 10:29:16 [9479]   LOG:  duration: 0.001173 sec
</plpgsql_log>

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: Bug #959: handling of 'nan' floating point value with pg_dump incorrect
Next
From: Tom Lane
Date:
Subject: Re: Bug #958: plperl notice server log