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