From: valiak at gmail dot com Operating system: debian linux sarge PHP version: 5.0.3 PHP Bug Type: PostgreSQL related Bug description: weird behaviour of pg_last_notice
Description: ------------ i've tried to localize to as smallest code as I could the correct result happens even if you comment the include line or the global directive or not using exceptions ... (there are few other modifications too) it happens with the cli version and with the apache module version [EMAIL PROTECTED] ~/tmp/pg_last_notice $ php -v PHP 5.0.3 (cli) (built: Mar 2 2005 13:13:40) Copyright (c) 1997-2004 The PHP Group Zend Engine v2.0.3, Copyright (c) 1998-2004 Zend Technologies compiled with ./configure --with-gettext --with-oci8 --with-apxs=/usr/bin/apxs --with-gd --with-pgsql --with-readline --with-zlib --with-mysql=/usr --with- jpeg-dir --with-png-dir --enable-mbstring --enable-sockets --enable-pcntl --enable-sigchild --with-exec-dir=/usr/bin --with-config-file-path= /etc/php5 pgsql PostgreSQL Support => enabled PostgreSQL(libpq) Version => 8.0.1 Multibyte character support => enabled SSL support => disabled Active Persistent Links => 0 Active Links => 0 Directive => Local Value => Master Value pgsql.allow_persistent => Off => Off pgsql.auto_reset_persistent => Off => Off pgsql.ignore_notice => Off => Off pgsql.log_notice => Off => Off pgsql.max_links => Unlimited => Unlimited pgsql.max_persistent => Unlimited => Unlimited if some more info is needed tell me what to do? Reproduce code: --------------- [EMAIL PROTECTED] ~/tmp/pg_last_notice $ cat test.inc.php <? ?> [EMAIL PROTECTED] ~/tmp/pg_last_notice $ cat test.php <? /* this is a dummy pg function just to raise notice, called from this file CREATE OR REPLACE FUNCTION test_notice() RETURNS boolean AS $$ begin RAISE NOTICE '11111'; return 'f'; end; $$ LANGUAGE plpgsql; */ define(TTT, pg_connect('user=test password=test dbname=test')); include_once 'test.inc.php'; function tester() { global $t; $res = pg_query(TTT, 'SELECT test_notice()'); $result = pg_fetch_row($res, 0); pg_free_result($res); if ($result[0] == 'f') { throw new Exception(pg_last_notice(TTT)); } } try { echo tester(); echo 2; } catch (Exception $e) { echo $e->getMessage(), 1; } ?> Expected result: ---------------- [EMAIL PROTECTED] ~/tmp/pg_last_notice $ php test.php NOTICE: 111111 Actual result: -------------- [EMAIL PROTECTED] ~/tmp/pg_last_notice $ php test.php 1 -- Edit bug report at http://bugs.php.net/?id=32223&edit=1 -- Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=32223&r=trysnapshot4 Try a CVS snapshot (php5.0): http://bugs.php.net/fix.php?id=32223&r=trysnapshot50 Try a CVS snapshot (php5.1): http://bugs.php.net/fix.php?id=32223&r=trysnapshot51 Fixed in CVS: http://bugs.php.net/fix.php?id=32223&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=32223&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=32223&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=32223&r=needscript Try newer version: http://bugs.php.net/fix.php?id=32223&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=32223&r=support Expected behavior: http://bugs.php.net/fix.php?id=32223&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=32223&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=32223&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=32223&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=32223&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=32223&r=dst IIS Stability: http://bugs.php.net/fix.php?id=32223&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=32223&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=32223&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=32223&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=32223&r=mysqlcfg