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

Reply via email to