iliaa           Tue Feb 14 14:26:11 2006 UTC

  Modified files:              (Branch: PHP_5_1)
    /php-src/ext/pdo_mysql      mysql_driver.c mysql_statement.c 
                                php_pdo_mysql_int.h 
    /php-src    NEWS 
  Log:
  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.59.2.8&r2=1.59.2.9&diff_format=u
Index: php-src/ext/pdo_mysql/mysql_driver.c
diff -u php-src/ext/pdo_mysql/mysql_driver.c:1.59.2.8 
php-src/ext/pdo_mysql/mysql_driver.c:1.59.2.9
--- php-src/ext/pdo_mysql/mysql_driver.c:1.59.2.8       Sun Jan  1 12:50:11 2006
+++ php-src/ext/pdo_mysql/mysql_driver.c        Tue Feb 14 14:26:11 2006
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: mysql_driver.c,v 1.59.2.8 2006/01/01 12:50:11 sniper Exp $ */
+/* $Id: mysql_driver.c,v 1.59.2.9 2006/02/14 14:26:11 iliaa Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -434,6 +434,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.48.2.10&r2=1.48.2.11&diff_format=u
Index: php-src/ext/pdo_mysql/mysql_statement.c
diff -u php-src/ext/pdo_mysql/mysql_statement.c:1.48.2.10 
php-src/ext/pdo_mysql/mysql_statement.c:1.48.2.11
--- php-src/ext/pdo_mysql/mysql_statement.c:1.48.2.10   Sun Jan  1 12:50:11 2006
+++ php-src/ext/pdo_mysql/mysql_statement.c     Tue Feb 14 14:26:11 2006
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: mysql_statement.c,v 1.48.2.10 2006/01/01 12:50:11 sniper Exp $ */
+/* $Id: mysql_statement.c,v 1.48.2.11 2006/02/14 14:26:11 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;
                                                        }
                                        }
 #if 0
http://cvs.php.net/viewcvs.cgi/php-src/ext/pdo_mysql/php_pdo_mysql_int.h?r1=1.16.2.2&r2=1.16.2.3&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.16.2.2 
php-src/ext/pdo_mysql/php_pdo_mysql_int.h:1.16.2.3
--- php-src/ext/pdo_mysql/php_pdo_mysql_int.h:1.16.2.2  Sun Jan  1 12:50:11 2006
+++ php-src/ext/pdo_mysql/php_pdo_mysql_int.h   Tue Feb 14 14:26:11 2006
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_pdo_mysql_int.h,v 1.16.2.2 2006/01/01 12:50:11 sniper Exp $ */
+/* $Id: php_pdo_mysql_int.h,v 1.16.2.3 2006/02/14 14:26:11 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
http://cvs.php.net/viewcvs.cgi/php-src/NEWS?r1=1.2027.2.414&r2=1.2027.2.415&diff_format=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.2027.2.414 php-src/NEWS:1.2027.2.415
--- php-src/NEWS:1.2027.2.414   Mon Feb 13 15:53:36 2006
+++ php-src/NEWS        Tue Feb 14 14:26:11 2006
@@ -22,6 +22,7 @@
 - Added ReflectionClass::newInstanceArgs($args). (Marcus)
 - Added imap_savebody() that allows message body to be written to a file.
   (Mike)
+- Fixed bug #36345 (PDO/MySQL problem loading BLOB over 1MB). (Ilia)
 - Fixed bug #36382 (PDO/PgSQL's getColumnMeta() crashes). (Derick)
 - Fixed bug #36359 (splFileObject::fwrite() doesn't write when no data length 
   specified). (Tony)

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to