📄 mysql.h
字号:
struct st_mysql* last_used_slave; /* needed for round-robin slave pick */ /* needed for send/read/store/use result to work correctly with replication */ struct st_mysql* last_used_con; LIST *stmts; /* list of all statements */ const struct st_mysql_methods *methods; void *thd; /* Points to boolean flag in MYSQL_RES or MYSQL_STMT. We set this flag from mysql_stmt_close if close had to cancel result set of this object. */ my_bool *unbuffered_fetch_owner;#if defined(EMBEDDED_LIBRARY) || defined(EMBEDDED_LIBRARY_COMPATIBLE) || MYSQL_VERSION_ID >= 50100 /* needed for embedded server - no net buffer to store the 'info' */ char *info_buffer;#endif} MYSQL;typedef struct st_mysql_res { my_ulonglong row_count; MYSQL_FIELD *fields; MYSQL_DATA *data; MYSQL_ROWS *data_cursor; unsigned long *lengths; /* column lengths of current row */ MYSQL *handle; /* for unbuffered reads */ MEM_ROOT field_alloc; unsigned int field_count, current_field; MYSQL_ROW row; /* If unbuffered read */ MYSQL_ROW current_row; /* buffer to current row */ my_bool eof; /* Used by mysql_fetch_row */ /* mysql_stmt_close() had to cancel this result */ my_bool unbuffered_fetch_cancelled; const struct st_mysql_methods *methods;} MYSQL_RES;#define MAX_MYSQL_MANAGER_ERR 256 #define MAX_MYSQL_MANAGER_MSG 256#define MANAGER_OK 200#define MANAGER_INFO 250#define MANAGER_ACCESS 401#define MANAGER_CLIENT_ERR 450#define MANAGER_INTERNAL_ERR 500#if !defined(MYSQL_SERVER) && !defined(MYSQL_CLIENT)#define MYSQL_CLIENT#endiftypedef struct st_mysql_manager{ NET net; char *host,*user,*passwd; unsigned int port; my_bool free_me; my_bool eof; int cmd_status; int last_errno; char* net_buf,*net_buf_pos,*net_data_end; int net_buf_size; char last_error[MAX_MYSQL_MANAGER_ERR];} MYSQL_MANAGER;typedef struct st_mysql_parameters{ unsigned long *p_max_allowed_packet; unsigned long *p_net_buffer_length;} MYSQL_PARAMETERS;#if !defined(MYSQL_SERVER) && !defined(EMBEDDED_LIBRARY)#define max_allowed_packet (*mysql_get_parameters()->p_max_allowed_packet)#define net_buffer_length (*mysql_get_parameters()->p_net_buffer_length)#endif/* Set up and bring down the server; to ensure that applications will work when linked against either the standard client library or the embedded server library, these functions should be called.*/int STDCALL mysql_server_init(int argc, char **argv, char **groups);void STDCALL mysql_server_end(void);/* mysql_server_init/end need to be called when using libmysqld or libmysqlclient (exactly, mysql_server_init() is called by mysql_init() so you don't need to call it explicitely; but you need to call mysql_server_end() to free memory). The names are a bit misleading (mysql_SERVER* to be used when using libmysqlCLIENT). So we add more general names which suit well whether you're using libmysqld or libmysqlclient. We intend to promote these aliases over the mysql_server* ones.*/#define mysql_library_init mysql_server_init#define mysql_library_end mysql_server_endMYSQL_PARAMETERS *STDCALL mysql_get_parameters(void);/* Set up and bring down a thread; these function should be called for each thread in an application which opens at least one MySQL connection. All uses of the connection(s) should be between these function calls.*/my_bool STDCALL mysql_thread_init(void);void STDCALL mysql_thread_end(void);/* Functions to get information from the MYSQL and MYSQL_RES structures Should definitely be used if one uses shared libraries.*/my_ulonglong STDCALL mysql_num_rows(MYSQL_RES *res);unsigned int STDCALL mysql_num_fields(MYSQL_RES *res);my_bool STDCALL mysql_eof(MYSQL_RES *res);MYSQL_FIELD *STDCALL mysql_fetch_field_direct(MYSQL_RES *res, unsigned int fieldnr);MYSQL_FIELD * STDCALL mysql_fetch_fields(MYSQL_RES *res);MYSQL_ROW_OFFSET STDCALL mysql_row_tell(MYSQL_RES *res);MYSQL_FIELD_OFFSET STDCALL mysql_field_tell(MYSQL_RES *res);unsigned int STDCALL mysql_field_count(MYSQL *mysql);my_ulonglong STDCALL mysql_affected_rows(MYSQL *mysql);my_ulonglong STDCALL mysql_insert_id(MYSQL *mysql);unsigned int STDCALL mysql_errno(MYSQL *mysql);const char * STDCALL mysql_error(MYSQL *mysql);const char *STDCALL mysql_sqlstate(MYSQL *mysql);unsigned int STDCALL mysql_warning_count(MYSQL *mysql);const char * STDCALL mysql_info(MYSQL *mysql);unsigned long STDCALL mysql_thread_id(MYSQL *mysql);const char * STDCALL mysql_character_set_name(MYSQL *mysql);int STDCALL mysql_set_character_set(MYSQL *mysql, const char *csname);MYSQL * STDCALL mysql_init(MYSQL *mysql);my_bool STDCALL mysql_ssl_set(MYSQL *mysql, const char *key, const char *cert, const char *ca, const char *capath, const char *cipher);const char * STDCALL mysql_get_ssl_cipher(MYSQL *mysql);my_bool STDCALL mysql_change_user(MYSQL *mysql, const char *user, const char *passwd, const char *db);MYSQL * STDCALL mysql_real_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd, const char *db, unsigned int port, const char *unix_socket, unsigned long clientflag);int STDCALL mysql_select_db(MYSQL *mysql, const char *db);int STDCALL mysql_query(MYSQL *mysql, const char *q);int STDCALL mysql_send_query(MYSQL *mysql, const char *q, unsigned long length);int STDCALL mysql_real_query(MYSQL *mysql, const char *q, unsigned long length);MYSQL_RES * STDCALL mysql_store_result(MYSQL *mysql);MYSQL_RES * STDCALL mysql_use_result(MYSQL *mysql);/* perform query on master */my_bool STDCALL mysql_master_query(MYSQL *mysql, const char *q, unsigned long length);my_bool STDCALL mysql_master_send_query(MYSQL *mysql, const char *q, unsigned long length);/* perform query on slave */ my_bool STDCALL mysql_slave_query(MYSQL *mysql, const char *q, unsigned long length);my_bool STDCALL mysql_slave_send_query(MYSQL *mysql, const char *q, unsigned long length);void STDCALL mysql_get_character_set_info(MYSQL *mysql, MY_CHARSET_INFO *charset);/* local infile support */#define LOCAL_INFILE_ERROR_LEN 512voidmysql_set_local_infile_handler(MYSQL *mysql, int (*local_infile_init)(void **, const char *, void *), int (*local_infile_read)(void *, char *, unsigned int), void (*local_infile_end)(void *), int (*local_infile_error)(void *, char*, unsigned int), void *);voidmysql_set_local_infile_default(MYSQL *mysql);/* enable/disable parsing of all queries to decide if they go on master or slave*/void STDCALL mysql_enable_rpl_parse(MYSQL* mysql);void STDCALL mysql_disable_rpl_parse(MYSQL* mysql);/* get the value of the parse flag */ int STDCALL mysql_rpl_parse_enabled(MYSQL* mysql);/* enable/disable reads from master */void STDCALL mysql_enable_reads_from_master(MYSQL* mysql);void STDCALL mysql_disable_reads_from_master(MYSQL* mysql);/* get the value of the master read flag */ my_bool STDCALL mysql_reads_from_master_enabled(MYSQL* mysql);enum mysql_rpl_type STDCALL mysql_rpl_query_type(const char* q, int len); /* discover the master and its slaves */ my_bool STDCALL mysql_rpl_probe(MYSQL* mysql);/* set the master, close/free the old one, if it is not a pivot */int STDCALL mysql_set_master(MYSQL* mysql, const char* host, unsigned int port, const char* user, const char* passwd);int STDCALL mysql_add_slave(MYSQL* mysql, const char* host, unsigned int port, const char* user, const char* passwd);int STDCALL mysql_shutdown(MYSQL *mysql, enum mysql_enum_shutdown_level shutdown_level);int STDCALL mysql_dump_debug_info(MYSQL *mysql);int STDCALL mysql_refresh(MYSQL *mysql, unsigned int refresh_options);int STDCALL mysql_kill(MYSQL *mysql,unsigned long pid);int STDCALL mysql_set_server_option(MYSQL *mysql, enum enum_mysql_set_option option);int STDCALL mysql_ping(MYSQL *mysql);const char * STDCALL mysql_stat(MYSQL *mysql);const char * STDCALL mysql_get_server_info(MYSQL *mysql);const char * STDCALL mysql_get_client_info(void);unsigned long STDCALL mysql_get_client_version(void);const char * STDCALL mysql_get_host_info(MYSQL *mysql);unsigned long STDCALL mysql_get_server_version(MYSQL *mysql);unsigned int STDCALL mysql_get_proto_info(MYSQL *mysql);MYSQL_RES * STDCALL mysql_list_dbs(MYSQL *mysql,const char *wild);MYSQL_RES * STDCALL mysql_list_tables(MYSQL *mysql,const char *wild);MYSQL_RES * STDCALL mysql_list_processes(MYSQL *mysql);int STDCALL mysql_options(MYSQL *mysql,enum mysql_option option, const char *arg);void STDCALL mysql_free_result(MYSQL_RES *result);void STDCALL mysql_data_seek(MYSQL_RES *result, my_ulonglong offset);MYSQL_ROW_OFFSET STDCALL mysql_row_seek(MYSQL_RES *result, MYSQL_ROW_OFFSET offset);MYSQL_FIELD_OFFSET STDCALL mysql_field_seek(MYSQL_RES *result, MYSQL_FIELD_OFFSET offset);MYSQL_ROW STDCALL mysql_fetch_row(MYSQL_RES *result);unsigned long * STDCALL mysql_fetch_lengths(MYSQL_RES *result);MYSQL_FIELD * STDCALL mysql_fetch_field(MYSQL_RES *result);MYSQL_RES * STDCALL mysql_list_fields(MYSQL *mysql, const char *table, const char *wild);unsigned long STDCALL mysql_escape_string(char *to,const char *from, unsigned long from_length);unsigned long STDCALL mysql_hex_string(char *to,const char *from, unsigned long from_length);unsigned long STDCALL mysql_real_escape_string(MYSQL *mysql, char *to,const char *from, unsigned long length);void STDCALL mysql_debug(const char *debug);char * STDCALL mysql_odbc_escape_string(MYSQL *mysql, char *to, unsigned long to_length, const char *from, unsigned long from_length, void *param, char * (*extend_buffer) (void *, char *to, unsigned long *length));void STDCALL myodbc_remove_escape(MYSQL *mysql,char *name);unsigned int STDCALL mysql_thread_safe(void);my_bool STDCALL mysql_embedded(void);MYSQL_MANAGER* STDCALL mysql_manager_init(MYSQL_MANAGER* con); MYSQL_MANAGER* STDCALL mysql_manager_connect(MYSQL_MANAGER* con, const char* host, const char* user, const char* passwd, unsigned int port);void STDCALL mysql_manager_close(MYSQL_MANAGER* con);int STDCALL mysql_manager_command(MYSQL_MANAGER* con, const char* cmd, int cmd_len);int STDCALL mysql_manager_fetch_line(MYSQL_MANAGER* con, char* res_buf, int res_buf_size);my_bool STDCALL mysql_read_query_result(MYSQL *mysql);/* The following definitions are added for the enhanced
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -