List:Commits« Previous MessageNext Message »
From:uwendel Date:April 23 2008 9:35am
Subject:PHP mysqlnd svn commit: r1508 - trunk/php5/ext/pdo_mysqlnd
View as plain text  
Author: uwendel
Date: 2008-04-23 11:35:08 +0200 (Wed, 23 Apr 2008)
New Revision: 1508

Modified:
   trunk/php5/ext/pdo_mysqlnd/mysql_driver.c
   trunk/php5/ext/pdo_mysqlnd/pdo_mysql.c
   trunk/php5/ext/pdo_mysqlnd/php_pdo_mysql_int.h
Log:
We don't support all PDO/PDO_MYSQL attributes with mysqlnd.
Ignoring values for unsupported options will lead to confusion, indicating an error and
giving a warning is not really possible in the constructor (we should throw an exception)
and thus entirely 
removing them from the API - like we did with MAX_BUFFER_SIZE before - seems a good
option. This way users get a FATAL error and can fix their PHP code properly.


Modified: trunk/php5/ext/pdo_mysqlnd/mysql_driver.c
===================================================================
--- trunk/php5/ext/pdo_mysqlnd/mysql_driver.c	2008-04-22 14:45:10 UTC (rev 1507)
+++ trunk/php5/ext/pdo_mysqlnd/mysql_driver.c	2008-04-23 09:35:08 UTC (rev 1508)
@@ -581,8 +581,9 @@
 	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);
+#ifndef PDO_USE_MYSQLND
 		char *init_cmd = NULL, *default_file = NULL, *default_group = NULL;
-
+#endif
 		H->buffered = pdo_attr_lval(driver_options, PDO_MYSQL_ATTR_USE_BUFFERED_QUERY, 1
TSRMLS_CC);
 
 		H->emulate_prepare = pdo_attr_lval(driver_options,
@@ -616,7 +617,7 @@
 			mysql_options(H->server, MYSQL_OPT_RECONNECT, (const char*)&reconnect);
 		}
 #endif
-
+#ifndef PDO_USE_MYSQLND
 		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)) {
@@ -646,6 +647,7 @@
 			}
 			efree(default_group);
 		}
+#endif
 	}
 
 	dbname = vars[1].optval;

Modified: trunk/php5/ext/pdo_mysqlnd/pdo_mysql.c
===================================================================
--- trunk/php5/ext/pdo_mysqlnd/pdo_mysql.c	2008-04-22 14:45:10 UTC (rev 1507)
+++ trunk/php5/ext/pdo_mysqlnd/pdo_mysql.c	2008-04-23 09:35:08 UTC (rev 1508)
@@ -57,12 +57,12 @@
 #endif
 
 	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_LOCAL_INFILE",
(long)PDO_MYSQL_ATTR_LOCAL_INFILE);	
+#ifndef PDO_USE_MYSQLND
+	REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_MAX_BUFFER_SIZE",
(long)PDO_MYSQL_ATTR_MAX_BUFFER_SIZE);
 	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);
-#ifndef PDO_USE_MYSQLND
-	REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_MAX_BUFFER_SIZE",
(long)PDO_MYSQL_ATTR_MAX_BUFFER_SIZE);
 #endif
 	REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_DIRECT_QUERY",
(long)PDO_MYSQL_ATTR_DIRECT_QUERY);
 

Modified: trunk/php5/ext/pdo_mysqlnd/php_pdo_mysql_int.h
===================================================================
--- trunk/php5/ext/pdo_mysqlnd/php_pdo_mysql_int.h	2008-04-22 14:45:10 UTC (rev 1507)
+++ trunk/php5/ext/pdo_mysqlnd/php_pdo_mysql_int.h	2008-04-23 09:35:08 UTC (rev 1508)
@@ -147,10 +147,12 @@
 enum {
 	PDO_MYSQL_ATTR_USE_BUFFERED_QUERY = PDO_ATTR_DRIVER_SPECIFIC,
 	PDO_MYSQL_ATTR_LOCAL_INFILE,
+#ifndef PDO_USE_MYSQLND
 	PDO_MYSQL_ATTR_INIT_COMMAND,
 	PDO_MYSQL_ATTR_READ_DEFAULT_FILE,
 	PDO_MYSQL_ATTR_READ_DEFAULT_GROUP,
 	PDO_MYSQL_ATTR_MAX_BUFFER_SIZE,
+#endif
 	PDO_MYSQL_ATTR_DIRECT_QUERY,
 };
 

Thread
PHP mysqlnd svn commit: r1508 - trunk/php5/ext/pdo_mysqlnduwendel23 Apr