Annotation of embedaddon/php/ext/mysqlnd/mysqlnd_enum_n_def.h, revision 1.1.1.2
1.1 misho 1: /*
2: +----------------------------------------------------------------------+
3: | PHP Version 5 |
4: +----------------------------------------------------------------------+
5: | Copyright (c) 2006-2012 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: +----------------------------------------------------------------------+
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:
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. */
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 */
98:
99: #define CLIENT_SSL_VERIFY_SERVER_CERT (1UL << 30)
100:
1.1.1.2 ! misho 101: #define MYSQLND_CAPABILITIES (CLIENT_LONG_PASSWORD | CLIENT_LONG_FLAG | CLIENT_TRANSACTIONS | \
! 102: CLIENT_PROTOCOL_41 | CLIENT_SECURE_CONNECTION | \
! 103: CLIENT_MULTI_RESULTS | CLIENT_PS_MULTI_RESULTS | CLIENT_LOCAL_FILES | CLIENT_PLUGIN_AUTH)
1.1 misho 104:
105: #define MYSQLND_NET_FLAG_USE_COMPRESSION 1
106:
107: typedef enum mysqlnd_extension
108: {
109: MYSQLND_MYSQL = 0,
110: MYSQLND_MYSQLI
111: } enum_mysqlnd_extension;
112:
113: enum
114: {
115: MYSQLND_FETCH_ASSOC = 1,
116: MYSQLND_FETCH_NUM = 2,
117: MYSQLND_FETCH_BOTH = 1|2
118: };
119:
120: /* Follow libmysql convention */
121: typedef enum func_status
122: {
123: PASS = 0,
124: FAIL = 1
125: } enum_func_status;
126:
127: typedef enum mysqlnd_query_type
128: {
129: QUERY_UPSERT,
130: QUERY_SELECT,
131: QUERY_LOAD_LOCAL
132: } enum_mysqlnd_query_type;
133:
134: typedef enum mysqlnd_res_type
135: {
136: MYSQLND_RES_NORMAL = 1,
137: MYSQLND_RES_PS_BUF,
138: MYSQLND_RES_PS_UNBUF
139: } enum_mysqlnd_res_type;
140:
141: typedef enum mysqlnd_option
142: {
143: MYSQL_OPT_CONNECT_TIMEOUT,
144: MYSQL_OPT_COMPRESS,
145: MYSQL_OPT_NAMED_PIPE,
146: MYSQL_INIT_COMMAND,
147: MYSQL_READ_DEFAULT_FILE,
148: MYSQL_READ_DEFAULT_GROUP,
149: MYSQL_SET_CHARSET_DIR,
150: MYSQL_SET_CHARSET_NAME,
151: MYSQL_OPT_LOCAL_INFILE,
152: MYSQL_OPT_PROTOCOL,
153: MYSQL_SHARED_MEMORY_BASE_NAME,
154: MYSQL_OPT_READ_TIMEOUT,
155: MYSQL_OPT_WRITE_TIMEOUT,
156: MYSQL_OPT_USE_RESULT,
157: MYSQL_OPT_USE_REMOTE_CONNECTION,
158: MYSQL_OPT_USE_EMBEDDED_CONNECTION,
159: MYSQL_OPT_GUESS_CONNECTION,
160: MYSQL_SET_CLIENT_IP,
161: MYSQL_SECURE_AUTH,
162: MYSQL_REPORT_DATA_TRUNCATION,
163: MYSQL_OPT_RECONNECT,
164: MYSQL_OPT_SSL_VERIFY_SERVER_CERT,
165: MYSQL_PLUGIN_DIR,
166: MYSQL_DEFAULT_AUTH,
167: #if MYSQLND_UNICODE
168: MYSQLND_OPT_NUMERIC_AND_DATETIME_AS_UNICODE = 200,
169: #endif
170: #ifdef MYSQLND_STRING_TO_INT_CONVERSION
171: MYSQLND_OPT_INT_AND_FLOAT_NATIVE = 201,
172: #endif
173: MYSQLND_OPT_NET_CMD_BUFFER_SIZE = 202,
174: MYSQLND_OPT_NET_READ_BUFFER_SIZE = 203,
175: MYSQLND_OPT_SSL_KEY = 204,
176: MYSQLND_OPT_SSL_CERT = 205,
177: MYSQLND_OPT_SSL_CA = 206,
178: MYSQLND_OPT_SSL_CAPATH = 207,
179: MYSQLND_OPT_SSL_CIPHER = 208,
1.1.1.2 ! misho 180: MYSQLND_OPT_SSL_PASSPHRASE = 209,
! 181: MYSQLND_OPT_MAX_ALLOWED_PACKET = 210,
! 182: MYSQLND_OPT_AUTH_PROTOCOL = 211
1.1 misho 183: } enum_mysqlnd_option;
184:
185: typedef enum mysqlnd_protocol_type
186: {
187: MYSQL_PROTOCOL_DEFAULT = 0,
188: MYSQL_PROTOCOL_TCP, /* all, supported */
189: MYSQL_PROTOCOL_SOCKET, /* unix, supported */
190: MYSQL_PROTOCOL_PIPE, /* win32, not-supported */
191: MYSQL_PROTOCOL_MEMORY, /* win32, not-supported */
192: MYSQL_PROTOCOL_LAST
193: } enum_mysqlnd_protocol_type;
194:
195: typedef enum mysqlnd_field_types
196: {
197: MYSQL_TYPE_DECIMAL,
198: MYSQL_TYPE_TINY,
199: MYSQL_TYPE_SHORT,
200: MYSQL_TYPE_LONG,
201: MYSQL_TYPE_FLOAT,
202: MYSQL_TYPE_DOUBLE,
203: MYSQL_TYPE_NULL,
204: MYSQL_TYPE_TIMESTAMP,
205: MYSQL_TYPE_LONGLONG,
206: MYSQL_TYPE_INT24,
207: MYSQL_TYPE_DATE,
208: MYSQL_TYPE_TIME,
209: MYSQL_TYPE_DATETIME,
210: MYSQL_TYPE_YEAR,
211: MYSQL_TYPE_NEWDATE,
212: MYSQL_TYPE_VARCHAR,
213: MYSQL_TYPE_BIT,
214: MYSQL_TYPE_NEWDECIMAL=246,
215: MYSQL_TYPE_ENUM=247,
216: MYSQL_TYPE_SET=248,
217: MYSQL_TYPE_TINY_BLOB=249,
218: MYSQL_TYPE_MEDIUM_BLOB=250,
219: MYSQL_TYPE_LONG_BLOB=251,
220: MYSQL_TYPE_BLOB=252,
221: MYSQL_TYPE_VAR_STRING=253,
222: MYSQL_TYPE_STRING=254,
223: MYSQL_TYPE_GEOMETRY=255
224: } enum_mysqlnd_field_types;
225:
226: /* Please update this if there is a new type after MYSQL_TYPE_GEOMETRY */
227: #define MYSQL_TYPE_LAST MYSQL_TYPE_GEOMETRY
228:
229:
230: typedef enum mysqlnd_server_option
231: {
232: MYSQL_OPTION_MULTI_STATEMENTS_ON,
233: MYSQL_OPTION_MULTI_STATEMENTS_OFF
234: } enum_mysqlnd_server_option;
235:
236:
237: #define FIELD_TYPE_DECIMAL MYSQL_TYPE_DECIMAL
238: #define FIELD_TYPE_NEWDECIMAL MYSQL_TYPE_NEWDECIMAL
239: #define FIELD_TYPE_TINY MYSQL_TYPE_TINY
240: #define FIELD_TYPE_SHORT MYSQL_TYPE_SHORT
241: #define FIELD_TYPE_LONG MYSQL_TYPE_LONG
242: #define FIELD_TYPE_FLOAT MYSQL_TYPE_FLOAT
243: #define FIELD_TYPE_DOUBLE MYSQL_TYPE_DOUBLE
244: #define FIELD_TYPE_NULL MYSQL_TYPE_NULL
245: #define FIELD_TYPE_TIMESTAMP MYSQL_TYPE_TIMESTAMP
246: #define FIELD_TYPE_LONGLONG MYSQL_TYPE_LONGLONG
247: #define FIELD_TYPE_INT24 MYSQL_TYPE_INT24
248: #define FIELD_TYPE_DATE MYSQL_TYPE_DATE
249: #define FIELD_TYPE_TIME MYSQL_TYPE_TIME
250: #define FIELD_TYPE_DATETIME MYSQL_TYPE_DATETIME
251: #define FIELD_TYPE_YEAR MYSQL_TYPE_YEAR
252: #define FIELD_TYPE_NEWDATE MYSQL_TYPE_NEWDATE
253: #define FIELD_TYPE_ENUM MYSQL_TYPE_ENUM
254: #define FIELD_TYPE_SET MYSQL_TYPE_SET
255: #define FIELD_TYPE_TINY_BLOB MYSQL_TYPE_TINY_BLOB
256: #define FIELD_TYPE_MEDIUM_BLOB MYSQL_TYPE_MEDIUM_BLOB
257: #define FIELD_TYPE_LONG_BLOB MYSQL_TYPE_LONG_BLOB
258: #define FIELD_TYPE_BLOB MYSQL_TYPE_BLOB
259: #define FIELD_TYPE_VAR_STRING MYSQL_TYPE_VAR_STRING
260: #define FIELD_TYPE_STRING MYSQL_TYPE_STRING
261: #define FIELD_TYPE_CHAR MYSQL_TYPE_TINY
262: #define FIELD_TYPE_INTERVAL MYSQL_TYPE_ENUM
263: #define FIELD_TYPE_GEOMETRY MYSQL_TYPE_GEOMETRY
264: #define FIELD_TYPE_BIT MYSQL_TYPE_BIT
265:
266: #define NOT_NULL_FLAG 1
267: #define PRI_KEY_FLAG 2
268: #define UNIQUE_KEY_FLAG 4
269: #define MULTIPLE_KEY_FLAG 8
270: #define BLOB_FLAG 16
271: #define UNSIGNED_FLAG 32
272: #define ZEROFILL_FLAG 64
273: #define BINARY_FLAG 128
274: #define ENUM_FLAG 256
275: #define AUTO_INCREMENT_FLAG 512
276: #define TIMESTAMP_FLAG 1024
277: #define SET_FLAG 2048
278: #define NO_DEFAULT_VALUE_FLAG 4096
279: #define ON_UPDATE_NOW_FLAG 8192
280: #define PART_KEY_FLAG 16384
281: #define GROUP_FLAG 32768
282: #define NUM_FLAG 32768
283:
284: #define IS_PRI_KEY(n) ((n) & PRI_KEY_FLAG)
285: #define IS_NOT_NULL(n) ((n) & NOT_NULL_FLAG)
286: #define IS_BLOB(n) ((n) & BLOB_FLAG)
287: #define IS_NUM(t) ((t) <= FIELD_TYPE_INT24 || (t) == FIELD_TYPE_YEAR || (t) == FIELD_TYPE_NEWDECIMAL)
288:
289:
290: /* see mysqlnd_charset.c for more information */
291: #define MYSQLND_BINARY_CHARSET_NR 63
292:
293:
294: /*
295: /-----> CONN_CLOSE <---------------\
296: | ^ \
297: | | \
298: CONN_READY -> CONN_QUERY_SENT -> CONN_FETCHING_DATA
299: ^ |
300: \-------------------------------------/
301: */
302: typedef enum mysqlnd_connection_state
303: {
304: CONN_ALLOCED = 0,
305: CONN_READY,
306: CONN_QUERY_SENT,
307: CONN_SENDING_LOAD_DATA,
308: CONN_FETCHING_DATA,
309: CONN_NEXT_RESULT_PENDING,
310: CONN_QUIT_SENT /* object is "destroyed" at this stage */
311: } enum_mysqlnd_connection_state;
312:
313:
314: typedef enum mysqlnd_stmt_state
315: {
316: MYSQLND_STMT_INITTED = 0,
317: MYSQLND_STMT_PREPARED,
318: MYSQLND_STMT_EXECUTED,
319: MYSQLND_STMT_WAITING_USE_OR_STORE,
320: MYSQLND_STMT_USE_OR_STORE_CALLED,
321: MYSQLND_STMT_USER_FETCHING /* fetch_row_buff or fetch_row_unbuf */
322: } enum_mysqlnd_stmt_state;
323:
324:
325: typedef enum param_bind_flags
326: {
327: MYSQLND_PARAM_BIND_BLOB_USED = 1
328: } enum_param_bind_flags;
329:
330:
331: /* PS */
332: enum mysqlnd_stmt_attr
333: {
334: STMT_ATTR_UPDATE_MAX_LENGTH,
335: STMT_ATTR_CURSOR_TYPE,
336: STMT_ATTR_PREFETCH_ROWS
337: };
338:
339: enum myslqnd_cursor_type
340: {
341: CURSOR_TYPE_NO_CURSOR= 0,
342: CURSOR_TYPE_READ_ONLY= 1,
343: CURSOR_TYPE_FOR_UPDATE= 2,
344: CURSOR_TYPE_SCROLLABLE= 4
345: };
346:
347: typedef enum mysqlnd_connection_close_type
348: {
349: MYSQLND_CLOSE_EXPLICIT = 0,
350: MYSQLND_CLOSE_IMPLICIT,
351: MYSQLND_CLOSE_DISCONNECTED,
352: MYSQLND_CLOSE_LAST /* for checking, should always be last */
353: } enum_connection_close_type;
354:
355:
356: typedef enum mysqlnd_collected_stats
357: {
358: STAT_BYTES_SENT,
359: STAT_BYTES_RECEIVED,
360: STAT_PACKETS_SENT,
361: STAT_PACKETS_RECEIVED,
362: STAT_PROTOCOL_OVERHEAD_IN,
363: STAT_PROTOCOL_OVERHEAD_OUT,
364: STAT_BYTES_RECEIVED_OK,
365: STAT_BYTES_RECEIVED_EOF,
366: STAT_BYTES_RECEIVED_RSET_HEADER,
367: STAT_BYTES_RECEIVED_RSET_FIELD_META,
368: STAT_BYTES_RECEIVED_RSET_ROW,
369: STAT_BYTES_RECEIVED_PREPARE_RESPONSE,
370: STAT_BYTES_RECEIVED_CHANGE_USER,
371: STAT_PACKETS_SENT_CMD,
372: STAT_PACKETS_RECEIVED_OK,
373: STAT_PACKETS_RECEIVED_EOF,
374: STAT_PACKETS_RECEIVED_RSET_HEADER,
375: STAT_PACKETS_RECEIVED_RSET_FIELD_META,
376: STAT_PACKETS_RECEIVED_RSET_ROW,
377: STAT_PACKETS_RECEIVED_PREPARE_RESPONSE,
378: STAT_PACKETS_RECEIVED_CHANGE_USER,
379: STAT_RSET_QUERY,
380: STAT_NON_RSET_QUERY,
381: STAT_NO_INDEX_USED,
382: STAT_BAD_INDEX_USED,
383: STAT_QUERY_WAS_SLOW,
384: STAT_BUFFERED_SETS,
385: STAT_UNBUFFERED_SETS,
386: STAT_PS_BUFFERED_SETS,
387: STAT_PS_UNBUFFERED_SETS,
388: STAT_FLUSHED_NORMAL_SETS,
389: STAT_FLUSHED_PS_SETS,
390: STAT_PS_PREPARED_NEVER_EXECUTED,
391: STAT_PS_PREPARED_ONCE_USED,
392: STAT_ROWS_FETCHED_FROM_SERVER_NORMAL,
393: STAT_ROWS_FETCHED_FROM_SERVER_PS,
394: STAT_ROWS_BUFFERED_FROM_CLIENT_NORMAL,
395: STAT_ROWS_BUFFERED_FROM_CLIENT_PS,
396: STAT_ROWS_FETCHED_FROM_CLIENT_NORMAL_BUF,
397: STAT_ROWS_FETCHED_FROM_CLIENT_NORMAL_UNBUF,
398: STAT_ROWS_FETCHED_FROM_CLIENT_PS_BUF,
399: STAT_ROWS_FETCHED_FROM_CLIENT_PS_UNBUF,
400: STAT_ROWS_FETCHED_FROM_CLIENT_PS_CURSOR,
401: STAT_ROWS_AFFECTED_NORMAL,
402: STAT_ROWS_AFFECTED_PS,
403: STAT_ROWS_SKIPPED_NORMAL,
404: STAT_ROWS_SKIPPED_PS,
405: STAT_COPY_ON_WRITE_SAVED,
406: STAT_COPY_ON_WRITE_PERFORMED,
407: STAT_CMD_BUFFER_TOO_SMALL,
408: STAT_CONNECT_SUCCESS,
409: STAT_CONNECT_FAILURE,
410: STAT_CONNECT_REUSED,
411: STAT_RECONNECT,
412: STAT_PCONNECT_SUCCESS,
413: STAT_OPENED_CONNECTIONS,
414: STAT_OPENED_PERSISTENT_CONNECTIONS,
415: STAT_CLOSE_EXPLICIT,
416: STAT_CLOSE_IMPLICIT,
417: STAT_CLOSE_DISCONNECT,
418: STAT_CLOSE_IN_MIDDLE,
419: STAT_FREE_RESULT_EXPLICIT,
420: STAT_FREE_RESULT_IMPLICIT,
421: STAT_STMT_CLOSE_EXPLICIT,
422: STAT_STMT_CLOSE_IMPLICIT,
423: STAT_MEM_EMALLOC_COUNT,
424: STAT_MEM_EMALLOC_AMOUNT,
425: STAT_MEM_ECALLOC_COUNT,
426: STAT_MEM_ECALLOC_AMOUNT,
427: STAT_MEM_EREALLOC_COUNT,
428: STAT_MEM_EREALLOC_AMOUNT,
429: STAT_MEM_EFREE_COUNT,
430: STAT_MEM_EFREE_AMOUNT,
431: STAT_MEM_MALLOC_COUNT,
432: STAT_MEM_MALLOC_AMOUNT,
433: STAT_MEM_CALLOC_COUNT,
434: STAT_MEM_CALLOC_AMOUNT,
435: STAT_MEM_REALLOC_COUNT,
436: STAT_MEM_REALLOC_AMOUNT,
437: STAT_MEM_FREE_COUNT,
438: STAT_MEM_FREE_AMOUNT,
439: STAT_MEM_ESTRNDUP_COUNT,
440: STAT_MEM_STRNDUP_COUNT,
441: STAT_MEM_ESTRDUP_COUNT,
442: STAT_MEM_STRDUP_COUNT,
443: STAT_TEXT_TYPE_FETCHED_NULL,
444: STAT_TEXT_TYPE_FETCHED_BIT,
445: STAT_TEXT_TYPE_FETCHED_INT8,
446: STAT_TEXT_TYPE_FETCHED_INT16,
447: STAT_TEXT_TYPE_FETCHED_INT24,
448: STAT_TEXT_TYPE_FETCHED_INT32,
449: STAT_TEXT_TYPE_FETCHED_INT64,
450: STAT_TEXT_TYPE_FETCHED_DECIMAL,
451: STAT_TEXT_TYPE_FETCHED_FLOAT,
452: STAT_TEXT_TYPE_FETCHED_DOUBLE,
453: STAT_TEXT_TYPE_FETCHED_DATE,
454: STAT_TEXT_TYPE_FETCHED_YEAR,
455: STAT_TEXT_TYPE_FETCHED_TIME,
456: STAT_TEXT_TYPE_FETCHED_DATETIME,
457: STAT_TEXT_TYPE_FETCHED_TIMESTAMP,
458: STAT_TEXT_TYPE_FETCHED_STRING,
459: STAT_TEXT_TYPE_FETCHED_BLOB,
460: STAT_TEXT_TYPE_FETCHED_ENUM,
461: STAT_TEXT_TYPE_FETCHED_SET,
462: STAT_TEXT_TYPE_FETCHED_GEOMETRY,
463: STAT_TEXT_TYPE_FETCHED_OTHER,
464: STAT_BINARY_TYPE_FETCHED_NULL,
465: STAT_BINARY_TYPE_FETCHED_BIT,
466: STAT_BINARY_TYPE_FETCHED_INT8,
467: STAT_BINARY_TYPE_FETCHED_INT16,
468: STAT_BINARY_TYPE_FETCHED_INT24,
469: STAT_BINARY_TYPE_FETCHED_INT32,
470: STAT_BINARY_TYPE_FETCHED_INT64,
471: STAT_BINARY_TYPE_FETCHED_DECIMAL,
472: STAT_BINARY_TYPE_FETCHED_FLOAT,
473: STAT_BINARY_TYPE_FETCHED_DOUBLE,
474: STAT_BINARY_TYPE_FETCHED_DATE,
475: STAT_BINARY_TYPE_FETCHED_YEAR,
476: STAT_BINARY_TYPE_FETCHED_TIME,
477: STAT_BINARY_TYPE_FETCHED_DATETIME,
478: STAT_BINARY_TYPE_FETCHED_TIMESTAMP,
479: STAT_BINARY_TYPE_FETCHED_STRING,
480: STAT_BINARY_TYPE_FETCHED_BLOB,
481: STAT_BINARY_TYPE_FETCHED_ENUM,
482: STAT_BINARY_TYPE_FETCHED_SET,
483: STAT_BINARY_TYPE_FETCHED_GEOMETRY,
484: STAT_BINARY_TYPE_FETCHED_OTHER,
485: STAT_INIT_COMMAND_EXECUTED_COUNT,
486: STAT_INIT_COMMAND_FAILED_COUNT,
487: STAT_COM_QUIT,
488: STAT_COM_INIT_DB,
489: STAT_COM_QUERY,
490: STAT_COM_FIELD_LIST,
491: STAT_COM_CREATE_DB,
492: STAT_COM_DROP_DB,
493: STAT_COM_REFRESH,
494: STAT_COM_SHUTDOWN,
495: STAT_COM_STATISTICS,
496: STAT_COM_PROCESS_INFO,
497: STAT_COM_CONNECT,
498: STAT_COM_PROCESS_KILL,
499: STAT_COM_DEBUG,
500: STAT_COM_PING,
501: STAT_COM_TIME,
502: STAT_COM_DELAYED_INSERT,
503: STAT_COM_CHANGE_USER,
504: STAT_COM_BINLOG_DUMP,
505: STAT_COM_TABLE_DUMP,
506: STAT_COM_CONNECT_OUT,
507: STAT_COM_REGISTER_SLAVE,
508: STAT_COM_STMT_PREPARE,
509: STAT_COM_STMT_EXECUTE,
510: STAT_COM_STMT_SEND_LONG_DATA,
511: STAT_COM_STMT_CLOSE,
512: STAT_COM_STMT_RESET,
513: STAT_COM_SET_OPTION,
514: STAT_COM_STMT_FETCH,
515: STAT_COM_DAEMON,
516: STAT_BYTES_RECEIVED_PURE_DATA_TEXT,
517: STAT_BYTES_RECEIVED_PURE_DATA_PS,
518: STAT_LAST /* Should be always the last */
519: } enum_mysqlnd_collected_stats;
520:
521:
522: /* Enums */
523: enum mysqlnd_packet_type
524: {
525: PROT_GREET_PACKET= 0,
526: PROT_AUTH_PACKET,
1.1.1.2 ! misho 527: PROT_AUTH_RESP_PACKET,
! 528: PROT_CHANGE_AUTH_RESP_PACKET,
1.1 misho 529: PROT_OK_PACKET,
530: PROT_EOF_PACKET,
531: PROT_CMD_PACKET,
532: PROT_RSET_HEADER_PACKET,
533: PROT_RSET_FLD_PACKET,
534: PROT_ROW_PACKET,
535: PROT_STATS_PACKET,
536: PROT_PREPARE_RESP_PACKET,
537: PROT_CHG_USER_RESP_PACKET,
538: PROT_LAST /* should always be last */
539: };
540:
541:
542: enum php_mysqlnd_server_command
543: {
544: COM_SLEEP = 0,
545: COM_QUIT,
546: COM_INIT_DB,
547: COM_QUERY,
548: COM_FIELD_LIST,
549: COM_CREATE_DB,
550: COM_DROP_DB,
551: COM_REFRESH,
552: COM_SHUTDOWN,
553: COM_STATISTICS,
554: COM_PROCESS_INFO,
555: COM_CONNECT,
556: COM_PROCESS_KILL,
557: COM_DEBUG,
558: COM_PING,
559: COM_TIME = 15,
560: COM_DELAYED_INSERT,
561: COM_CHANGE_USER,
562: COM_BINLOG_DUMP,
563: COM_TABLE_DUMP,
564: COM_CONNECT_OUT = 20,
565: COM_REGISTER_SLAVE,
566: COM_STMT_PREPARE = 22,
567: COM_STMT_EXECUTE = 23,
568: COM_STMT_SEND_LONG_DATA = 24,
569: COM_STMT_CLOSE = 25,
570: COM_STMT_RESET = 26,
571: COM_SET_OPTION = 27,
572: COM_STMT_FETCH = 28,
573: COM_DAEMON,
574: COM_END
575: };
576:
577:
578: #define MYSQLND_DEFAULT_PREFETCH_ROWS (ulong) 1
579:
580: #define MYSQLND_REFRESH_GRANT 1 /* Refresh grant tables */
581: #define MYSQLND_REFRESH_LOG 2 /* Start on new log file */
582: #define MYSQLND_REFRESH_TABLES 4 /* close all tables */
583: #define MYSQLND_REFRESH_HOSTS 8 /* Flush host cache */
584: #define MYSQLND_REFRESH_STATUS 16 /* Flush status variables */
585: #define MYSQLND_REFRESH_THREADS 32 /* Flush thread cache */
586: #define MYSQLND_REFRESH_SLAVE 64 /* Reset master info and restart slave */
587: #define MYSQLND_REFRESH_MASTER 128 /* Remove all bin logs in the index */
588: #define MYSQLND_REFRESH_BACKUP_LOG 0x200000L
589:
590: #endif /* MYSQLND_ENUM_N_DEF_H */
591:
592:
593: /*
594: * Local variables:
595: * tab-width: 4
596: * c-basic-offset: 4
597: * End:
598: * vim600: noet sw=4 ts=4 fdm=marker
599: * vim<600: noet sw=4 ts=4
600: */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>