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); DBG_INF_FMT("charset=%s", conn->options.charset_name);
break; 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 #ifdef WHEN_SUPPORTED_BY_MYSQLI
case MYSQL_SET_CHARSET_DIR: case MYSQL_SET_CHARSET_DIR:
case MYSQL_OPT_RECONNECT: case MYSQL_OPT_RECONNECT:
case MYSQL_OPT_PROTOCOL:
/* we don't need external character sets, all character sets are /* we don't need external character sets, all character sets are
compiled in. For compatibility we just ignore this setting. compiled in. For compatibility we just ignore this setting.
Same for protocol, we don't support old protocol */ Same for protocol, we don't support old protocol */
@ -2131,7 +2138,6 @@ MYSQLND_METHOD(mysqlnd_conn, set_client_option)(MYSQLND * const conn,
#endif #endif
#ifdef WHEN_SUPPORTED_BY_MYSQLI #ifdef WHEN_SUPPORTED_BY_MYSQLI
case MYSQL_OPT_NAMED_PIPE:
case MYSQL_SHARED_MEMORY_BASE_NAME: case MYSQL_SHARED_MEMORY_BASE_NAME:
case MYSQL_OPT_USE_RESULT: case MYSQL_OPT_USE_RESULT:
case MYSQL_SECURE_AUTH: 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 MYSQLND_OPT_SSL_PASSPHRASE = 209
} enum_mysqlnd_option; } 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 typedef enum mysqlnd_field_types
{ {

2
ext/mysqlnd/mysqlnd_structs.h

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

Loading…
Cancel
Save