andrey Mon, 09 Aug 2010 17:01:57 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=302043
Log:
Lay foundations for named pipe support in mysqlnd
Changed paths:
U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c
U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_enum_n_def.h
U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h
U php/php-src/trunk/ext/mysqlnd/mysqlnd.c
U php/php-src/trunk/ext/mysqlnd/mysqlnd_enum_n_def.h
U php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h
Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c 2010-08-09 16:55:48 UTC
(rev 302042)
+++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c 2010-08-09 17:01:57 UTC
(rev 302043)
@@ -2116,10 +2116,17 @@
DBG_INF_FMT("charset=%s", conn->options.charset_name);
break;
}
+ case MYSQL_OPT_NAMED_PIPE:
+ conn->options.protocol = MYSQL_PROTOCOL_PIPE;
+ break;
+ case MYSQL_OPT_PROTOCOL:
+ if (*(unsigned int*) value < MYSQL_PROTOCOL_LAST) {
+ conn->options.protocol = *(unsigned int*) value;
+ }
+ break;
#ifdef WHEN_SUPPORTED_BY_MYSQLI
case MYSQL_SET_CHARSET_DIR:
case MYSQL_OPT_RECONNECT:
- case MYSQL_OPT_PROTOCOL:
/* we don't need external character sets, all character
sets are
compiled in. For compatibility we just ignore this
setting.
Same for protocol, we don't support old protocol */
@@ -2131,7 +2138,6 @@
#endif
#ifdef WHEN_SUPPORTED_BY_MYSQLI
- case MYSQL_OPT_NAMED_PIPE:
case MYSQL_SHARED_MEMORY_BASE_NAME:
case MYSQL_OPT_USE_RESULT:
case MYSQL_SECURE_AUTH:
Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_enum_n_def.h
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_enum_n_def.h
2010-08-09 16:55:48 UTC (rev 302042)
+++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_enum_n_def.h
2010-08-09 17:01:57 UTC (rev 302043)
@@ -168,6 +168,15 @@
MYSQLND_OPT_SSL_PASSPHRASE = 209
} enum_mysqlnd_option;
+typedef enum mysqlnd_protocol_type
+{
+ MYSQL_PROTOCOL_DEFAULT = 0,
+ MYSQL_PROTOCOL_TCP, /* all, supported */
+ MYSQL_PROTOCOL_SOCKET, /* unix, supported */
+ MYSQL_PROTOCOL_PIPE, /* win32, not-supported */
+ MYSQL_PROTOCOL_MEMORY, /* win32, not-supported */
+ MYSQL_PROTOCOL_LAST
+} enum_mysqlnd_protocol_type;
typedef enum mysqlnd_field_types
{
Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h 2010-08-09
16:55:48 UTC (rev 302042)
+++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h 2010-08-09
17:01:57 UTC (rev 302043)
@@ -161,7 +161,7 @@
char * unused3;
char * unused4;
char * unused5;
- zend_bool unused6;
+ enum_mysqlnd_protocol_type protocol;
char *charset_name;
/* maximum allowed packet size for communication */
Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd.c
===================================================================
--- php/php-src/trunk/ext/mysqlnd/mysqlnd.c 2010-08-09 16:55:48 UTC (rev
302042)
+++ php/php-src/trunk/ext/mysqlnd/mysqlnd.c 2010-08-09 17:01:57 UTC (rev
302043)
@@ -2116,10 +2116,17 @@
DBG_INF_FMT("charset=%s", conn->options.charset_name);
break;
}
+ case MYSQL_OPT_NAMED_PIPE:
+ conn->options.protocol = MYSQL_PROTOCOL_PIPE;
+ break;
+ case MYSQL_OPT_PROTOCOL:
+ if (*(unsigned int*) value < MYSQL_PROTOCOL_LAST) {
+ conn->options.protocol = *(unsigned int*) value;
+ }
+ break;
#ifdef WHEN_SUPPORTED_BY_MYSQLI
case MYSQL_SET_CHARSET_DIR:
case MYSQL_OPT_RECONNECT:
- case MYSQL_OPT_PROTOCOL:
/* we don't need external character sets, all character
sets are
compiled in. For compatibility we just ignore this
setting.
Same for protocol, we don't support old protocol */
@@ -2131,7 +2138,6 @@
#endif
#ifdef WHEN_SUPPORTED_BY_MYSQLI
- case MYSQL_OPT_NAMED_PIPE:
case MYSQL_SHARED_MEMORY_BASE_NAME:
case MYSQL_OPT_USE_RESULT:
case MYSQL_SECURE_AUTH:
Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_enum_n_def.h
===================================================================
--- php/php-src/trunk/ext/mysqlnd/mysqlnd_enum_n_def.h 2010-08-09 16:55:48 UTC
(rev 302042)
+++ php/php-src/trunk/ext/mysqlnd/mysqlnd_enum_n_def.h 2010-08-09 17:01:57 UTC
(rev 302043)
@@ -168,6 +168,15 @@
MYSQLND_OPT_SSL_PASSPHRASE = 209
} enum_mysqlnd_option;
+typedef enum mysqlnd_protocol_type
+{
+ MYSQL_PROTOCOL_DEFAULT = 0,
+ MYSQL_PROTOCOL_TCP, /* all, supported */
+ MYSQL_PROTOCOL_SOCKET, /* unix, supported */
+ MYSQL_PROTOCOL_PIPE, /* win32, not-supported */
+ MYSQL_PROTOCOL_MEMORY, /* win32, not-supported */
+ MYSQL_PROTOCOL_LAST
+} enum_mysqlnd_protocol_type;
typedef enum mysqlnd_field_types
{
Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h
===================================================================
--- php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h 2010-08-09 16:55:48 UTC
(rev 302042)
+++ php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h 2010-08-09 17:01:57 UTC
(rev 302043)
@@ -161,7 +161,7 @@
char * unused3;
char * unused4;
char * unused5;
- zend_bool unused6;
+ enum_mysqlnd_protocol_type protocol;
char *charset_name;
/* maximum allowed packet size for communication */
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php