Lay foundations for named pipe support in mysqlnd

This commit is contained in:
Andrey Hristov 2010-08-09 17:01:57 +00:00
parent cf7d0fb4e7
commit f8c2680509
3 changed files with 18 additions and 3 deletions

View file

@ -2116,10 +2116,17 @@ MYSQLND_METHOD(mysqlnd_conn, set_client_option)(MYSQLND * const conn,
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 @@ MYSQLND_METHOD(mysqlnd_conn, set_client_option)(MYSQLND * const conn,
#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:

View file

@ -168,6 +168,15 @@ typedef enum mysqlnd_option
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
{

View file

@ -161,7 +161,7 @@ typedef struct st_mysqlnd_options
char * unused3;
char * unused4;
char * unused5;
zend_bool unused6;
enum_mysqlnd_protocol_type protocol;
char *charset_name;
/* maximum allowed packet size for communication */