2 +----------------------------------------------------------------------+
4 +----------------------------------------------------------------------+
5 | Copyright (c) 2006-2013 The PHP Group |
6 +----------------------------------------------------------------------+
7 | This source file is subject to version 3.01 of the PHP license, |
8 | that is bundled with this package in the file LICENSE, and is |
9 | available through the world-wide-web at the following url: |
10 | http://www.php.net/license/3_01.txt |
11 | If you did not receive a copy of the PHP license and are unable to |
12 | obtain it through the world-wide-web, please send a note to |
13 | license@php.net so we can mail you a copy immediately. |
14 +----------------------------------------------------------------------+
15 | Authors: Andrey Hristov <andrey@mysql.com> |
16 | Ulf Wendel <uwendel@mysql.com> |
17 | Georg Richter <georg@mysql.com> |
18 +----------------------------------------------------------------------+
22 #ifndef MYSQLND_ENUM_N_DEF_H
23 #define MYSQLND_ENUM_N_DEF_H
34 #define MYSQLND_MIN_COMPRESS_LEN 0
36 #define MYSQLND_MAX_PACKET_SIZE (256L*256L*256L-1)
38 #define MYSQLND_ASSEMBLED_PACKET_MAX_SIZE 3UL*1024UL*1024UL*1024UL
40 #define MYSQLND_ERRMSG_SIZE 512
41 #define MYSQLND_SQLSTATE_LENGTH 5
42 #define MYSQLND_SQLSTATE_NULL "00000"
44 #define MYSQLND_MAX_ALLOWED_USER_LEN 256 /* 64 char * 4byte . MySQL supports now only 16 char, but let it be forward compatible */
45 #define MYSQLND_MAX_ALLOWED_DB_LEN 1024 /* 256 char * 4byte. MySQL supports now only 64 char in the tables, but on the FS could be different. Forward compatible. */
47 #define MYSQLND_NET_CMD_BUFFER_MIN_SIZE 4096
48 #define MYSQLND_NET_CMD_BUFFER_MIN_SIZE_STR "4096"
50 #define SERVER_STATUS_IN_TRANS 1 /* Transaction has started */
51 #define SERVER_STATUS_AUTOCOMMIT 2 /* Server in auto_commit mode */
52 #define SERVER_MORE_RESULTS_EXISTS 8 /* Multi query - next query exists */
53 #define SERVER_QUERY_NO_GOOD_INDEX_USED 16
54 #define SERVER_QUERY_NO_INDEX_USED 32
56 The server was able to fulfill the clients request and opened a
57 read-only non-scrollable cursor for a query. This flag comes
58 in reply to COM_STMT_EXECUTE and COM_STMT_FETCH commands.
60 #define SERVER_STATUS_CURSOR_EXISTS 64
62 This flag is sent when a read-only cursor is exhausted, in reply to
63 COM_STMT_FETCH command.
65 #define SERVER_STATUS_LAST_ROW_SENT 128
66 #define SERVER_STATUS_DB_DROPPED 256 /* A database was dropped */
67 #define SERVER_STATUS_NO_BACKSLASH_ESCAPES 512
68 #define SERVER_QUERY_WAS_SLOW 2048
69 #define SERVER_PS_OUT_PARAMS 4096
71 #define MYSQLND_NO_DATA 100
72 #define MYSQLND_DATA_TRUNCATED 101
74 #define SHA1_MAX_LENGTH 20
75 #define SCRAMBLE_LENGTH 20
76 #define SCRAMBLE_LENGTH_323 8
78 #define CLIENT_LONG_PASSWORD 1 /* new more secure passwords */
79 #define CLIENT_FOUND_ROWS 2 /* Found instead of affected rows */
80 #define CLIENT_LONG_FLAG 4 /* Get all column flags */
81 #define CLIENT_CONNECT_WITH_DB 8 /* One can specify db on connect */
82 #define CLIENT_NO_SCHEMA 16 /* Don't allow database.table.column */
83 #define CLIENT_COMPRESS 32 /* Can use compression protocol */
84 #define CLIENT_ODBC 64 /* Odbc client */
85 #define CLIENT_LOCAL_FILES 128 /* Can use LOAD DATA LOCAL */
86 #define CLIENT_IGNORE_SPACE 256 /* Ignore spaces before '(' */
87 #define CLIENT_PROTOCOL_41 512 /* New 4.1 protocol */
88 #define CLIENT_INTERACTIVE 1024 /* This is an interactive client */
89 #define CLIENT_SSL 2048 /* Switch to SSL after handshake */
90 #define CLIENT_IGNORE_SIGPIPE 4096 /* IGNORE sigpipes */
91 #define CLIENT_TRANSACTIONS 8192 /* Client knows about transactions */
92 #define CLIENT_RESERVED 16384 /* Old flag for 4.1 protocol */
93 #define CLIENT_SECURE_CONNECTION 32768 /* New 4.1 authentication */
94 #define CLIENT_MULTI_STATEMENTS (1UL << 16) /* Enable/disable multi-stmt support */
95 #define CLIENT_MULTI_RESULTS (1UL << 17) /* Enable/disable multi-results */
96 #define CLIENT_PS_MULTI_RESULTS (1UL << 18) /* Multi-results in PS-protocol */
97 #define CLIENT_PLUGIN_AUTH (1UL << 19) /* Client supports plugin authentication */
98 #define CLIENT_CONNECT_ATTRS (1UL << 20) /* Client supports connection attributes */
99 #define CLIENT_PLUGIN_AUTH_LENENC_CLIENT_DATA (1UL << 21) /* Enable authentication response packet to be larger than 255 bytes. */
100 #define CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS (1UL << 22) /* Don't close the connection for a connection with expired password. */
101 #define CLIENT_SSL_VERIFY_SERVER_CERT (1UL << 30)
103 #define MYSQLND_CAPABILITIES (CLIENT_LONG_PASSWORD | CLIENT_LONG_FLAG | CLIENT_TRANSACTIONS | \
104 CLIENT_PROTOCOL_41 | CLIENT_SECURE_CONNECTION | \
105 CLIENT_MULTI_RESULTS | CLIENT_PS_MULTI_RESULTS | CLIENT_LOCAL_FILES | CLIENT_PLUGIN_AUTH)
107 #define MYSQLND_NET_FLAG_USE_COMPRESSION 1
109 typedef enum mysqlnd_extension
113 } enum_mysqlnd_extension
;
117 MYSQLND_FETCH_ASSOC
= 1,
118 MYSQLND_FETCH_NUM
= 2,
119 MYSQLND_FETCH_BOTH
= 1|2
122 /* Follow libmysql convention */
123 typedef enum func_status
129 typedef enum mysqlnd_query_type
134 } enum_mysqlnd_query_type
;
136 typedef enum mysqlnd_res_type
138 MYSQLND_RES_NORMAL
= 1,
141 } enum_mysqlnd_res_type
;
143 typedef enum mysqlnd_option
145 MYSQL_OPT_CONNECT_TIMEOUT
,
147 MYSQL_OPT_NAMED_PIPE
,
149 MYSQL_READ_DEFAULT_FILE
,
150 MYSQL_READ_DEFAULT_GROUP
,
151 MYSQL_SET_CHARSET_DIR
,
152 MYSQL_SET_CHARSET_NAME
,
153 MYSQL_OPT_LOCAL_INFILE
,
155 MYSQL_SHARED_MEMORY_BASE_NAME
,
156 MYSQL_OPT_READ_TIMEOUT
,
157 MYSQL_OPT_WRITE_TIMEOUT
,
158 MYSQL_OPT_USE_RESULT
,
159 MYSQL_OPT_USE_REMOTE_CONNECTION
,
160 MYSQL_OPT_USE_EMBEDDED_CONNECTION
,
161 MYSQL_OPT_GUESS_CONNECTION
,
164 MYSQL_REPORT_DATA_TRUNCATION
,
166 MYSQL_OPT_SSL_VERIFY_SERVER_CERT
,
169 MYSQL_SERVER_PUBLIC_KEY
,
170 MYSQL_ENABLE_CLEARTEXT_PLUGIN
,
171 MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS
,
173 MYSQLND_OPT_NUMERIC_AND_DATETIME_AS_UNICODE
= 200,
175 #ifdef MYSQLND_STRING_TO_INT_CONVERSION
176 MYSQLND_OPT_INT_AND_FLOAT_NATIVE
= 201,
178 MYSQLND_OPT_NET_CMD_BUFFER_SIZE
= 202,
179 MYSQLND_OPT_NET_READ_BUFFER_SIZE
= 203,
180 MYSQLND_OPT_SSL_KEY
= 204,
181 MYSQLND_OPT_SSL_CERT
= 205,
182 MYSQLND_OPT_SSL_CA
= 206,
183 MYSQLND_OPT_SSL_CAPATH
= 207,
184 MYSQLND_OPT_SSL_CIPHER
= 208,
185 MYSQLND_OPT_SSL_PASSPHRASE
= 209,
186 MYSQLND_OPT_MAX_ALLOWED_PACKET
= 210,
187 MYSQLND_OPT_AUTH_PROTOCOL
= 211
188 } enum_mysqlnd_option
;
190 typedef enum mysqlnd_protocol_type
192 MYSQL_PROTOCOL_DEFAULT
= 0,
193 MYSQL_PROTOCOL_TCP
, /* all, supported */
194 MYSQL_PROTOCOL_SOCKET
, /* unix, supported */
195 MYSQL_PROTOCOL_PIPE
, /* win32, not-supported */
196 MYSQL_PROTOCOL_MEMORY
, /* win32, not-supported */
198 } enum_mysqlnd_protocol_type
;
200 typedef enum mysqlnd_field_types
209 MYSQL_TYPE_TIMESTAMP
,
219 MYSQL_TYPE_NEWDECIMAL
=246,
222 MYSQL_TYPE_TINY_BLOB
=249,
223 MYSQL_TYPE_MEDIUM_BLOB
=250,
224 MYSQL_TYPE_LONG_BLOB
=251,
226 MYSQL_TYPE_VAR_STRING
=253,
227 MYSQL_TYPE_STRING
=254,
228 MYSQL_TYPE_GEOMETRY
=255
229 } enum_mysqlnd_field_types
;
231 /* Please update this if there is a new type after MYSQL_TYPE_GEOMETRY */
232 #define MYSQL_TYPE_LAST MYSQL_TYPE_GEOMETRY
235 typedef enum mysqlnd_server_option
237 MYSQL_OPTION_MULTI_STATEMENTS_ON
,
238 MYSQL_OPTION_MULTI_STATEMENTS_OFF
239 } enum_mysqlnd_server_option
;
242 #define FIELD_TYPE_DECIMAL MYSQL_TYPE_DECIMAL
243 #define FIELD_TYPE_NEWDECIMAL MYSQL_TYPE_NEWDECIMAL
244 #define FIELD_TYPE_TINY MYSQL_TYPE_TINY
245 #define FIELD_TYPE_SHORT MYSQL_TYPE_SHORT
246 #define FIELD_TYPE_LONG MYSQL_TYPE_LONG
247 #define FIELD_TYPE_FLOAT MYSQL_TYPE_FLOAT
248 #define FIELD_TYPE_DOUBLE MYSQL_TYPE_DOUBLE
249 #define FIELD_TYPE_NULL MYSQL_TYPE_NULL
250 #define FIELD_TYPE_TIMESTAMP MYSQL_TYPE_TIMESTAMP
251 #define FIELD_TYPE_LONGLONG MYSQL_TYPE_LONGLONG
252 #define FIELD_TYPE_INT24 MYSQL_TYPE_INT24
253 #define FIELD_TYPE_DATE MYSQL_TYPE_DATE
254 #define FIELD_TYPE_TIME MYSQL_TYPE_TIME
255 #define FIELD_TYPE_DATETIME MYSQL_TYPE_DATETIME
256 #define FIELD_TYPE_YEAR MYSQL_TYPE_YEAR
257 #define FIELD_TYPE_NEWDATE MYSQL_TYPE_NEWDATE
258 #define FIELD_TYPE_ENUM MYSQL_TYPE_ENUM
259 #define FIELD_TYPE_SET MYSQL_TYPE_SET
260 #define FIELD_TYPE_TINY_BLOB MYSQL_TYPE_TINY_BLOB
261 #define FIELD_TYPE_MEDIUM_BLOB MYSQL_TYPE_MEDIUM_BLOB
262 #define FIELD_TYPE_LONG_BLOB MYSQL_TYPE_LONG_BLOB
263 #define FIELD_TYPE_BLOB MYSQL_TYPE_BLOB
264 #define FIELD_TYPE_VAR_STRING MYSQL_TYPE_VAR_STRING
265 #define FIELD_TYPE_STRING MYSQL_TYPE_STRING
266 #define FIELD_TYPE_CHAR MYSQL_TYPE_TINY
267 #define FIELD_TYPE_INTERVAL MYSQL_TYPE_ENUM
268 #define FIELD_TYPE_GEOMETRY MYSQL_TYPE_GEOMETRY
269 #define FIELD_TYPE_BIT MYSQL_TYPE_BIT
271 #define NOT_NULL_FLAG 1
272 #define PRI_KEY_FLAG 2
273 #define UNIQUE_KEY_FLAG 4
274 #define MULTIPLE_KEY_FLAG 8
276 #define UNSIGNED_FLAG 32
277 #define ZEROFILL_FLAG 64
278 #define BINARY_FLAG 128
279 #define ENUM_FLAG 256
280 #define AUTO_INCREMENT_FLAG 512
281 #define TIMESTAMP_FLAG 1024
282 #define SET_FLAG 2048
283 #define NO_DEFAULT_VALUE_FLAG 4096
284 #define ON_UPDATE_NOW_FLAG 8192
285 #define PART_KEY_FLAG 16384
286 #define GROUP_FLAG 32768
287 #define NUM_FLAG 32768
289 #define IS_PRI_KEY(n) ((n) & PRI_KEY_FLAG)
290 #define IS_NOT_NULL(n) ((n) & NOT_NULL_FLAG)
291 #define IS_BLOB(n) ((n) & BLOB_FLAG)
292 #define IS_NUM(t) ((t) <= FIELD_TYPE_INT24 || (t) == FIELD_TYPE_YEAR || (t) == FIELD_TYPE_NEWDECIMAL)
295 /* see mysqlnd_charset.c for more information */
296 #define MYSQLND_BINARY_CHARSET_NR 63
300 /-----> CONN_CLOSE <---------------\
303 CONN_READY -> CONN_QUERY_SENT -> CONN_FETCHING_DATA
305 \-------------------------------------/
307 typedef enum mysqlnd_connection_state
312 CONN_SENDING_LOAD_DATA
,
314 CONN_NEXT_RESULT_PENDING
,
315 CONN_QUIT_SENT
/* object is "destroyed" at this stage */
316 } enum_mysqlnd_connection_state
;
319 typedef enum mysqlnd_stmt_state
321 MYSQLND_STMT_INITTED
= 0,
322 MYSQLND_STMT_PREPARED
,
323 MYSQLND_STMT_EXECUTED
,
324 MYSQLND_STMT_WAITING_USE_OR_STORE
,
325 MYSQLND_STMT_USE_OR_STORE_CALLED
,
326 MYSQLND_STMT_USER_FETCHING
/* fetch_row_buff or fetch_row_unbuf */
327 } enum_mysqlnd_stmt_state
;
330 typedef enum param_bind_flags
332 MYSQLND_PARAM_BIND_BLOB_USED
= 1
333 } enum_param_bind_flags
;
337 enum mysqlnd_stmt_attr
339 STMT_ATTR_UPDATE_MAX_LENGTH
,
340 STMT_ATTR_CURSOR_TYPE
,
341 STMT_ATTR_PREFETCH_ROWS
344 enum myslqnd_cursor_type
346 CURSOR_TYPE_NO_CURSOR
= 0,
347 CURSOR_TYPE_READ_ONLY
= 1,
348 CURSOR_TYPE_FOR_UPDATE
= 2,
349 CURSOR_TYPE_SCROLLABLE
= 4
352 typedef enum mysqlnd_connection_close_type
354 MYSQLND_CLOSE_EXPLICIT
= 0,
355 MYSQLND_CLOSE_IMPLICIT
,
356 MYSQLND_CLOSE_DISCONNECTED
,
357 MYSQLND_CLOSE_LAST
/* for checking, should always be last */
358 } enum_connection_close_type
;
361 typedef enum mysqlnd_collected_stats
366 STAT_PACKETS_RECEIVED
,
367 STAT_PROTOCOL_OVERHEAD_IN
,
368 STAT_PROTOCOL_OVERHEAD_OUT
,
369 STAT_BYTES_RECEIVED_OK
,
370 STAT_BYTES_RECEIVED_EOF
,
371 STAT_BYTES_RECEIVED_RSET_HEADER
,
372 STAT_BYTES_RECEIVED_RSET_FIELD_META
,
373 STAT_BYTES_RECEIVED_RSET_ROW
,
374 STAT_BYTES_RECEIVED_PREPARE_RESPONSE
,
375 STAT_BYTES_RECEIVED_CHANGE_USER
,
376 STAT_PACKETS_SENT_CMD
,
377 STAT_PACKETS_RECEIVED_OK
,
378 STAT_PACKETS_RECEIVED_EOF
,
379 STAT_PACKETS_RECEIVED_RSET_HEADER
,
380 STAT_PACKETS_RECEIVED_RSET_FIELD_META
,
381 STAT_PACKETS_RECEIVED_RSET_ROW
,
382 STAT_PACKETS_RECEIVED_PREPARE_RESPONSE
,
383 STAT_PACKETS_RECEIVED_CHANGE_USER
,
390 STAT_UNBUFFERED_SETS
,
391 STAT_PS_BUFFERED_SETS
,
392 STAT_PS_UNBUFFERED_SETS
,
393 STAT_FLUSHED_NORMAL_SETS
,
394 STAT_FLUSHED_PS_SETS
,
395 STAT_PS_PREPARED_NEVER_EXECUTED
,
396 STAT_PS_PREPARED_ONCE_USED
,
397 STAT_ROWS_FETCHED_FROM_SERVER_NORMAL
,
398 STAT_ROWS_FETCHED_FROM_SERVER_PS
,
399 STAT_ROWS_BUFFERED_FROM_CLIENT_NORMAL
,
400 STAT_ROWS_BUFFERED_FROM_CLIENT_PS
,
401 STAT_ROWS_FETCHED_FROM_CLIENT_NORMAL_BUF
,
402 STAT_ROWS_FETCHED_FROM_CLIENT_NORMAL_UNBUF
,
403 STAT_ROWS_FETCHED_FROM_CLIENT_PS_BUF
,
404 STAT_ROWS_FETCHED_FROM_CLIENT_PS_UNBUF
,
405 STAT_ROWS_FETCHED_FROM_CLIENT_PS_CURSOR
,
406 STAT_ROWS_AFFECTED_NORMAL
,
407 STAT_ROWS_AFFECTED_PS
,
408 STAT_ROWS_SKIPPED_NORMAL
,
409 STAT_ROWS_SKIPPED_PS
,
410 STAT_COPY_ON_WRITE_SAVED
,
411 STAT_COPY_ON_WRITE_PERFORMED
,
412 STAT_CMD_BUFFER_TOO_SMALL
,
413 STAT_CONNECT_SUCCESS
,
414 STAT_CONNECT_FAILURE
,
417 STAT_PCONNECT_SUCCESS
,
418 STAT_OPENED_CONNECTIONS
,
419 STAT_OPENED_PERSISTENT_CONNECTIONS
,
422 STAT_CLOSE_DISCONNECT
,
423 STAT_CLOSE_IN_MIDDLE
,
424 STAT_FREE_RESULT_EXPLICIT
,
425 STAT_FREE_RESULT_IMPLICIT
,
426 STAT_STMT_CLOSE_EXPLICIT
,
427 STAT_STMT_CLOSE_IMPLICIT
,
428 STAT_MEM_EMALLOC_COUNT
,
429 STAT_MEM_EMALLOC_AMOUNT
,
430 STAT_MEM_ECALLOC_COUNT
,
431 STAT_MEM_ECALLOC_AMOUNT
,
432 STAT_MEM_EREALLOC_COUNT
,
433 STAT_MEM_EREALLOC_AMOUNT
,
434 STAT_MEM_EFREE_COUNT
,
435 STAT_MEM_EFREE_AMOUNT
,
436 STAT_MEM_MALLOC_COUNT
,
437 STAT_MEM_MALLOC_AMOUNT
,
438 STAT_MEM_CALLOC_COUNT
,
439 STAT_MEM_CALLOC_AMOUNT
,
440 STAT_MEM_REALLOC_COUNT
,
441 STAT_MEM_REALLOC_AMOUNT
,
443 STAT_MEM_FREE_AMOUNT
,
444 STAT_MEM_ESTRNDUP_COUNT
,
445 STAT_MEM_STRNDUP_COUNT
,
446 STAT_MEM_ESTRDUP_COUNT
,
447 STAT_MEM_STRDUP_COUNT
,
448 STAT_TEXT_TYPE_FETCHED_NULL
,
449 STAT_TEXT_TYPE_FETCHED_BIT
,
450 STAT_TEXT_TYPE_FETCHED_INT8
,
451 STAT_TEXT_TYPE_FETCHED_INT16
,
452 STAT_TEXT_TYPE_FETCHED_INT24
,
453 STAT_TEXT_TYPE_FETCHED_INT32
,
454 STAT_TEXT_TYPE_FETCHED_INT64
,
455 STAT_TEXT_TYPE_FETCHED_DECIMAL
,
456 STAT_TEXT_TYPE_FETCHED_FLOAT
,
457 STAT_TEXT_TYPE_FETCHED_DOUBLE
,
458 STAT_TEXT_TYPE_FETCHED_DATE
,
459 STAT_TEXT_TYPE_FETCHED_YEAR
,
460 STAT_TEXT_TYPE_FETCHED_TIME
,
461 STAT_TEXT_TYPE_FETCHED_DATETIME
,
462 STAT_TEXT_TYPE_FETCHED_TIMESTAMP
,
463 STAT_TEXT_TYPE_FETCHED_STRING
,
464 STAT_TEXT_TYPE_FETCHED_BLOB
,
465 STAT_TEXT_TYPE_FETCHED_ENUM
,
466 STAT_TEXT_TYPE_FETCHED_SET
,
467 STAT_TEXT_TYPE_FETCHED_GEOMETRY
,
468 STAT_TEXT_TYPE_FETCHED_OTHER
,
469 STAT_BINARY_TYPE_FETCHED_NULL
,
470 STAT_BINARY_TYPE_FETCHED_BIT
,
471 STAT_BINARY_TYPE_FETCHED_INT8
,
472 STAT_BINARY_TYPE_FETCHED_INT16
,
473 STAT_BINARY_TYPE_FETCHED_INT24
,
474 STAT_BINARY_TYPE_FETCHED_INT32
,
475 STAT_BINARY_TYPE_FETCHED_INT64
,
476 STAT_BINARY_TYPE_FETCHED_DECIMAL
,
477 STAT_BINARY_TYPE_FETCHED_FLOAT
,
478 STAT_BINARY_TYPE_FETCHED_DOUBLE
,
479 STAT_BINARY_TYPE_FETCHED_DATE
,
480 STAT_BINARY_TYPE_FETCHED_YEAR
,
481 STAT_BINARY_TYPE_FETCHED_TIME
,
482 STAT_BINARY_TYPE_FETCHED_DATETIME
,
483 STAT_BINARY_TYPE_FETCHED_TIMESTAMP
,
484 STAT_BINARY_TYPE_FETCHED_STRING
,
485 STAT_BINARY_TYPE_FETCHED_BLOB
,
486 STAT_BINARY_TYPE_FETCHED_ENUM
,
487 STAT_BINARY_TYPE_FETCHED_SET
,
488 STAT_BINARY_TYPE_FETCHED_GEOMETRY
,
489 STAT_BINARY_TYPE_FETCHED_OTHER
,
490 STAT_INIT_COMMAND_EXECUTED_COUNT
,
491 STAT_INIT_COMMAND_FAILED_COUNT
,
501 STAT_COM_PROCESS_INFO
,
503 STAT_COM_PROCESS_KILL
,
507 STAT_COM_DELAYED_INSERT
,
508 STAT_COM_CHANGE_USER
,
509 STAT_COM_BINLOG_DUMP
,
511 STAT_COM_CONNECT_OUT
,
512 STAT_COM_REGISTER_SLAVE
,
513 STAT_COM_STMT_PREPARE
,
514 STAT_COM_STMT_EXECUTE
,
515 STAT_COM_STMT_SEND_LONG_DATA
,
521 STAT_BYTES_RECEIVED_PURE_DATA_TEXT
,
522 STAT_BYTES_RECEIVED_PURE_DATA_PS
,
523 STAT_LAST
/* Should be always the last */
524 } enum_mysqlnd_collected_stats
;
528 enum mysqlnd_packet_type
530 PROT_GREET_PACKET
= 0,
532 PROT_AUTH_RESP_PACKET
,
533 PROT_CHANGE_AUTH_RESP_PACKET
,
537 PROT_RSET_HEADER_PACKET
,
538 PROT_RSET_FLD_PACKET
,
541 PROT_PREPARE_RESP_PACKET
,
542 PROT_CHG_USER_RESP_PACKET
,
543 PROT_LAST
/* should always be last */
547 enum php_mysqlnd_server_command
569 COM_CONNECT_OUT
= 20,
571 COM_STMT_PREPARE
= 22,
572 COM_STMT_EXECUTE
= 23,
573 COM_STMT_SEND_LONG_DATA
= 24,
583 #define MYSQLND_DEFAULT_PREFETCH_ROWS (ulong) 1
585 #define MYSQLND_REFRESH_GRANT 1 /* Refresh grant tables */
586 #define MYSQLND_REFRESH_LOG 2 /* Start on new log file */
587 #define MYSQLND_REFRESH_TABLES 4 /* close all tables */
588 #define MYSQLND_REFRESH_HOSTS 8 /* Flush host cache */
589 #define MYSQLND_REFRESH_STATUS 16 /* Flush status variables */
590 #define MYSQLND_REFRESH_THREADS 32 /* Flush thread cache */
591 #define MYSQLND_REFRESH_SLAVE 64 /* Reset master info and restart slave */
592 #define MYSQLND_REFRESH_MASTER 128 /* Remove all bin logs in the index */
593 #define MYSQLND_REFRESH_BACKUP_LOG 0x200000L
595 #endif /* MYSQLND_ENUM_N_DEF_H */
603 * vim600: noet sw=4 ts=4 fdm=marker
604 * vim<600: noet sw=4 ts=4