diff options
author | Johannes Schlüter <johannes@php.net> | 2008-10-14 19:00:53 +0000 |
---|---|---|
committer | Johannes Schlüter <johannes@php.net> | 2008-10-14 19:00:53 +0000 |
commit | 0614a7763e30fe88d8446b7bee72bb68a374f48c (patch) | |
tree | fee7623c2fc1beb5d5630df3cfb01ef723d8085c /ext/pdo_mysql | |
parent | 42e3a93a8b54340822c96ea760c2f0f8aa118e10 (diff) | |
download | php-git-0614a7763e30fe88d8446b7bee72bb68a374f48c.tar.gz |
MFH: Add PDO::MYSQL_ATTR_COMPRESS connection flag [DOC]
Diffstat (limited to 'ext/pdo_mysql')
-rwxr-xr-x | ext/pdo_mysql/mysql_driver.c | 9 | ||||
-rwxr-xr-x | ext/pdo_mysql/pdo_mysql.c | 1 | ||||
-rwxr-xr-x | ext/pdo_mysql/php_pdo_mysql_int.h | 1 | ||||
-rw-r--r-- | ext/pdo_mysql/tests/pdo_mysql_class_constants.phpt | 4 |
4 files changed, 13 insertions, 2 deletions
diff --git a/ext/pdo_mysql/mysql_driver.c b/ext/pdo_mysql/mysql_driver.c index cbdfbe9642..19357365d3 100755 --- a/ext/pdo_mysql/mysql_driver.c +++ b/ext/pdo_mysql/mysql_driver.c @@ -623,6 +623,7 @@ static int pdo_mysql_handle_factory(pdo_dbh_t *dbh, zval *driver_options TSRMLS_ long local_infile = pdo_attr_lval(driver_options, PDO_MYSQL_ATTR_LOCAL_INFILE, 0 TSRMLS_CC); #ifndef PDO_USE_MYSQLND char *init_cmd = NULL, *default_file = NULL, *default_group = NULL; + long compress = 0; #endif H->buffered = pdo_attr_lval(driver_options, PDO_MYSQL_ATTR_USE_BUFFERED_QUERY, 1 TSRMLS_CC); @@ -692,6 +693,14 @@ static int pdo_mysql_handle_factory(pdo_dbh_t *dbh, zval *driver_options TSRMLS_ } efree(default_group); } + + compress = pdo_attr_lval(driver_options, PDO_MYSQL_ATTR_COMPRESS, 0 TSRMLS_CC); + if (compress) { + if (mysql_options(H->server, MYSQL_OPT_COMPRESS, 0)) { + pdo_mysql_error(dbh); + goto cleanup; + } + } #endif } diff --git a/ext/pdo_mysql/pdo_mysql.c b/ext/pdo_mysql/pdo_mysql.c index 0c2acb654d..2d68e4f4f8 100755 --- a/ext/pdo_mysql/pdo_mysql.c +++ b/ext/pdo_mysql/pdo_mysql.c @@ -80,6 +80,7 @@ static PHP_MINIT_FUNCTION(pdo_mysql) REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_INIT_COMMAND", (long)PDO_MYSQL_ATTR_INIT_COMMAND); 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_DIRECT_QUERY", (long)PDO_MYSQL_ATTR_DIRECT_QUERY); diff --git a/ext/pdo_mysql/php_pdo_mysql_int.h b/ext/pdo_mysql/php_pdo_mysql_int.h index 3ed96c9029..46b7237b88 100755 --- a/ext/pdo_mysql/php_pdo_mysql_int.h +++ b/ext/pdo_mysql/php_pdo_mysql_int.h @@ -158,6 +158,7 @@ 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_DIRECT_QUERY, }; diff --git a/ext/pdo_mysql/tests/pdo_mysql_class_constants.phpt b/ext/pdo_mysql/tests/pdo_mysql_class_constants.phpt index cfecaf74c9..58f442633b 100644 --- a/ext/pdo_mysql/tests/pdo_mysql_class_constants.phpt +++ b/ext/pdo_mysql/tests/pdo_mysql_class_constants.phpt @@ -19,7 +19,7 @@ require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'skipif.inc'); $expected['MYSQL_ATTR_INIT_COMMAND'] = true; $expected['MYSQL_ATTR_READ_DEFAULT_FILE'] = true; $expected['MYSQL_ATTR_READ_DEFAULT_GROUP'] = true; - + $expected['MYSQL_ATTR_COMPRESS'] = true; } /* @@ -75,4 +75,4 @@ require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'skipif.inc'); print "done!"; --EXPECT-- -done!
\ No newline at end of file +done! |