]> granicus.if.org Git - php/commitdiff
Fix bug #61194 PDO should export compression flag with myslqnd
authorJohannes Schlüter <johannes@php.net>
Mon, 5 Mar 2012 23:57:24 +0000 (23:57 +0000)
committerJohannes Schlüter <johannes@php.net>
Mon, 5 Mar 2012 23:57:24 +0000 (23:57 +0000)
NEWS
ext/pdo_mysql/mysql_driver.c
ext/pdo_mysql/pdo_mysql.c
ext/pdo_mysql/php_pdo_mysql_int.h
ext/pdo_mysql/tests/pdo_mysql_class_constants.phpt

diff --git a/NEWS b/NEWS
index 6e1988640328b908ead93600f62a18f8f4aae504..b0e9be5b0551a880cf1b38fe032419d320807551 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -38,10 +38,20 @@ PHP                                                                        NEWS
 - mbstring:
   . MFH mb_ereg_replace_callback() for security enhancements. (Rui)
 
+- mysqlnd
+  . Fixed bug #60948 (mysqlnd FTBFS when -Wformat-security is enabled).
+    (Johannes)
+
 - SOAP
   . Fixed bug #60887 (SoapClient ignores user_agent option and sends no
     User-Agent header). (carloschilazo at gmail dot com)
 
+- PDO_mysql
+  . Fixed bug #61207 (PDO::nextRowset() after a multi-statement query doesn't
+    always work). (Johannes)
+  . Fixed bug #61194 (PDO should export compression flag with myslqnd).
+    (Johannes)
+
 - Phar
   . Fixed bug #61184 (Phar::webPhar() generates headers with trailing NUL
     bytes). (Nikita Popov)
index ee1faaba6f50bfa94db00a3f2410eb40cd4b5a32..5cf35b16800d995e433bd224a1b3ffffa1918dec 100755 (executable)
@@ -596,8 +596,8 @@ static int pdo_mysql_handle_factory(pdo_dbh_t *dbh, zval *driver_options TSRMLS_
                char *init_cmd = NULL;
 #ifndef PDO_USE_MYSQLND
                char *default_file = NULL, *default_group = NULL;
-               long compress = 0;
 #endif
+               long compress = 0;
                char *ssl_key = NULL, *ssl_cert = NULL, *ssl_ca = NULL, *ssl_capath = NULL, *ssl_cipher = NULL;
                H->buffered = pdo_attr_lval(driver_options, PDO_MYSQL_ATTR_USE_BUFFERED_QUERY, 1 TSRMLS_CC);
 
@@ -676,7 +676,7 @@ static int pdo_mysql_handle_factory(pdo_dbh_t *dbh, zval *driver_options TSRMLS_
                        }
                        efree(default_group);
                }
-
+#endif
                compress = pdo_attr_lval(driver_options, PDO_MYSQL_ATTR_COMPRESS, 0 TSRMLS_CC);
                if (compress) {
                        if (mysql_options(H->server, MYSQL_OPT_COMPRESS, 0)) {
@@ -684,7 +684,7 @@ static int pdo_mysql_handle_factory(pdo_dbh_t *dbh, zval *driver_options TSRMLS_
                                goto cleanup;
                        }
                }
-#endif
+
                ssl_key = pdo_attr_strval(driver_options, PDO_MYSQL_ATTR_SSL_KEY, NULL TSRMLS_CC);
                ssl_cert = pdo_attr_strval(driver_options, PDO_MYSQL_ATTR_SSL_CERT, NULL TSRMLS_CC);
                ssl_ca = pdo_attr_strval(driver_options, PDO_MYSQL_ATTR_SSL_CA, NULL TSRMLS_CC);
index cb341144409fd5b7a6b7bbc1e9f874ddf125ab2f..5118406e9e31952fc57d6a4f1ba8a48d1de5f2c8 100755 (executable)
@@ -108,8 +108,8 @@ static PHP_MINIT_FUNCTION(pdo_mysql)
        REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_MAX_BUFFER_SIZE", (long)PDO_MYSQL_ATTR_MAX_BUFFER_SIZE);
        REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_READ_DEFAULT_FILE", (long)PDO_MYSQL_ATTR_READ_DEFAULT_FILE);
        REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_READ_DEFAULT_GROUP", (long)PDO_MYSQL_ATTR_READ_DEFAULT_GROUP);
-       REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_COMPRESS", (long)PDO_MYSQL_ATTR_COMPRESS);
 #endif
+       REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_COMPRESS", (long)PDO_MYSQL_ATTR_COMPRESS);
        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);
index 51c740bee8f63eba903089a9fc2cf319c1273f47..0b6d7752d33d1a74623c0bde06a745fbc472a58f 100755 (executable)
@@ -161,8 +161,8 @@ enum {
        PDO_MYSQL_ATTR_READ_DEFAULT_FILE,
        PDO_MYSQL_ATTR_READ_DEFAULT_GROUP,
        PDO_MYSQL_ATTR_MAX_BUFFER_SIZE,
-       PDO_MYSQL_ATTR_COMPRESS,
 #endif
+       PDO_MYSQL_ATTR_COMPRESS,
        PDO_MYSQL_ATTR_DIRECT_QUERY,
        PDO_MYSQL_ATTR_FOUND_ROWS,
        PDO_MYSQL_ATTR_IGNORE_SPACE,
index e99385799f8caf47a5dd3da7d05f13d619840154..17fa5d6059353e27db6cfc6b976a79aaa2d74ba2 100644 (file)
@@ -20,13 +20,13 @@ require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'skipif.inc');
                "MYSQL_ATTR_SSL_CA"                                                     => true,
                "MYSQL_ATTR_SSL_CAPATH"                                         => true,
                "MYSQL_ATTR_SSL_CIPHER"                                         => true,
+               "MYSQL_ATTR_COMPRESS"                                           => true,
        );
 
        if (!MySQLPDOTest::isPDOMySQLnd()) {
                $expected['MYSQL_ATTR_MAX_BUFFER_SIZE']                 = true;
                $expected['MYSQL_ATTR_READ_DEFAULT_FILE']               = true;
                $expected['MYSQL_ATTR_READ_DEFAULT_GROUP']              = true;
-               $expected['MYSQL_ATTR_COMPRESS']                                = true;
        }
 
        /*