Annotation of embedaddon/php/ext/mysqlnd/mysqlnd_enum_n_def.h, revision 1.1.1.3
1.1 misho 1: /*
2: +----------------------------------------------------------------------+
3: | PHP Version 5 |
4: +----------------------------------------------------------------------+
1.1.1.3 ! misho 5: | Copyright (c) 2006-2013 The PHP Group |
1.1 misho 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: +----------------------------------------------------------------------+
1.1.1.2 misho 15: | Authors: Andrey Hristov <andrey@mysql.com> |
1.1 misho 16: | Ulf Wendel <uwendel@mysql.com> |
1.1.1.2 misho 17: | Georg Richter <georg@mysql.com> |
1.1 misho 18: +----------------------------------------------------------------------+
19: */
20:
1.1.1.2 misho 21: /* $Id$ */
1.1 misho 22: #ifndef MYSQLND_ENUM_N_DEF_H
23: #define MYSQLND_ENUM_N_DEF_H
24:
25: #ifndef TRUE
26: #define TRUE 1
27: #endif
28:
29: #ifndef FALSE
30: #define FALSE 0
31: #endif
32:
33:
34: #define MYSQLND_MIN_COMPRESS_LEN 0
35:
36: #define MYSQLND_MAX_PACKET_SIZE (256L*256L*256L-1)
37:
1.1.1.2 misho 38: #define MYSQLND_ASSEMBLED_PACKET_MAX_SIZE 3UL*1024UL*1024UL*1024UL
39:
1.1 misho 40: #define MYSQLND_ERRMSG_SIZE 512
41: #define MYSQLND_SQLSTATE_LENGTH 5
42: #define MYSQLND_SQLSTATE_NULL "00000"
43:
1.1.1.3 ! misho 44: #define MYSQLND_MAX_ALLOWED_USER_LEN 252 /* 63 char * 4byte . MySQL supports now only 16 char, but let it be forward compatible */
1.1 misho 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. */
46:
47: #define MYSQLND_NET_CMD_BUFFER_MIN_SIZE 4096
48: #define MYSQLND_NET_CMD_BUFFER_MIN_SIZE_STR "4096"
49:
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
55: /*
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.
59: */
60: #define SERVER_STATUS_CURSOR_EXISTS 64
61: /*
62: This flag is sent when a read-only cursor is exhausted, in reply to
63: COM_STMT_FETCH command.
64: */
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
70:
71: #define MYSQLND_NO_DATA 100
72: #define MYSQLND_DATA_TRUNCATED 101
73:
74: #define SHA1_MAX_LENGTH 20
75: #define SCRAMBLE_LENGTH 20
76: #define SCRAMBLE_LENGTH_323 8
77:
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 */
1.1.1.3 ! misho 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. */
1.1 misho 101: #define CLIENT_SSL_VERIFY_SERVER_CERT (1UL << 30)
102:
1.1.1.2 misho 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)
1.1 misho 106:
107: #define MYSQLND_NET_FLAG_USE_COMPRESSION 1
108:
109: typedef enum mysqlnd_extension
110: {
111: MYSQLND_MYSQL = 0,
112: MYSQLND_MYSQLI
113: } enum_mysqlnd_extension;
114:
115: enum
116: {
117: MYSQLND_FETCH_ASSOC = 1,
118: MYSQLND_FETCH_NUM = 2,
119: MYSQLND_FETCH_BOTH = 1|2
120: };
121:
122: /* Follow libmysql convention */
123: typedef enum func_status
124: {
125: PASS = 0,
126: FAIL = 1
127: } enum_func_status;
128:
129: typedef enum mysqlnd_query_type
130: {
131: QUERY_UPSERT,
132: QUERY_SELECT,
133: QUERY_LOAD_LOCAL
134: } enum_mysqlnd_query_type;
135:
136: typedef enum mysqlnd_res_type
137: {
138: MYSQLND_RES_NORMAL = 1,
139: MYSQLND_RES_PS_BUF,
140: MYSQLND_RES_PS_UNBUF
141: } enum_mysqlnd_res_type;
142:
143: typedef enum mysqlnd_option
144: {
145: MYSQL_OPT_CONNECT_TIMEOUT,
146: MYSQL_OPT_COMPRESS,
147: MYSQL_OPT_NAMED_PIPE,
148: MYSQL_INIT_COMMAND,
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,
154: MYSQL_OPT_PROTOCOL,
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,
162: MYSQL_SET_CLIENT_IP,
163: MYSQL_SECURE_AUTH,
164: MYSQL_REPORT_DATA_TRUNCATION,
165: MYSQL_OPT_RECONNECT,
166: MYSQL_OPT_SSL_VERIFY_SERVER_CERT,
167: MYSQL_PLUGIN_DIR,
168: MYSQL_DEFAULT_AUTH,
1.1.1.3 ! misho 169: MYSQL_SERVER_PUBLIC_KEY,
! 170: MYSQL_ENABLE_CLEARTEXT_PLUGIN,
! 171: MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS,
1.1 misho 172: #if MYSQLND_UNICODE
173: MYSQLND_OPT_NUMERIC_AND_DATETIME_AS_UNICODE = 200,
174: #endif
175: #ifdef MYSQLND_STRING_TO_INT_CONVERSION
176: MYSQLND_OPT_INT_AND_FLOAT_NATIVE = 201,
177: #endif
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,
1.1.1.2 misho 185: MYSQLND_OPT_SSL_PASSPHRASE = 209,
186: MYSQLND_OPT_MAX_ALLOWED_PACKET = 210,
187: MYSQLND_OPT_AUTH_PROTOCOL = 211
1.1 misho 188: } enum_mysqlnd_option;
189:
190: typedef enum mysqlnd_protocol_type
191: {
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 */
197: MYSQL_PROTOCOL_LAST
198: } enum_mysqlnd_protocol_type;
199:
200: typedef enum mysqlnd_field_types
201: {
202: MYSQL_TYPE_DECIMAL,
203: MYSQL_TYPE_TINY,
204: MYSQL_TYPE_SHORT,
205: MYSQL_TYPE_LONG,
206: MYSQL_TYPE_FLOAT,
207: MYSQL_TYPE_DOUBLE,
208: MYSQL_TYPE_NULL,
209: MYSQL_TYPE_TIMESTAMP,
210: MYSQL_TYPE_LONGLONG,
211: MYSQL_TYPE_INT24,
212: MYSQL_TYPE_DATE,
213: MYSQL_TYPE_TIME,
214: MYSQL_TYPE_DATETIME,
215: MYSQL_TYPE_YEAR,
216: MYSQL_TYPE_NEWDATE,
217: MYSQL_TYPE_VARCHAR,
218: MYSQL_TYPE_BIT,
219: MYSQL_TYPE_NEWDECIMAL=246,
220: MYSQL_TYPE_ENUM=247,
221: MYSQL_TYPE_SET=248,
222: MYSQL_TYPE_TINY_BLOB=249,
223: MYSQL_TYPE_MEDIUM_BLOB=250,
224: MYSQL_TYPE_LONG_BLOB=251,
225: MYSQL_TYPE_BLOB=252,
226: MYSQL_TYPE_VAR_STRING=253,
227: MYSQL_TYPE_STRING=254,
228: MYSQL_TYPE_GEOMETRY=255
229: } enum_mysqlnd_field_types;
230:
231: /* Please update this if there is a new type after MYSQL_TYPE_GEOMETRY */
232: #define MYSQL_TYPE_LAST MYSQL_TYPE_GEOMETRY
233:
234:
235: typedef enum mysqlnd_server_option
236: {
237: MYSQL_OPTION_MULTI_STATEMENTS_ON,
238: MYSQL_OPTION_MULTI_STATEMENTS_OFF
239: } enum_mysqlnd_server_option;
240:
241:
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
270:
271: #define NOT_NULL_FLAG 1
272: #define PRI_KEY_FLAG 2
273: #define UNIQUE_KEY_FLAG 4
274: #define MULTIPLE_KEY_FLAG 8
275: #define BLOB_FLAG 16
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
288:
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)
293:
294:
295: /* see mysqlnd_charset.c for more information */
296: #define MYSQLND_BINARY_CHARSET_NR 63
297:
298:
299: /*
300: /-----> CONN_CLOSE <---------------\
301: | ^ \
302: | | \
303: CONN_READY -> CONN_QUERY_SENT -> CONN_FETCHING_DATA
304: ^ |
305: \-------------------------------------/
306: */
307: typedef enum mysqlnd_connection_state
308: {
309: CONN_ALLOCED = 0,
310: CONN_READY,
311: CONN_QUERY_SENT,
312: CONN_SENDING_LOAD_DATA,
313: CONN_FETCHING_DATA,
314: CONN_NEXT_RESULT_PENDING,
315: CONN_QUIT_SENT /* object is "destroyed" at this stage */
316: } enum_mysqlnd_connection_state;
317:
318:
319: typedef enum mysqlnd_stmt_state
320: {
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;
328:
329:
330: typedef enum param_bind_flags
331: {
332: MYSQLND_PARAM_BIND_BLOB_USED = 1
333: } enum_param_bind_flags;
334:
335:
336: /* PS */
337: enum mysqlnd_stmt_attr
338: {
339: STMT_ATTR_UPDATE_MAX_LENGTH,
340: STMT_ATTR_CURSOR_TYPE,
341: STMT_ATTR_PREFETCH_ROWS
342: };
343:
344: enum myslqnd_cursor_type
345: {
346: CURSOR_TYPE_NO_CURSOR= 0,
347: CURSOR_TYPE_READ_ONLY= 1,
348: CURSOR_TYPE_FOR_UPDATE= 2,
349: CURSOR_TYPE_SCROLLABLE= 4
350: };
351:
352: typedef enum mysqlnd_connection_close_type
353: {
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;
359:
360:
361: typedef enum mysqlnd_collected_stats
362: {
363: STAT_BYTES_SENT,
364: STAT_BYTES_RECEIVED,
365: STAT_PACKETS_SENT,
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,
384: STAT_RSET_QUERY,
385: STAT_NON_RSET_QUERY,
386: STAT_NO_INDEX_USED,
387: STAT_BAD_INDEX_USED,
388: STAT_QUERY_WAS_SLOW,
389: STAT_BUFFERED_SETS,
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,
415: STAT_CONNECT_REUSED,
416: STAT_RECONNECT,
417: STAT_PCONNECT_SUCCESS,
418: STAT_OPENED_CONNECTIONS,
419: STAT_OPENED_PERSISTENT_CONNECTIONS,
420: STAT_CLOSE_EXPLICIT,
421: STAT_CLOSE_IMPLICIT,
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,
442: STAT_MEM_FREE_COUNT,
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,
492: STAT_COM_QUIT,
493: STAT_COM_INIT_DB,
494: STAT_COM_QUERY,
495: STAT_COM_FIELD_LIST,
496: STAT_COM_CREATE_DB,
497: STAT_COM_DROP_DB,
498: STAT_COM_REFRESH,
499: STAT_COM_SHUTDOWN,
500: STAT_COM_STATISTICS,
501: STAT_COM_PROCESS_INFO,
502: STAT_COM_CONNECT,
503: STAT_COM_PROCESS_KILL,
504: STAT_COM_DEBUG,
505: STAT_COM_PING,
506: STAT_COM_TIME,
507: STAT_COM_DELAYED_INSERT,
508: STAT_COM_CHANGE_USER,
509: STAT_COM_BINLOG_DUMP,
510: STAT_COM_TABLE_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,
516: STAT_COM_STMT_CLOSE,
517: STAT_COM_STMT_RESET,
518: STAT_COM_SET_OPTION,
519: STAT_COM_STMT_FETCH,
520: STAT_COM_DAEMON,
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;
525:
526:
527: /* Enums */
528: enum mysqlnd_packet_type
529: {
530: PROT_GREET_PACKET= 0,
531: PROT_AUTH_PACKET,
1.1.1.2 misho 532: PROT_AUTH_RESP_PACKET,
533: PROT_CHANGE_AUTH_RESP_PACKET,
1.1 misho 534: PROT_OK_PACKET,
535: PROT_EOF_PACKET,
536: PROT_CMD_PACKET,
537: PROT_RSET_HEADER_PACKET,
538: PROT_RSET_FLD_PACKET,
539: PROT_ROW_PACKET,
540: PROT_STATS_PACKET,
541: PROT_PREPARE_RESP_PACKET,
542: PROT_CHG_USER_RESP_PACKET,
543: PROT_LAST /* should always be last */
544: };
545:
546:
547: enum php_mysqlnd_server_command
548: {
549: COM_SLEEP = 0,
550: COM_QUIT,
551: COM_INIT_DB,
552: COM_QUERY,
553: COM_FIELD_LIST,
554: COM_CREATE_DB,
555: COM_DROP_DB,
556: COM_REFRESH,
557: COM_SHUTDOWN,
558: COM_STATISTICS,
559: COM_PROCESS_INFO,
560: COM_CONNECT,
561: COM_PROCESS_KILL,
562: COM_DEBUG,
563: COM_PING,
564: COM_TIME = 15,
565: COM_DELAYED_INSERT,
566: COM_CHANGE_USER,
567: COM_BINLOG_DUMP,
568: COM_TABLE_DUMP,
569: COM_CONNECT_OUT = 20,
570: COM_REGISTER_SLAVE,
571: COM_STMT_PREPARE = 22,
572: COM_STMT_EXECUTE = 23,
573: COM_STMT_SEND_LONG_DATA = 24,
574: COM_STMT_CLOSE = 25,
575: COM_STMT_RESET = 26,
576: COM_SET_OPTION = 27,
577: COM_STMT_FETCH = 28,
578: COM_DAEMON,
579: COM_END
580: };
581:
582:
583: #define MYSQLND_DEFAULT_PREFETCH_ROWS (ulong) 1
584:
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
594:
595: #endif /* MYSQLND_ENUM_N_DEF_H */
596:
597:
598: /*
599: * Local variables:
600: * tab-width: 4
601: * c-basic-offset: 4
602: * End:
603: * vim600: noet sw=4 ts=4 fdm=marker
604: * vim<600: noet sw=4 ts=4
605: */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>