ID: 32223
User updated by: valiak at gmail dot com
Reported By: valiak at gmail dot com
-Status: Feedback
+Status: Open
Bug Type: PostgreSQL related
Operating System: *
-PHP Version: 5CVS-2005-09-02
+PHP Version: 5CVS-2005-10-10
Assigned To: helly
New Comment:
i tried with the new version problem still exists (it does not exists
in version 4)
your script differs from the one I have posted, the main difference is
that I use constant to store the return value of pg_connect, the code
is in funcion, and the include must appear bellow pg_connect, try this
test:
--TEST--
Bug #32223 (weird behaviour of pg_last_notice)
--SKIPIF--
<?php
require_once('skipif.inc');
@pg_query($conn, "CREATE LANGUAGE 'plpgsql' HANDLER
plpgsql_call_handler LANCOMPILER 'PL/pgSQL'");
$res = @pg_query($conn, "CREATE OR REPLACE FUNCTION test_notice()
RETURNS boolean AS '
begin
RAISE NOTICE ''11111'';
return ''f'';
end;
' LANGUAGE plpgsql;");
if (!$res) die('skip PLPGSQL not available');
?>
--FILE--
<?php
require('config.inc');
define ('dbh', pg_connect($conn_str));
require('config.inc');
if (!dbh) {
die ("Could not connect to the server");
}
//@pg_query(dbh, "CREATE LANGUAGE 'plpgsql' HANDLER
plpgsql_call_handler LANCOMPILER 'PL/pgSQL'");
$res = pg_query(dbh, "CREATE OR REPLACE FUNCTION test_notice() RETURNS
boolean AS '
begin
RAISE NOTICE ''11111'';
return ''f'';
end;
' LANGUAGE plpgsql;");
function tester() {
$res = pg_query(dbh, 'SELECT test_notice()');
$row = pg_fetch_row($res, 0);
var_dump($row);
pg_free_result($res);
if ($row[0] == 'f')
{
var_dump(pg_last_notice(dbh));
}
}
tester();
pg_close(dbh);
?>
===DONE===
--EXPECTF--
array(1) {
[0]=>
string(1) "f"
}
string(14) "NOTICE: 11111"
===DONE===
Previous Comments:
------------------------------------------------------------------------
[2005-10-09 18:07:55] [EMAIL PROTECTED]
I made up a php test script for this: ext/pgsql/tests/80_bug32223.phpt
But i cannot reproduce your behavior with 5.1-dev or HEAD.
Maybe it is postgres?
marcus=# select version();
version
--------------------------------------------------------------------------------------------------------------------------------------
PostgreSQL 8.0.1 on i586-mandrake-linux-gnu, compiled by GCC
i586-mandrake-linux-gnu-gcc (GCC) 3.4.3 (Mandrakelinux 10.2
3.4.3-7mdk)
Works in all versions for me. So please try the following:
php run-tests.php ext/pgsql/tests/80_bug32223.phpt
If that fails, can you do a 'memcheck' on that?
And tell me your postgres version.
------------------------------------------------------------------------
[2005-09-24 20:36:28] [EMAIL PROTECTED]
Assigned to the maintainer.
------------------------------------------------------------------------
[2005-09-23 15:55:35] valiak at gmail dot com
the code snipped is presented in the bug report and is
quite easily reproduced on any machine with postgresql and
php5 I have tried, there were some other users confirming
the problem, but are deleted from the bug report.
It has "external resources such as databases, etc."
because it is a database related bug!!
I use "Short tags" because it is written here
http://www.php.net/manual/en/language.basic-syntax.php
that I can use them.
Anyway ......... here is even more short version of the
bug
(but still with external resources!!! and two files)
http://ce.noxis.net/pg_last_notice/test.php // the main
file
http://ce.noxis.net/pg_last_notice/test.inc.php // the
include
http://ce.noxis.net/pg_last_notice/db.sql // the database
schema - only one function
------------------------------------------------------------------------
[2005-09-21 12:24:39] [EMAIL PROTECTED]
Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves.
A proper reproducing script starts with <?php and ends with ?>,
is max. 10-20 lines long and does not require any external
resources such as databases, etc.
If possible, make the script source available online and provide
an URL to it here. Try to avoid embedding huge scripts into the report.
------------------------------------------------------------------------
[2005-09-02 14:48:49] valiak at gmail dot com
still do not work correctly, there is no output even with
E_ALL
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/32223
--
Edit this bug report at http://bugs.php.net/?id=32223&edit=1