iliaa Tue Feb 14 14:26:27 2006 UTC
Modified files:
/php-src/ext/pdo_mysql mysql_driver.c mysql_statement.c
php_pdo_mysql_int.h
Log:
MFB51: Fixed bug #36345 (PDO/MySQL problem loading BLOB over 1MB).
http://cvs.php.net/viewcvs.cgi/php-src/ext/pdo_mysql/mysql_driver.c?r1=1.69&r2=1.70&diff_format=u
Index: php-src/ext/pdo_mysql/mysql_driver.c
diff -u php-src/ext/pdo_mysql/mysql_driver.c:1.69
php-src/ext/pdo_mysql/mysql_driver.c:1.70
--- php-src/ext/pdo_mysql/mysql_driver.c:1.69 Sun Jan 1 13:09:53 2006
+++ php-src/ext/pdo_mysql/mysql_driver.c Tue Feb 14 14:26:27 2006
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: mysql_driver.c,v 1.69 2006/01/01 13:09:53 sniper Exp $ */
+/* $Id: mysql_driver.c,v 1.70 2006/02/14 14:26:27 iliaa Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -425,6 +425,8 @@
H->buffered = pdo_attr_lval(driver_options,
PDO_MYSQL_ATTR_USE_BUFFERED_QUERY, 0 TSRMLS_CC);
+ H->max_buffer_size = pdo_attr_lval(driver_options,
PDO_MYSQL_ATTR_MAX_BUFFER_SIZE, 1024 * 1024 TSRMLS_CC);
+
if (mysql_options(H->server, MYSQL_OPT_CONNECT_TIMEOUT, (const
char *)&connect_timeout)) {
pdo_mysql_error(dbh);
goto cleanup;
http://cvs.php.net/viewcvs.cgi/php-src/ext/pdo_mysql/mysql_statement.c?r1=1.55&r2=1.56&diff_format=u
Index: php-src/ext/pdo_mysql/mysql_statement.c
diff -u php-src/ext/pdo_mysql/mysql_statement.c:1.55
php-src/ext/pdo_mysql/mysql_statement.c:1.56
--- php-src/ext/pdo_mysql/mysql_statement.c:1.55 Sun Jan 1 13:09:53 2006
+++ php-src/ext/pdo_mysql/mysql_statement.c Tue Feb 14 14:26:27 2006
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: mysql_statement.c,v 1.55 2006/01/01 13:09:53 sniper Exp $ */
+/* $Id: mysql_statement.c,v 1.56 2006/02/14 14:26:27 iliaa Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -71,8 +71,6 @@
return 1;
}
-#define PDO_MYSQL_MAX_BUFFER 1024*1024 /* 1 megabyte */
-
static int pdo_mysql_stmt_execute(pdo_stmt_t *stmt TSRMLS_DC)
{
pdo_mysql_stmt *S = (pdo_mysql_stmt*)stmt->driver_data;
@@ -144,8 +142,8 @@
S->fields[i].max_length? S->fields[i].max_length:
S->fields[i].length;
/* work-around for
longtext and alike */
- if
(S->bound_result[i].buffer_length > PDO_MYSQL_MAX_BUFFER) {
-
S->bound_result[i].buffer_length = PDO_MYSQL_MAX_BUFFER;
+ if
(S->bound_result[i].buffer_length > H->max_buffer_size) {
+
S->bound_result[i].buffer_length = H->max_buffer_size;
}
}
S->bound_result[i].buffer =
emalloc(S->bound_result[i].buffer_length);
http://cvs.php.net/viewcvs.cgi/php-src/ext/pdo_mysql/php_pdo_mysql_int.h?r1=1.18&r2=1.19&diff_format=u
Index: php-src/ext/pdo_mysql/php_pdo_mysql_int.h
diff -u php-src/ext/pdo_mysql/php_pdo_mysql_int.h:1.18
php-src/ext/pdo_mysql/php_pdo_mysql_int.h:1.19
--- php-src/ext/pdo_mysql/php_pdo_mysql_int.h:1.18 Sun Jan 1 13:09:53 2006
+++ php-src/ext/pdo_mysql/php_pdo_mysql_int.h Tue Feb 14 14:26:27 2006
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_pdo_mysql_int.h,v 1.18 2006/01/01 13:09:53 sniper Exp $ */
+/* $Id: php_pdo_mysql_int.h,v 1.19 2006/02/14 14:26:27 iliaa Exp $ */
#ifndef PHP_PDO_MYSQL_INT_H
#define PHP_PDO_MYSQL_INT_H
@@ -38,6 +38,7 @@
unsigned attached:1;
unsigned buffered:1;
unsigned _reserved:31;
+ unsigned long max_buffer_size;
pdo_mysql_error_info einfo;
} pdo_mysql_db_handle;
@@ -82,5 +83,6 @@
PDO_MYSQL_ATTR_INIT_COMMAND,
PDO_MYSQL_ATTR_READ_DEFAULT_FILE,
PDO_MYSQL_ATTR_READ_DEFAULT_GROUP,
+ PDO_MYSQL_ATTR_MAX_BUFFER_SIZE,
};
#endif
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php