helly Mon Nov 7 08:01:37 2005 EDT Added files: (Branch: PHP_4_4) /php-src/ext/pgsql/tests 80_bug32223b.phpt
Modified files: /php-src/ext/pgsql pgsql.c Log: - MFH Fix Bug #32223 weird behaviour of pg_last_notice http://cvs.php.net/diff.php/php-src/ext/pgsql/pgsql.c?r1=1.244.2.40.2.1&r2=1.244.2.40.2.2&ty=u Index: php-src/ext/pgsql/pgsql.c diff -u php-src/ext/pgsql/pgsql.c:1.244.2.40.2.1 php-src/ext/pgsql/pgsql.c:1.244.2.40.2.2 --- php-src/ext/pgsql/pgsql.c:1.244.2.40.2.1 Tue Jul 5 08:50:03 2005 +++ php-src/ext/pgsql/pgsql.c Mon Nov 7 08:01:36 2005 @@ -19,7 +19,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: pgsql.c,v 1.244.2.40.2.1 2005/07/05 12:50:03 derick Exp $ */ +/* $Id: pgsql.c,v 1.244.2.40.2.2 2005/11/07 13:01:36 helly Exp $ */ #include <stdlib.h> @@ -310,7 +310,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 **)¬ice, sizeof(php_pgsql_notice *), NULL); + zend_hash_index_update(&PGG(notices), (int)resource_id, (void **)¬ice, sizeof(php_pgsql_notice *), NULL); } } /* }}} */ @@ -694,7 +694,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