johannes Mon Oct 27 18:29:57 2008 UTC Modified files: /php-src/ext/pdo_mysql mysql_driver.c pdo_mysql.c php_pdo_mysql_int.h /php-src/ext/pdo_mysql/tests pdo_mysql_class_constants.phpt Log: Fix #44135 (PDO MySQL does not support CLIENT_FOUND_ROWS) http://cvs.php.net/viewvc.cgi/php-src/ext/pdo_mysql/mysql_driver.c?r1=1.83&r2=1.84&diff_format=u Index: php-src/ext/pdo_mysql/mysql_driver.c diff -u php-src/ext/pdo_mysql/mysql_driver.c:1.83 php-src/ext/pdo_mysql/mysql_driver.c:1.84 --- php-src/ext/pdo_mysql/mysql_driver.c:1.83 Tue Oct 14 19:00:11 2008 +++ php-src/ext/pdo_mysql/mysql_driver.c Mon Oct 27 18:29:56 2008 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: mysql_driver.c,v 1.83 2008/10/14 19:00:11 johannes Exp $ */ +/* $Id: mysql_driver.c,v 1.84 2008/10/27 18:29:56 johannes Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -636,6 +636,14 @@ H->max_buffer_size = pdo_attr_lval(driver_options, PDO_MYSQL_ATTR_MAX_BUFFER_SIZE, H->max_buffer_size TSRMLS_CC); #endif + if (pdo_attr_lval(driver_options, PDO_MYSQL_ATTR_FOUND_ROWS, 0 TSRMLS_CC)) { + connect_opts |= CLIENT_FOUND_ROWS; + } + + if (pdo_attr_lval(driver_options, PDO_MYSQL_ATTR_IGNORE_SPACE, 0 TSRMLS_CC)) { + connect_opts |= CLIENT_IGNORE_SPACE; + } + if (mysql_options(H->server, MYSQL_OPT_CONNECT_TIMEOUT, (const char *)&connect_timeout)) { pdo_mysql_error(dbh); goto cleanup; http://cvs.php.net/viewvc.cgi/php-src/ext/pdo_mysql/pdo_mysql.c?r1=1.22&r2=1.23&diff_format=u Index: php-src/ext/pdo_mysql/pdo_mysql.c diff -u php-src/ext/pdo_mysql/pdo_mysql.c:1.22 php-src/ext/pdo_mysql/pdo_mysql.c:1.23 --- php-src/ext/pdo_mysql/pdo_mysql.c:1.22 Tue Oct 14 19:00:11 2008 +++ php-src/ext/pdo_mysql/pdo_mysql.c Mon Oct 27 18:29:56 2008 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: pdo_mysql.c,v 1.22 2008/10/14 19:00:11 johannes Exp $ */ +/* $Id: pdo_mysql.c,v 1.23 2008/10/27 18:29:56 johannes Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -83,6 +83,8 @@ REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_COMPRESS", (long)PDO_MYSQL_ATTR_COMPRESS); #endif REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_DIRECT_QUERY", (long)PDO_MYSQL_ATTR_DIRECT_QUERY); + REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_FOUND_ROWS", (long)PDO_MYSQL_ATTR_FOUND_ROWS); + REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_IGNORE_SPACE", (long)PDO_MYSQL_ATTR_IGNORE_SPACE); #ifdef PDO_USE_MYSQLND pdo_mysqlnd_zval_cache = mysqlnd_palloc_init_cache(PDO_MYSQL_G(cache_size)); http://cvs.php.net/viewvc.cgi/php-src/ext/pdo_mysql/php_pdo_mysql_int.h?r1=1.25&r2=1.26&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.25 php-src/ext/pdo_mysql/php_pdo_mysql_int.h:1.26 --- php-src/ext/pdo_mysql/php_pdo_mysql_int.h:1.25 Tue Oct 14 19:00:11 2008 +++ php-src/ext/pdo_mysql/php_pdo_mysql_int.h Mon Oct 27 18:29:56 2008 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_pdo_mysql_int.h,v 1.25 2008/10/14 19:00:11 johannes Exp $ */ +/* $Id: php_pdo_mysql_int.h,v 1.26 2008/10/27 18:29:56 johannes Exp $ */ #ifndef PHP_PDO_MYSQL_INT_H #define PHP_PDO_MYSQL_INT_H @@ -161,6 +161,8 @@ PDO_MYSQL_ATTR_COMPRESS, #endif PDO_MYSQL_ATTR_DIRECT_QUERY, + PDO_MYSQL_ATTR_FOUND_ROWS, + PDO_MYSQL_ATTR_IGNORE_SPACE }; #endif http://cvs.php.net/viewvc.cgi/php-src/ext/pdo_mysql/tests/pdo_mysql_class_constants.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/pdo_mysql/tests/pdo_mysql_class_constants.phpt diff -u php-src/ext/pdo_mysql/tests/pdo_mysql_class_constants.phpt:1.2 php-src/ext/pdo_mysql/tests/pdo_mysql_class_constants.phpt:1.3 --- php-src/ext/pdo_mysql/tests/pdo_mysql_class_constants.phpt:1.2 Tue Oct 14 19:00:11 2008 +++ php-src/ext/pdo_mysql/tests/pdo_mysql_class_constants.phpt Mon Oct 27 18:29:57 2008 @@ -12,6 +12,8 @@ 'MYSQL_ATTR_USE_BUFFERED_QUERY' => true, 'MYSQL_ATTR_LOCAL_INFILE' => true, 'MYSQL_ATTR_DIRECT_QUERY' => true, + 'MYSQL_ATTR_FOUND_ROWS' => true, + 'MYSQL_ATTR_IGNORE_SPACE' => true, ); if (!MySQLPDOTest::isPDOMySQLnd()) {
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php