19#ifndef MYSQLND_ENUM_N_DEF_H
20#define MYSQLND_ENUM_N_DEF_H
31#define MYSQLND_MIN_COMPRESS_LEN 0
33#define MYSQLND_MAX_PACKET_SIZE (256L*256L*256L-1)
35#define MYSQLND_ASSEMBLED_PACKET_MAX_SIZE 3UL*1024UL*1024UL*1024UL
37#define MYSQLND_DEFAULT_AUTH_PROTOCOL "mysql_native_password"
39#define MYSQLND_ERRMSG_SIZE 512
40#define MYSQLND_SQLSTATE_LENGTH 5
41#define MYSQLND_SQLSTATE_NULL "00000"
43#define MYSQLND_MAX_ALLOWED_USER_LEN 252
44#define MYSQLND_MAX_ALLOWED_DB_LEN 1024
46#define MYSQLND_NET_CMD_BUFFER_MIN_SIZE 4096
47#define MYSQLND_NET_CMD_BUFFER_MIN_SIZE_STR "4096"
49#define MYSQLND_STMT_ID_LENGTH 4
52#define SERVER_STATUS_IN_TRANS 1
53#define SERVER_STATUS_AUTOCOMMIT 2
54#define SERVER_MORE_RESULTS_EXISTS 8
55#define SERVER_QUERY_NO_GOOD_INDEX_USED 16
56#define SERVER_QUERY_NO_INDEX_USED 32
62#define SERVER_STATUS_CURSOR_EXISTS 64
67#define SERVER_STATUS_LAST_ROW_SENT 128
68#define SERVER_STATUS_DB_DROPPED 256
69#define SERVER_STATUS_NO_BACKSLASH_ESCAPES 512
70#define SERVER_QUERY_WAS_SLOW 2048
71#define SERVER_PS_OUT_PARAMS 4096
73#define MYSQLND_NO_DATA 100
74#define MYSQLND_DATA_TRUNCATED 101
76#define SHA1_MAX_LENGTH 20
77#define SCRAMBLE_LENGTH 20
78#define SCRAMBLE_LENGTH_323 8
80#define CLIENT_LONG_PASSWORD 1
81#define CLIENT_FOUND_ROWS 2
82#define CLIENT_LONG_FLAG 4
83#define CLIENT_CONNECT_WITH_DB 8
84#define CLIENT_NO_SCHEMA 16
85#define CLIENT_COMPRESS 32
87#define CLIENT_LOCAL_FILES 128
88#define CLIENT_IGNORE_SPACE 256
89#define CLIENT_PROTOCOL_41 512
90#define CLIENT_INTERACTIVE 1024
91#define CLIENT_SSL 2048
92#define CLIENT_IGNORE_SIGPIPE 4096
93#define CLIENT_TRANSACTIONS 8192
94#define CLIENT_RESERVED 16384
95#define CLIENT_SECURE_CONNECTION 32768
96#define CLIENT_MULTI_STATEMENTS (1UL << 16)
97#define CLIENT_MULTI_RESULTS (1UL << 17)
98#define CLIENT_PS_MULTI_RESULTS (1UL << 18)
99#define CLIENT_PLUGIN_AUTH (1UL << 19)
100#define CLIENT_CONNECT_ATTRS (1UL << 20)
101#define CLIENT_PLUGIN_AUTH_LENENC_CLIENT_DATA (1UL << 21)
102#define CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS (1UL << 22)
103#define CLIENT_SESSION_TRACK (1UL << 23)
107#define CLIENT_SSL_DONT_VERIFY_SERVER_CERT CLIENT_ODBC
108#define CLIENT_SSL_VERIFY_SERVER_CERT (1UL << 30)
109#define CLIENT_REMEMBER_OPTIONS (1UL << 31)
111#define MYSQLND_CAPABILITIES (CLIENT_LONG_PASSWORD | CLIENT_LONG_FLAG | CLIENT_TRANSACTIONS | \
112 CLIENT_PROTOCOL_41 | CLIENT_SECURE_CONNECTION | \
113 CLIENT_MULTI_RESULTS | CLIENT_LOCAL_FILES | CLIENT_PLUGIN_AUTH)
115#define MYSQLND_PROTOCOL_FLAG_USE_COMPRESSION 1
119#define CR_UNKNOWN_ERROR 2000
120#define CR_CONNECTION_ERROR 2002
121#define CR_SERVER_GONE_ERROR 2006
122#define CR_OUT_OF_MEMORY 2008
123#define CR_SERVER_LOST 2013
124#define CR_COMMANDS_OUT_OF_SYNC 2014
125#define CR_CANT_FIND_CHARSET 2019
126#define CR_MALFORMED_PACKET 2027
127#define CR_NOT_IMPLEMENTED 2054
128#define CR_NO_PREPARE_STMT 2030
129#define CR_PARAMS_NOT_BOUND 2031
130#define CR_INVALID_PARAMETER_NO 2034
131#define CR_INVALID_BUFFER_USE 2035
132#define CR_LOAD_DATA_LOCAL_INFILE_REJECTED 2068
133#define CR_CLIENT_INTERACTION_TIMEOUT 4031
135#define MYSQLND_EE_FILENOTFOUND 7890
137#define UNKNOWN_SQLSTATE "HY000"
139#define MAX_CHARSET_LEN 32
142#define TRANS_START_NO_OPT 0
143#define TRANS_START_WITH_CONSISTENT_SNAPSHOT 1
144#define TRANS_START_READ_WRITE 2
145#define TRANS_START_READ_ONLY 4
147#define TRANS_COR_NO_OPT 0
148#define TRANS_COR_AND_CHAIN 1
149#define TRANS_COR_AND_NO_CHAIN 2
150#define TRANS_COR_RELEASE 4
151#define TRANS_COR_NO_RELEASE 8
299#define MYSQL_TYPE_LAST MYSQL_TYPE_GEOMETRY
309#define FIELD_TYPE_DECIMAL MYSQL_TYPE_DECIMAL
310#define FIELD_TYPE_NEWDECIMAL MYSQL_TYPE_NEWDECIMAL
311#define FIELD_TYPE_TINY MYSQL_TYPE_TINY
312#define FIELD_TYPE_SHORT MYSQL_TYPE_SHORT
313#define FIELD_TYPE_LONG MYSQL_TYPE_LONG
314#define FIELD_TYPE_FLOAT MYSQL_TYPE_FLOAT
315#define FIELD_TYPE_DOUBLE MYSQL_TYPE_DOUBLE
316#define FIELD_TYPE_NULL MYSQL_TYPE_NULL
317#define FIELD_TYPE_TIMESTAMP MYSQL_TYPE_TIMESTAMP
318#define FIELD_TYPE_LONGLONG MYSQL_TYPE_LONGLONG
319#define FIELD_TYPE_INT24 MYSQL_TYPE_INT24
320#define FIELD_TYPE_DATE MYSQL_TYPE_DATE
321#define FIELD_TYPE_TIME MYSQL_TYPE_TIME
322#define FIELD_TYPE_DATETIME MYSQL_TYPE_DATETIME
323#define FIELD_TYPE_YEAR MYSQL_TYPE_YEAR
324#define FIELD_TYPE_NEWDATE MYSQL_TYPE_NEWDATE
325#define FIELD_TYPE_ENUM MYSQL_TYPE_ENUM
326#define FIELD_TYPE_SET MYSQL_TYPE_SET
327#define FIELD_TYPE_VECTOR MYSQL_TYPE_VECTOR
328#define FIELD_TYPE_JSON MYSQL_TYPE_JSON
329#define FIELD_TYPE_TINY_BLOB MYSQL_TYPE_TINY_BLOB
330#define FIELD_TYPE_MEDIUM_BLOB MYSQL_TYPE_MEDIUM_BLOB
331#define FIELD_TYPE_LONG_BLOB MYSQL_TYPE_LONG_BLOB
332#define FIELD_TYPE_BLOB MYSQL_TYPE_BLOB
333#define FIELD_TYPE_VAR_STRING MYSQL_TYPE_VAR_STRING
334#define FIELD_TYPE_STRING MYSQL_TYPE_STRING
335#define FIELD_TYPE_CHAR MYSQL_TYPE_TINY
336#define FIELD_TYPE_GEOMETRY MYSQL_TYPE_GEOMETRY
337#define FIELD_TYPE_BIT MYSQL_TYPE_BIT
339#define NOT_NULL_FLAG 1
340#define PRI_KEY_FLAG 2
341#define UNIQUE_KEY_FLAG 4
342#define MULTIPLE_KEY_FLAG 8
344#define UNSIGNED_FLAG 32
345#define ZEROFILL_FLAG 64
346#define BINARY_FLAG 128
348#define AUTO_INCREMENT_FLAG 512
349#define TIMESTAMP_FLAG 1024
351#define NO_DEFAULT_VALUE_FLAG 4096
352#define ON_UPDATE_NOW_FLAG 8192
353#define PART_KEY_FLAG 16384
354#define GROUP_FLAG 32768
355#define NUM_FLAG 32768
357#define IS_PRI_KEY(n) ((n) & PRI_KEY_FLAG)
358#define IS_NOT_NULL(n) ((n) & NOT_NULL_FLAG)
359#define IS_BLOB(n) ((n) & BLOB_FLAG)
360#define IS_NUM(t) ((t) <= FIELD_TYPE_INT24 || (t) == FIELD_TYPE_YEAR || (t) == FIELD_TYPE_NEWDECIMAL)
661#define MYSQLND_DEFAULT_PREFETCH_ROWS (zend_ulong) 1
663#define MYSQLND_REFRESH_GRANT 1
664#define MYSQLND_REFRESH_LOG 2
665#define MYSQLND_REFRESH_TABLES 4
666#define MYSQLND_REFRESH_HOSTS 8
667#define MYSQLND_REFRESH_STATUS 16
668#define MYSQLND_REFRESH_THREADS 32
669#define MYSQLND_REFRESH_REPLICA 64
670#define MYSQLND_REFRESH_SLAVE MYSQLND_REFRESH_REPLICA
671#define MYSQLND_REFRESH_MASTER 128
672#define MYSQLND_REFRESH_BACKUP_LOG 0x200000L
675#define MYSQLND_CLIENT_NO_FLAG 0
@ CONN_NEXT_RESULT_PENDING
enum mysqlnd_send_execute_type enum_mysqlnd_send_execute_type
mysqlnd_session_protocol_type
enum mysqlnd_res_type enum_mysqlnd_res_type
@ MYSQL_OPT_CONNECT_TIMEOUT
@ MYSQL_OPT_LOAD_DATA_LOCAL_DIR
@ MYSQL_OPT_GUESS_CONNECTION
@ MYSQLND_OPT_AUTH_PROTOCOL
@ MYSQL_OPT_CONNECT_ATTR_DELETE
@ MYSQLND_OPT_NET_CMD_BUFFER_SIZE
@ MYSQL_OPT_USE_REMOTE_CONNECTION
@ MYSQLND_OPT_SSL_PASSPHRASE
@ MYSQL_OPT_NET_BUFFER_LENGTH
@ MYSQL_OPT_MAX_ALLOWED_PACKET
@ MYSQLND_OPT_INT_AND_FLOAT_NATIVE
@ MYSQL_SHARED_MEMORY_BASE_NAME
@ MYSQL_SERVER_PUBLIC_KEY
@ MYSQLND_DEPRECATED_ENUM1
@ MYSQL_OPT_WRITE_TIMEOUT
@ MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS
@ MYSQL_OPT_CONNECT_ATTR_ADD
@ MYSQLND_OPT_MAX_ALLOWED_PACKET
@ MYSQL_READ_DEFAULT_GROUP
@ MYSQL_OPT_SSL_VERIFY_SERVER_CERT
@ MYSQL_OPT_CONNECT_ATTR_RESET
@ MYSQL_OPT_USE_EMBEDDED_CONNECTION
@ MYSQL_READ_DEFAULT_FILE
@ MYSQL_REPORT_DATA_TRUNCATION
@ MYSQL_ENABLE_CLEARTEXT_PLUGIN
@ MYSQLND_OPT_NET_READ_BUFFER_SIZE
enum mysqlnd_client_option enum_mysqlnd_client_option
enum param_bind_flags enum_param_bind_flags
@ STAT_TEXT_TYPE_FETCHED_DATETIME
@ STAT_ROWS_FETCHED_FROM_CLIENT_NORMAL_BUF
@ STAT_PACKETS_RECEIVED_CHANGE_USER
@ STAT_FREE_RESULT_EXPLICIT
@ STAT_BYTES_RECEIVED_PURE_DATA_TEXT
@ STAT_COPY_ON_WRITE_SAVED
@ STAT_PACKETS_RECEIVED_PREPARE_RESPONSE
@ STAT_FLUSHED_NORMAL_SETS
@ STAT_BINARY_TYPE_FETCHED_DOUBLE
@ STAT_TEXT_TYPE_FETCHED_INT64
@ STAT_CMD_BUFFER_TOO_SMALL
@ STAT_PS_PREPARED_NEVER_EXECUTED
@ STAT_TEXT_TYPE_FETCHED_JSON
@ STAT_BINARY_TYPE_FETCHED_FLOAT
@ STAT_ROWS_BUFFERED_FROM_CLIENT_NORMAL
@ STAT_TEXT_TYPE_FETCHED_INT24
@ STAT_ROWS_BUFFERED_FROM_CLIENT_PS
@ STAT_TEXT_TYPE_FETCHED_DATE
@ STAT_STMT_CLOSE_EXPLICIT
@ STAT_FREE_RESULT_IMPLICIT
@ STAT_PACKETS_RECEIVED_RSET_ROW
@ STAT_BINARY_TYPE_FETCHED_OTHER
@ STAT_TEXT_TYPE_FETCHED_TIMESTAMP
@ STAT_BINARY_TYPE_FETCHED_INT16
@ STAT_MEM_EREALLOC_COUNT
@ STAT_BINARY_TYPE_FETCHED_SET
@ STAT_TEXT_TYPE_FETCHED_STRING
@ STAT_PROTOCOL_OVERHEAD_OUT
@ STAT_BYTES_RECEIVED_CHANGE_USER
@ STAT_MEM_EMALLOC_AMOUNT
@ STAT_MEM_ECALLOC_AMOUNT
@ STAT_PACKETS_RECEIVED_RSET_HEADER
@ STAT_INIT_COMMAND_FAILED_COUNT
@ STAT_ROWS_FETCHED_FROM_CLIENT_PS_UNBUF
@ STAT_BINARY_TYPE_FETCHED_TIMESTAMP
@ STAT_OPENED_CONNECTIONS
@ STAT_TEXT_TYPE_FETCHED_DOUBLE
@ STAT_TEXT_TYPE_FETCHED_NULL
@ STAT_BINARY_TYPE_FETCHED_INT64
@ STAT_PACKETS_RECEIVED_EOF
@ STAT_BINARY_TYPE_FETCHED_YEAR
@ STAT_TEXT_TYPE_FETCHED_FLOAT
@ STAT_BINARY_TYPE_FETCHED_DECIMAL
@ STAT_ROWS_FETCHED_FROM_CLIENT_NORMAL_UNBUF
@ STAT_BINARY_TYPE_FETCHED_DATETIME
@ STAT_COM_STMT_SEND_LONG_DATA
@ STAT_TEXT_TYPE_FETCHED_GEOMETRY
@ STAT_TEXT_TYPE_FETCHED_YEAR
@ STAT_BYTES_RECEIVED_PREPARE_RESPONSE
@ STAT_PACKETS_RECEIVED_OK
@ STAT_INIT_COMMAND_EXECUTED_COUNT
@ STAT_ROWS_AFFECTED_NORMAL
@ STAT_TEXT_TYPE_FETCHED_DECIMAL
@ STAT_TEXT_TYPE_FETCHED_BIT
@ STAT_TEXT_TYPE_FETCHED_TIME
@ STAT_TEXT_TYPE_FETCHED_INT8
@ STAT_TEXT_TYPE_FETCHED_INT16
@ STAT_BINARY_TYPE_FETCHED_DATE
@ STAT_BYTES_RECEIVED_RSET_HEADER
@ STAT_COM_DELAYED_INSERT
@ STAT_BINARY_TYPE_FETCHED_BLOB
@ STAT_ROWS_FETCHED_FROM_SERVER_PS
@ STAT_ROWS_SKIPPED_NORMAL
@ STAT_PS_PREPARED_ONCE_USED
@ STAT_PROTOCOL_OVERHEAD_IN
@ STAT_BINARY_TYPE_FETCHED_BIT
@ STAT_BINARY_TYPE_FETCHED_TIME
@ STAT_BYTES_RECEIVED_PURE_DATA_PS
@ STAT_STMT_CLOSE_IMPLICIT
@ STAT_BINARY_TYPE_FETCHED_GEOMETRY
@ STAT_PACKETS_RECEIVED_RSET_FIELD_META
@ STAT_TEXT_TYPE_FETCHED_INT32
@ STAT_TEXT_TYPE_FETCHED_ENUM
@ STAT_TEXT_TYPE_FETCHED_OTHER
@ STAT_BYTES_RECEIVED_RSET_FIELD_META
@ STAT_PS_UNBUFFERED_SETS
@ STAT_TEXT_TYPE_FETCHED_BLOB
@ STAT_ROWS_FETCHED_FROM_CLIENT_PS_BUF
@ STAT_MEM_EREALLOC_AMOUNT
@ STAT_MEM_ESTRNDUP_COUNT
@ STAT_BINARY_TYPE_FETCHED_NULL
@ STAT_COM_REGISTER_SLAVE
@ STAT_BINARY_TYPE_FETCHED_INT8
@ STAT_BINARY_TYPE_FETCHED_ENUM
@ STAT_BYTES_RECEIVED_RSET_ROW
@ STAT_COPY_ON_WRITE_PERFORMED
@ STAT_BINARY_TYPE_FETCHED_INT32
@ STAT_BYTES_RECEIVED_EOF
@ STAT_MEM_REALLOC_AMOUNT
@ STAT_BINARY_TYPE_FETCHED_STRING
@ STAT_ROWS_FETCHED_FROM_CLIENT_PS_CURSOR
@ STAT_ROWS_FETCHED_FROM_SERVER_NORMAL
@ STAT_OPENED_PERSISTENT_CONNECTIONS
@ STAT_BINARY_TYPE_FETCHED_INT24
@ STAT_TEXT_TYPE_FETCHED_SET
mysqlnd_parse_exec_response_type
@ MYSQLND_PARSE_EXEC_RESPONSE_IMPLICIT
@ MYSQLND_PARSE_EXEC_RESPONSE_IMPLICIT_OUT_VARIABLES
@ MYSQLND_PARSE_EXEC_RESPONSE_IMPLICIT_NEXT_RESULT
@ MYSQLND_PARSE_EXEC_RESPONSE_EXPLICIT
enum mysqlnd_stmt_state enum_mysqlnd_stmt_state
enum mysqlnd_collected_stats enum_mysqlnd_collected_stats
@ PROT_CHANGE_AUTH_RESP_PACKET
@ PROT_SHA256_PK_REQUEST_RESPONSE_PACKET
@ PROT_CACHED_SHA2_RESULT_PACKET
@ PROT_PREPARE_RESP_PACKET
@ PROT_CHG_USER_RESP_PACKET
@ PROT_SHA256_PK_REQUEST_PACKET
@ PROT_RSET_HEADER_PACKET
@ MYSQL_OPTION_MULTI_STATEMENTS_OFF
@ MYSQL_OPTION_MULTI_STATEMENTS_ON
mysqlnd_connection_close_type
@ MYSQLND_CLOSE_DISCONNECTED
enum mysqlnd_connection_close_type enum_connection_close_type
@ MYSQLND_STMT_WAITING_USE_OR_STORE
@ MYSQLND_STMT_USER_FETCHING
@ MYSQLND_STMT_USE_OR_STORE_CALLED
@ STMT_ATTR_UPDATE_MAX_LENGTH
enum mysqlnd_server_option enum_mysqlnd_server_option
php_mysqlnd_server_command
@ COM_STMT_SEND_LONG_DATA
enum mysqlnd_connection_state enum_mysqlnd_connection_state
enum mysqlnd_parse_exec_response_type enum_mysqlnd_parse_exec_response_type
enum mysqlnd_session_protocol_type enum_mysqlnd_session_protocol_type
enum mysqlnd_field_types enum_mysqlnd_field_types
@ MYSQLND_PARAM_BIND_BLOB_USED
enum func_status enum_func_status
mysqlnd_send_execute_type
@ MYSQLND_SEND_EXECUTE_EXPLICIT
@ MYSQLND_SEND_EXECUTE_IMPLICIT
enum mysqlnd_query_type enum_mysqlnd_query_type