Browse Source

Lay foundations for named pipe support in mysqlnd

experimental/with_scalar_types
Andrey Hristov 16 years ago
parent
commit
ebaee8a4d0
  1. 10
      ext/mysqlnd/mysqlnd.c
  2. 9
      ext/mysqlnd/mysqlnd_enum_n_def.h
  3. 2
      ext/mysqlnd/mysqlnd_structs.h

10
ext/mysqlnd/mysqlnd.c

@ -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:

9
ext/mysqlnd/mysqlnd_enum_n_def.h

@ -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
{

2
ext/mysqlnd/mysqlnd_structs.h

@ -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 */

Loading…
Cancel
Save