cvs: php-src /ext/pdo/tests pdo_016.phpt pdo_016a.phpt pdo_021.phpt /ext/pdo_mysql mysql_statement.c
| From: | Ilia Alshanetsky | Date: | Sat, 02 Dec 2006 17:55:05 +0000 |
| Subject: | cvs: php-src /ext/pdo/tests pdo_016.phpt pdo_016a.phpt pdo_021.phpt /ext/pdo_mysql mysql_statement.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-41829@lists.php.net to get a copy of this message | ||
iliaa Sat Dec 2 17:55:05 2006 UTC
Modified files:
/php-src/ext/pdo_mysql mysql_statement.c
/php-src/ext/pdo/tests pdo_016.phpt pdo_016a.phpt pdo_021.phpt
Log:
MFB: Fixed bug #39527 (Failure to retrieve results when multiple unbuffered,
prepared statements are used in pdo_mysql).
http://cvs.php.net/viewvc.cgi/php-src/ext/pdo_mysql/mysql_statement.c?r1=1.56&r2=1.57&diff_format=u
Index: php-src/ext/pdo_mysql/mysql_statement.c
diff -u php-src/ext/pdo_mysql/mysql_statement.c:1.56 php-src/ext/pdo_mysql/mysql_statement.c:1.57
--- php-src/ext/pdo_mysql/mysql_statement.c:1.56 Tue Feb 14 14:26:27 2006
+++ php-src/ext/pdo_mysql/mysql_statement.c Sat Dec 2 17:55:05 2006
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: mysql_statement.c,v 1.56 2006/02/14 14:26:27 iliaa Exp $ */
+/* $Id: mysql_statement.c,v 1.57 2006/12/02 17:55:05 iliaa Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -540,7 +540,13 @@
pdo_mysql_stmt *S = (pdo_mysql_stmt*)stmt->driver_data;
#if HAVE_MYSQL_STMT_PREPARE
if (S->stmt) {
- int retval = mysql_stmt_free_result(S->stmt);
+ int retval;
+ if (!S->H->buffered) {
+ retval = mysql_stmt_close(S->stmt);
+ S->stmt = NULL;
+ } else {
+ retval = mysql_stmt_free_result(S->stmt);
+ }
S->stmt = NULL;
return retval ? 0 : 1;
}
http://cvs.php.net/viewvc.cgi/php-src/ext/pdo/tests/pdo_016.phpt?r1=1.13&r2=1.14&diff_format=u
Index: php-src/ext/pdo/tests/pdo_016.phpt
diff -u php-src/ext/pdo/tests/pdo_016.phpt:1.13 php-src/ext/pdo/tests/pdo_016.phpt:1.14
--- php-src/ext/pdo/tests/pdo_016.phpt:1.13 Mon Oct 3 15:06:06 2005
+++ php-src/ext/pdo/tests/pdo_016.phpt Sat Dec 2 17:55:05 2006
@@ -14,6 +14,10 @@
require_once getenv('REDIR_TEST_DIR') . 'pdo_test.inc';
$db = PDOTest::factory();
+if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') {
+ $db->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
+}
+
$db->exec('CREATE TABLE test(idx int NOT NULL PRIMARY KEY, txt VARCHAR(20))');
$db->exec('INSERT INTO test VALUES(0, \'String0\')');
$db->exec('INSERT INTO test VALUES(1, \'String1\')');
http://cvs.php.net/viewvc.cgi/php-src/ext/pdo/tests/pdo_016a.phpt?r1=1.5&r2=1.6&diff_format=u
Index: php-src/ext/pdo/tests/pdo_016a.phpt
diff -u php-src/ext/pdo/tests/pdo_016a.phpt:1.5 php-src/ext/pdo/tests/pdo_016a.phpt:1.6
--- php-src/ext/pdo/tests/pdo_016a.phpt:1.5 Mon Oct 3 15:06:06 2005
+++ php-src/ext/pdo/tests/pdo_016a.phpt Sat Dec 2 17:55:05 2006
@@ -14,6 +14,10 @@
require_once getenv('REDIR_TEST_DIR') . 'pdo_test.inc';
$db = PDOTest::factory();
+if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') {
+ $db->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
+}
+
$db->exec('CREATE TABLE test(idx int NOT NULL PRIMARY KEY, txt VARCHAR(20))');
$db->exec('INSERT INTO test VALUES(0, \'String0\')');
$db->exec('INSERT INTO test VALUES(1, \'String1\')');
http://cvs.php.net/viewvc.cgi/php-src/ext/pdo/tests/pdo_021.phpt?r1=1.10&r2=1.11&diff_format=u
Index: php-src/ext/pdo/tests/pdo_021.phpt
diff -u php-src/ext/pdo/tests/pdo_021.phpt:1.10 php-src/ext/pdo/tests/pdo_021.phpt:1.11
--- php-src/ext/pdo/tests/pdo_021.phpt:1.10 Mon Oct 3 15:06:06 2005
+++ php-src/ext/pdo/tests/pdo_021.phpt Sat Dec 2 17:55:05 2006
@@ -14,6 +14,10 @@
require_once getenv('REDIR_TEST_DIR') . 'pdo_test.inc';
$db = PDOTest::factory();
+if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') {
+ $db->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
+}
+
$db->exec('CREATE TABLE test(id INT NOT NULL PRIMARY KEY, val VARCHAR(10), val2
VARCHAR(16))');
$select = $db->prepare('SELECT COUNT(id) FROM test');