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