tony2001 Thu Oct 27 13:34:24 2005 EDT Modified files: (Branch: PHP_5_1) /php-src/ext/pdo_mysql mysql_driver.c pdo_mysql.c php_pdo_mysql_int.h Log: MFH: add MySQL options and corresponding constants http://cvs.php.net/diff.php/php-src/ext/pdo_mysql/mysql_driver.c?r1=1.59.2.3&r2=1.59.2.4&ty=u Index: php-src/ext/pdo_mysql/mysql_driver.c diff -u php-src/ext/pdo_mysql/mysql_driver.c:1.59.2.3 php-src/ext/pdo_mysql/mysql_driver.c:1.59.2.4 --- php-src/ext/pdo_mysql/mysql_driver.c:1.59.2.3 Wed Oct 5 18:14:52 2005 +++ php-src/ext/pdo_mysql/mysql_driver.c Thu Oct 27 13:34:24 2005 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: mysql_driver.c,v 1.59.2.3 2005/10/05 22:14:52 tony2001 Exp $ */ +/* $Id: mysql_driver.c,v 1.59.2.4 2005/10/27 17:34:24 tony2001 Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -420,12 +420,50 @@ /* handle MySQL options */ if (driver_options) { long connect_timeout = pdo_attr_lval(driver_options, PDO_ATTR_TIMEOUT, 30 TSRMLS_CC); + long local_infile = pdo_attr_lval(driver_options, PDO_MYSQL_ATTR_LOCAL_INFILE, 0 TSRMLS_CC); + char *init_cmd = NULL, *default_file = NULL, *default_group = NULL; + H->buffered = pdo_attr_lval(driver_options, PDO_MYSQL_ATTR_USE_BUFFERED_QUERY, 0 TSRMLS_CC); if (mysql_options(H->server, MYSQL_OPT_CONNECT_TIMEOUT, (const char *)&connect_timeout)) { pdo_mysql_error(dbh); goto cleanup; } + + if (mysql_options(H->server, MYSQL_OPT_LOCAL_INFILE, (const char *)&local_infile)) { + pdo_mysql_error(dbh); + goto cleanup; + } + + init_cmd = pdo_attr_strval(driver_options, PDO_MYSQL_ATTR_INIT_COMMAND, NULL TSRMLS_CC); + if (init_cmd) { + if (mysql_options(H->server, MYSQL_INIT_COMMAND, (const char *)init_cmd)) { + efree(init_cmd); + pdo_mysql_error(dbh); + goto cleanup; + } + efree(init_cmd); + } + + default_file = pdo_attr_strval(driver_options, PDO_MYSQL_ATTR_READ_DEFAULT_FILE, NULL TSRMLS_CC); + if (default_file) { + if (mysql_options(H->server, MYSQL_READ_DEFAULT_FILE, (const char *)default_file)) { + efree(default_file); + pdo_mysql_error(dbh); + goto cleanup; + } + efree(default_file); + } + + default_group= pdo_attr_strval(driver_options, PDO_MYSQL_ATTR_READ_DEFAULT_GROUP, NULL TSRMLS_CC); + if (default_group) { + if (mysql_options(H->server, MYSQL_READ_DEFAULT_GROUP, (const char *)default_group)) { + efree(default_group); + pdo_mysql_error(dbh); + goto cleanup; + } + efree(default_group); + } } dbname = vars[1].optval; http://cvs.php.net/diff.php/php-src/ext/pdo_mysql/pdo_mysql.c?r1=1.8.2.4&r2=1.8.2.5&ty=u Index: php-src/ext/pdo_mysql/pdo_mysql.c diff -u php-src/ext/pdo_mysql/pdo_mysql.c:1.8.2.4 php-src/ext/pdo_mysql/pdo_mysql.c:1.8.2.5 --- php-src/ext/pdo_mysql/pdo_mysql.c:1.8.2.4 Sat Oct 1 15:19:36 2005 +++ php-src/ext/pdo_mysql/pdo_mysql.c Thu Oct 27 13:34:24 2005 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: pdo_mysql.c,v 1.8.2.4 2005/10/01 19:19:36 wez Exp $ */ +/* $Id: pdo_mysql.c,v 1.8.2.5 2005/10/27 17:34:24 tony2001 Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -76,6 +76,10 @@ PHP_MINIT_FUNCTION(pdo_mysql) { REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_USE_BUFFERED_QUERY", (long)PDO_MYSQL_ATTR_USE_BUFFERED_QUERY); + REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_LOCAL_INFILE", (long)PDO_MYSQL_ATTR_LOCAL_INFILE); + 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); return php_pdo_register_driver(&pdo_mysql_driver); } http://cvs.php.net/diff.php/php-src/ext/pdo_mysql/php_pdo_mysql_int.h?r1=1.16&r2=1.16.2.1&ty=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 php-src/ext/pdo_mysql/php_pdo_mysql_int.h:1.16.2.1 --- php-src/ext/pdo_mysql/php_pdo_mysql_int.h:1.16 Wed Jul 20 12:22:09 2005 +++ php-src/ext/pdo_mysql/php_pdo_mysql_int.h Thu Oct 27 13:34:24 2005 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_pdo_mysql_int.h,v 1.16 2005/07/20 16:22:09 iliaa Exp $ */ +/* $Id: php_pdo_mysql_int.h,v 1.16.2.1 2005/10/27 17:34:24 tony2001 Exp $ */ #ifndef PHP_PDO_MYSQL_INT_H #define PHP_PDO_MYSQL_INT_H @@ -78,5 +78,9 @@ enum { PDO_MYSQL_ATTR_USE_BUFFERED_QUERY = PDO_ATTR_DRIVER_SPECIFIC, + PDO_MYSQL_ATTR_LOCAL_INFILE, + PDO_MYSQL_ATTR_INIT_COMMAND, + PDO_MYSQL_ATTR_READ_DEFAULT_FILE, + PDO_MYSQL_ATTR_READ_DEFAULT_GROUP, }; #endif
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php