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