georg Fri Jul 23 08:47:36 2004 EDT
Added files:
/php-src/ext/mysqli/tests bug29311.phpt
Modified files:
/php-src NEWS
/php-src/ext/mysqli mysqli.c mysqli_fe.c
Log:
fixed bug #29311
added support for Cursors (MySQL 5.0.x)
http://cvs.php.net/diff.php/php-src/NEWS?r1=1.1771&r2=1.1772&ty=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.1771 php-src/NEWS:1.1772
--- php-src/NEWS:1.1771 Thu Jul 22 08:15:12 2004
+++ php-src/NEWS Fri Jul 23 08:47:36 2004
@@ -1,10 +1,11 @@
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? 2004, PHP 5.1.0
-- Fixed bug #28985 (__getTypes() returning nothing on complex WSDL). (Dmitry)
+- Fixed bug #29311 (calling parent constructor in mysqli). (Georg)
- Fixed bug #29236 (memory error when wsdl-cache is enabled). (Dmitry)
- Fixed bug #29109 (SoapFault exception: [WSDL] Out of memory). (Dmitry)
- Fixed bug #29061 (soap extension segfaults). (Dmitry)
+- Fixed bug #28985 (__getTypes() returning nothing on complex WSDL). (Dmitry)
- Added new functions :
. array_diff_key() (Andrey)
. array_diff_ukey() (Andrey)
@@ -13,6 +14,7 @@
. stream_context_get_default() (Wez)
. stream_socket_enable_crypto() (Wez)
- PHP will now respect extension dependencies when initializing. (Wez)
+- Added Cursor support for MySQL 5.0.x in mysqli (Georg)
- Added MDTM support to ftp_url_stat. (Sara)
- Added zlib stream filter suport. (Sara)
- Added bz2 stream filter support. (Sara)
http://cvs.php.net/diff.php/php-src/ext/mysqli/mysqli.c?r1=1.43&r2=1.44&ty=u
Index: php-src/ext/mysqli/mysqli.c
diff -u php-src/ext/mysqli/mysqli.c:1.43 php-src/ext/mysqli/mysqli.c:1.44
--- php-src/ext/mysqli/mysqli.c:1.43 Wed Jul 7 04:02:27 2004
+++ php-src/ext/mysqli/mysqli.c Fri Jul 23 08:47:36 2004
@@ -15,7 +15,7 @@
| Author: Georg Richter <[EMAIL PROTECTED]> |
+----------------------------------------------------------------------+
- $Id: mysqli.c,v 1.43 2004/07/07 08:02:27 georg Exp $
+ $Id: mysqli.c,v 1.44 2004/07/23 12:47:36 georg Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -273,7 +273,7 @@
{
mysqli_object *obj = (mysqli_object *)zend_objects_get_address(object
TSRMLS_CC);
- if (obj->zo.ce != mysqli_link_class_entry && obj->zo.ce->constructor) {
+ if (obj->zo.ce != mysqli_link_class_entry) {
return obj->zo.ce->constructor;
} else {
static zend_internal_function f;
@@ -443,6 +443,14 @@
/* for mysqli_stmt_set_attr */
REGISTER_LONG_CONSTANT("MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH",
STMT_ATTR_UPDATE_MAX_LENGTH, CONST_CS | CONST_PERSISTENT);
+
+#ifdef STMT_ATTR_CURSOR_TYPE
+ REGISTER_LONG_CONSTANT("MYSQLI_STMT_ATTR_CURSOR_TYPE", STMT_ATTR_CURSOR_TYPE,
CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("MYSQLI_CURSOR_TYPE_NO_CURSOR", CURSOR_TYPE_NO_CURSOR,
CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("MYSQLI_CURSOR_TYPE_READ_ONLY", CURSOR_TYPE_READ_ONLY,
CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("MYSQLI_CURSOR_TYPE_FOR_UPDATE",
CURSOR_TYPE_FOR_UPDATE, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("MYSQLI_CURSOR_TYPE_SCROLLABLE",
CURSOR_TYPE_SCROLLABLE, CONST_CS | CONST_PERSISTENT);
+#endif
/* column information */
REGISTER_LONG_CONSTANT("MYSQLI_NOT_NULL_FLAG", NOT_NULL_FLAG, CONST_CS |
CONST_PERSISTENT);
http://cvs.php.net/diff.php/php-src/ext/mysqli/mysqli_fe.c?r1=1.40&r2=1.41&ty=u
Index: php-src/ext/mysqli/mysqli_fe.c
diff -u php-src/ext/mysqli/mysqli_fe.c:1.40 php-src/ext/mysqli/mysqli_fe.c:1.41
--- php-src/ext/mysqli/mysqli_fe.c:1.40 Wed Jul 7 04:02:27 2004
+++ php-src/ext/mysqli/mysqli_fe.c Fri Jul 23 08:47:36 2004
@@ -15,7 +15,7 @@
| Author: Georg Richter <[EMAIL PROTECTED]> |
+----------------------------------------------------------------------+
- $Id: mysqli_fe.c,v 1.40 2004/07/07 08:02:27 georg Exp $
+ $Id: mysqli_fe.c,v 1.41 2004/07/23 12:47:36 georg Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -202,6 +202,7 @@
PHP_FALIAS(set_local_infile_handler,mysqli_set_local_infile_handler,NULL)
PHP_FALIAS(master_query,mysqli_master_query,NULL)
PHP_FALIAS(multi_query,mysqli_multi_query,NULL)
+ PHP_FALIAS(mysqli,mysqli_connect,NULL)
PHP_FALIAS(more_results,mysqli_more_results, NULL)
PHP_FALIAS(next_result, mysqli_next_result, NULL)
PHP_FALIAS(options,mysqli_options,NULL)
http://cvs.php.net/co.php/php-src/ext/mysqli/tests/bug29311.phpt?r=1.1&p=1
Index: php-src/ext/mysqli/tests/bug29311.phpt
+++ php-src/ext/mysqli/tests/bug29311.phpt
--TEST--
constructor test
--FILE--
<?php
include "connect.inc";
/* class 1 calls parent constructor */
class mysql1 extends mysqli {
function __construct() {
parent::__construct("localhost", "root", "", "test");
}
}
/* class 2 has an own constructor */
class mysql2 extends mysqli {
function __construct() {
$this->connect("localhost", "root", "", "test");
}
}
/* class 3 has no constructor */
class mysql3 extends mysqli {
}
$foo[0] = new mysql1();
$foo[1] = new mysql2();
$foo[2] = new mysql3("localhost", "root", "", "test");
for ($i=0; $i < 3; $i++) {
if (($result = $foo[$i]->query("SELECT DATABASE()"))) {
$row = $result->fetch_row();
printf("%d: %s\n", $i, $row[0]);
$result->close();
}
$foo[$i]->close();
}
?>
--EXPECTF--
0: test
1: test
2: test
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php