helly           Mon Nov  7 07:57:50 2005 EDT

  Added files:                 (Branch: PHP_5_1)
    /php-src/ext/pgsql/tests    80_bug32223b.phpt 

  Modified files:              
    /php-src/ext/pgsql  pgsql.c 
  Log:
  - MFH Bug #32223 weird behaviour of pg_last_notice 
  
  
http://cvs.php.net/diff.php/php-src/ext/pgsql/pgsql.c?r1=1.331.2.3&r2=1.331.2.4&ty=u
Index: php-src/ext/pgsql/pgsql.c
diff -u php-src/ext/pgsql/pgsql.c:1.331.2.3 php-src/ext/pgsql/pgsql.c:1.331.2.4
--- php-src/ext/pgsql/pgsql.c:1.331.2.3 Sun Nov  6 06:58:34 2005
+++ php-src/ext/pgsql/pgsql.c   Mon Nov  7 07:57:49 2005
@@ -20,7 +20,7 @@
    +----------------------------------------------------------------------+
  */
  
-/* $Id: pgsql.c,v 1.331.2.3 2005/11/06 11:58:34 helly Exp $ */
+/* $Id: pgsql.c,v 1.331.2.4 2005/11/07 12:57:49 helly Exp $ */
 
 #include <stdlib.h>
 
@@ -345,7 +345,7 @@
                if (PGG(log_notices)) {
                        php_error_docref(NULL TSRMLS_CC, E_NOTICE, "%s", 
notice->message);
                }
-               zend_hash_index_update(&PGG(notices), *(int *)resource_id, 
(void **)&notice, sizeof(php_pgsql_notice *), NULL);
+               zend_hash_index_update(&PGG(notices), (int)resource_id, (void 
**)&notice, sizeof(php_pgsql_notice *), NULL);
        }
 }
 /* }}} */
@@ -783,7 +783,7 @@
        }
        /* set notice processer */
        if (! PGG(ignore_notices) && Z_TYPE_P(return_value) == IS_RESOURCE) {
-               PQsetNoticeProcessor(pgsql, _php_pgsql_notice_handler, (void 
*)&Z_RESVAL_P(return_value));
+               PQsetNoticeProcessor(pgsql, _php_pgsql_notice_handler, 
(void*)Z_RESVAL_P(return_value));
        }
        php_pgsql_set_default_link(Z_LVAL_P(return_value) TSRMLS_CC);
        

http://cvs.php.net/co.php/php-src/ext/pgsql/tests/80_bug32223b.phpt?r=1.1&p=1
Index: php-src/ext/pgsql/tests/80_bug32223b.phpt
+++ php-src/ext/pgsql/tests/80_bug32223b.phpt
--TEST--
Bug #32223 (weird behaviour of pg_last_notice using define)
--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));
//$dbh = @pg_connect($conn_str);
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===

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to