MySQL 8.3.0
Source Code Documentation
mysql.h
Go to the documentation of this file.
1/* Copyright (c) 2000, 2023, Oracle and/or its affiliates.
2
3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License, version 2.0,
5 as published by the Free Software Foundation.
6
7 This program is also distributed with certain software (including
8 but not limited to OpenSSL) that is licensed under separate terms,
9 as designated in a particular file or component or in included license
10 documentation. The authors of MySQL hereby grant you an additional
11 permission to link the program and your derivative works with the
12 separately licensed software that they have included with MySQL.
13
14 Without limiting anything contained in the foregoing, this file,
15 which is part of C Driver for MySQL (Connector/C), is also subject to the
16 Universal FOSS Exception, version 1.0, a copy of which can be found at
17 http://oss.oracle.com/licenses/universal-foss-exception.
18
19 This program is distributed in the hope that it will be useful,
20 but WITHOUT ANY WARRANTY; without even the implied warranty of
21 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 GNU General Public License, version 2.0, for more details.
23
24 You should have received a copy of the GNU General Public License
25 along with this program; if not, write to the Free Software
26 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
27
28/**
29 @file include/mysql.h
30 This file defines the client API to MySQL and also the ABI of the
31 dynamically linked libmysqlclient.
32
33 The ABI should never be changed in a released product of MySQL,
34 thus you need to take great care when changing the file. In case
35 the file is changed so the ABI is broken, you must also update
36 the SHARED_LIB_MAJOR_VERSION in cmake/mysql_version.cmake
37*/
38
39#ifndef _mysql_h
40#define _mysql_h
41
42#ifndef MYSQL_ABI_CHECK
43#include <stdbool.h>
44#include <stddef.h>
45#include <stdint.h>
46#include <sys/types.h>
47#endif
48
49// Legacy definition for the benefit of old code. Use uint64_t in new code.
50// If you get warnings from printf, use the PRIu64 macro, or, if you need
51// compatibility with older versions of the client library, cast
52// before printing.
53typedef uint64_t my_ulonglong;
54
55#ifndef my_socket_defined
56#define my_socket_defined
57#if defined(_WIN32) && !defined(MYSQL_ABI_CHECK)
58#include <windows.h>
59#ifdef WIN32_LEAN_AND_MEAN
60#include <winsock2.h>
61#endif
62#define my_socket SOCKET
63#else
64typedef int my_socket;
65#endif /* _WIN32 && ! MYSQL_ABI_CHECK */
66#endif /* my_socket_defined */
67
68// Small extra definition to avoid pulling in my_compiler.h in client code.
69// IWYU pragma: no_include "my_compiler.h"
70#ifndef MY_COMPILER_INCLUDED
71#if !defined(_WIN32) || defined(MYSQL_ABI_CHECK)
72#define STDCALL
73#else
74#define STDCALL __stdcall
75#endif
76#endif /* MY_COMPILER_INCLUDED */
77
78#include "field_types.h"
79#include "my_list.h"
80#include "mysql_com.h"
81
82/* Include declarations of plug-in API */
83#include "mysql/client_plugin.h" // IWYU pragma: keep
84
85/*
86 The client should be able to know which version it is compiled against,
87 even if mysql.h doesn't use this information directly.
88*/
89#include "mysql_version.h" // IWYU pragma: keep
90
91// MYSQL_TIME is part of our public API.
92#include "mysql_time.h" // IWYU pragma: keep
93
94// The error messages are part of our public API.
95#include "errmsg.h" // IWYU pragma: keep
96
97#ifdef __cplusplus
98extern "C" {
99#endif
100
101extern unsigned int mysql_port;
102extern char *mysql_unix_port;
103
104#define CLIENT_NET_RETRY_COUNT 1 /* Retry count */
105#define CLIENT_NET_READ_TIMEOUT 365 * 24 * 3600 /* Timeout on read */
106#define CLIENT_NET_WRITE_TIMEOUT 365 * 24 * 3600 /* Timeout on write */
107
108#define IS_PRI_KEY(n) ((n)&PRI_KEY_FLAG)
109#define IS_NOT_NULL(n) ((n)&NOT_NULL_FLAG)
110#define IS_BLOB(n) ((n)&BLOB_FLAG)
111/**
112 Returns true if the value is a number which does not need quotes for
113 the sql_lex.cc parser to parse correctly.
114*/
115#define IS_NUM(t) \
116 (((t) <= MYSQL_TYPE_INT24 && (t) != MYSQL_TYPE_TIMESTAMP) || \
117 (t) == MYSQL_TYPE_YEAR || (t) == MYSQL_TYPE_NEWDECIMAL)
118#define IS_LONGDATA(t) ((t) >= MYSQL_TYPE_TINY_BLOB && (t) <= MYSQL_TYPE_STRING)
119
120typedef struct MYSQL_FIELD {
121 char *name; /* Name of column */
122 char *org_name; /* Original column name, if an alias */
123 char *table; /* Table of column if column was a field */
124 char *org_table; /* Org table name, if table was an alias */
125 char *db; /* Database for table */
126 char *catalog; /* Catalog for table */
127 unsigned long length; /* Width of column (create length) */
128 unsigned long max_length; /* Max width for selected set */
129 unsigned int name_length;
130 unsigned int org_name_length;
131 unsigned int table_length;
132 unsigned int org_table_length;
133 unsigned int db_length;
134 unsigned int catalog_length;
135 unsigned int flags; /* Div flags */
136 unsigned int decimals; /* Number of decimals in field */
137 unsigned int charsetnr; /* Character set */
138 enum enum_field_types type; /* Type of field. See mysql_com.h for types */
141
142typedef char **MYSQL_ROW; /* return data as array of strings */
143typedef unsigned int MYSQL_FIELD_OFFSET; /* offset to current field */
144
145#define MYSQL_COUNT_ERROR (~(uint64_t)0)
146
147/* backward compatibility define - to be removed eventually */
148#define ER_WARN_DATA_TRUNCATED WARN_DATA_TRUNCATED
149
150typedef struct MYSQL_ROWS {
151 struct MYSQL_ROWS *next; /* list of rows */
153 unsigned long length;
155
156typedef MYSQL_ROWS *MYSQL_ROW_OFFSET; /* offset to current row */
157
158struct MEM_ROOT;
159
160typedef struct MYSQL_DATA {
163 uint64_t rows;
164 unsigned int fields;
166
216
217/**
218 @todo remove the "extension", move st_mysql_options completely
219 out of mysql.h
220*/
222
225 unsigned int port, protocol;
226 unsigned long client_flag;
230 char *ssl_key; /* PEM key file */
231 char *ssl_cert; /* PEM cert file */
232 char *ssl_ca; /* PEM CA file */
233 char *ssl_capath; /* PEM directory of CA-s? */
234 char *ssl_cipher; /* cipher to use */
236 unsigned long max_allowed_packet;
238 /**
239 The local address to bind when connecting to remote server.
240 */
242 /* 0 - never report, 1 - always report (default) */
244
245 /* function pointers for local infile support */
246 int (*local_infile_init)(void **, const char *, void *);
247 int (*local_infile_read)(void *, char *, unsigned int);
248 void (*local_infile_end)(void *);
249 int (*local_infile_error)(void *, char *, unsigned int);
252};
253
260
268
276
282
283typedef struct character_set {
284 unsigned int number; /* character set number */
285 unsigned int state; /* character set state */
286 const char *csname; /* character set name */
287 const char *name; /* collation name */
288 const char *comment; /* comment */
289 const char *dir; /* character set directory */
290 unsigned int mbminlen; /* min. length for multibyte strings */
291 unsigned int mbmaxlen; /* max. length for multibyte strings */
293
294struct MYSQL_METHODS;
295struct MYSQL_STMT;
296
297typedef struct MYSQL {
298 NET net; /* Communication parameters */
299 unsigned char *connector_fd; /* ConnectorFd for SSL */
301 char *info, *db;
306 uint64_t insert_id; /* id if insert on table with NEXTNR */
307 uint64_t extra_info; /* Not used */
308 unsigned long thread_id; /* Id for connection in server */
309 unsigned long packet_length;
310 unsigned int port;
312 unsigned int protocol_version;
313 unsigned int field_count;
314 unsigned int server_status;
315 unsigned int server_language;
316 unsigned int warning_count;
320 bool free_me; /* If free in mysql_close */
321 bool reconnect; /* set to 1 if automatic reconnect */
322
323 /* session-wide random string */
325
326 LIST *stmts; /* list of all statements */
327 const struct MYSQL_METHODS *methods;
328 void *thd;
329 /*
330 Points to boolean flag in MYSQL_RES or MYSQL_STMT. We set this flag
331 from mysql_stmt_close if close had to cancel result set of this object.
332 */
336
337typedef struct MYSQL_RES {
338 uint64_t row_count;
342 unsigned long *lengths; /* column lengths of current row */
343 MYSQL *handle; /* for unbuffered reads */
344 const struct MYSQL_METHODS *methods;
345 MYSQL_ROW row; /* If unbuffered read */
346 MYSQL_ROW current_row; /* buffer to current row */
349 bool eof; /* Used by mysql_fetch_row */
350 /* mysql_stmt_close() had to cancel this result */
355
356/**
357 Flag to indicate that COM_BINLOG_DUMP_GTID should
358 be used rather than COM_BINLOG_DUMP in the @sa mysql_binlog_open().
359*/
360#define MYSQL_RPL_GTID (1 << 16)
361/**
362 Skip HEARBEAT events in the @sa mysql_binlog_fetch().
363*/
364#define MYSQL_RPL_SKIP_HEARTBEAT (1 << 17)
365
366/**
367 Flag to indicate that the heartbeat_event being generated
368 is using the class Heartbeat_event_v2
369*/
370#define USE_HEARTBEAT_EVENT_V2 (1 << 1)
371
372/**
373 Flag to indicate that tagged GTIDS will be skipped in COM_BINLOG_DUMP_GTIDS
374*/
375#define MYSQL_RPL_SKIP_TAGGED_GTIDS (1 << 2)
376
377/**
378 Tagged GTIDS are supported starting from below version of MySQL
379*/
380#define MYSQL_TAGGED_GTIDS_VERSION_SUPPORT 80300
381
382/**
383 Struct for information about a replication stream.
384
385 @sa mysql_binlog_open()
386 @sa mysql_binlog_fetch()
387 @sa mysql_binlog_close()
388*/
389typedef struct MYSQL_RPL {
390 size_t file_name_length; /** Length of the 'file_name' or 0 */
391 const char *file_name; /** Filename of the binary log to read */
392 uint64_t start_position; /** Position in the binary log to */
393 /* start reading from */
394 unsigned int server_id; /** Server ID to use when identifying */
395 /* with the master */
396 unsigned int flags; /** Flags, e.g. MYSQL_RPL_GTID */
397
398 /** Size of gtid set data */
400 /** Callback function which is called */
401 /* from @sa mysql_binlog_open() to */
402 /* fill command packet gtid set */
403 void (*fix_gtid_set)(struct MYSQL_RPL *rpl, unsigned char *packet_gtid_set);
404 void *gtid_set_arg; /** GTID set data or an argument for */
405 /* fix_gtid_set() callback function */
406
407 unsigned long size; /** Size of the packet returned by */
408 /* mysql_binlog_fetch() */
409 const unsigned char *buffer; /** Pointer to returned data */
411
412/*
413 Set up and bring down the server; to ensure that applications will
414 work when linked against either the standard client library or the
415 embedded server library, these functions should be called.
416*/
417int STDCALL mysql_server_init(int argc, char **argv, char **groups);
418void STDCALL mysql_server_end(void);
419
420/*
421 mysql_server_init/end need to be called when using libmysqld or
422 libmysqlclient (exactly, mysql_server_init() is called by mysql_init() so
423 you don't need to call it explicitly; but you need to call
424 mysql_server_end() to free memory). The names are a bit misleading
425 (mysql_SERVER* to be used when using libmysqlCLIENT). So we add more general
426 names which suit well whether you're using libmysqld or libmysqlclient. We
427 intend to promote these aliases over the mysql_server* ones.
428*/
429#define mysql_library_init mysql_server_init
430#define mysql_library_end mysql_server_end
431
432/*
433 Set up and bring down a thread; these function should be called
434 for each thread in an application which opens at least one MySQL
435 connection. All uses of the connection(s) should be between these
436 function calls.
437*/
438bool STDCALL mysql_thread_init(void);
439void STDCALL mysql_thread_end(void);
440
441/*
442 Functions to get information from the MYSQL and MYSQL_RES structures
443 Should definitely be used if one uses shared libraries.
444*/
445
446uint64_t STDCALL mysql_num_rows(MYSQL_RES *res);
447unsigned int STDCALL mysql_num_fields(MYSQL_RES *res);
448bool STDCALL mysql_eof(MYSQL_RES *res);
450 unsigned int fieldnr);
455
456unsigned int STDCALL mysql_field_count(MYSQL *mysql);
459unsigned int STDCALL mysql_errno(MYSQL *mysql);
460const char *STDCALL mysql_error(MYSQL *mysql);
461const char *STDCALL mysql_sqlstate(MYSQL *mysql);
463const char *STDCALL mysql_info(MYSQL *mysql);
464unsigned long STDCALL mysql_thread_id(MYSQL *mysql);
466int STDCALL mysql_set_character_set(MYSQL *mysql, const char *csname);
467
471void *STDCALL mysql_get_ssl_session_data(MYSQL *mysql, unsigned int n_ticket,
472 unsigned int *out_len);
474bool STDCALL mysql_change_user(MYSQL *mysql, const char *user,
475 const char *passwd, const char *db);
477 const char *user, const char *passwd,
478 const char *db, unsigned int port,
479 const char *unix_socket,
480 unsigned long clientflag);
481int STDCALL mysql_select_db(MYSQL *mysql, const char *db);
482int STDCALL mysql_query(MYSQL *mysql, const char *q);
483int STDCALL mysql_send_query(MYSQL *mysql, const char *q, unsigned long length);
484int STDCALL mysql_real_query(MYSQL *mysql, const char *q, unsigned long length);
487
489 MYSQL *mysql, const char *host, const char *user, const char *passwd,
490 const char *db, unsigned int port, const char *unix_socket,
491 unsigned long clientflag);
493 MYSQL *mysql, const char *query, unsigned long length);
495 MYSQL *mysql, const char *query, unsigned long length);
500 const char *db,
501 bool *error);
504
507 const char **data, size_t *length);
510 const char **data, size_t *length);
511/* local infile support */
512
513#define LOCAL_INFILE_ERROR_LEN 512
514
516 MYSQL *mysql, int (*local_infile_init)(void **, const char *, void *),
517 int (*local_infile_read)(void *, char *, unsigned int),
518 void (*local_infile_end)(void *),
519 int (*local_infile_error)(void *, char *, unsigned int), void *);
520
524 enum enum_mysql_set_option option);
526const char *STDCALL mysql_stat(MYSQL *mysql);
528const char *STDCALL mysql_get_client_info(void);
529unsigned long STDCALL mysql_get_client_version(void);
533MYSQL_RES *STDCALL mysql_list_dbs(MYSQL *mysql, const char *wild);
534MYSQL_RES *STDCALL mysql_list_tables(MYSQL *mysql, const char *wild);
536 const void *arg);
538 const void *arg1, const void *arg2);
540 const void *arg);
543void STDCALL mysql_data_seek(MYSQL_RES *result, uint64_t offset);
545 MYSQL_ROW_OFFSET offset);
547 MYSQL_FIELD_OFFSET offset);
550 MYSQL_ROW *row);
551
554unsigned long STDCALL mysql_escape_string(char *to, const char *from,
555 unsigned long from_length);
556unsigned long STDCALL mysql_hex_string(char *to, const char *from,
557 unsigned long from_length);
559 const char *from,
560 unsigned long length);
562 const char *from,
563 unsigned long length,
564 char quote);
565void STDCALL mysql_debug(const char *debug);
567unsigned int STDCALL mysql_thread_safe(void);
571
575
576/*
577 The following definitions are added for the enhanced
578 client-server protocol
579*/
580
581/* statement state */
588
589/*
590 This structure is used to define bind information, and
591 internally by the client library.
592 Public members with their descriptions are listed below
593 (conventionally `On input' refers to the binds given to
594 mysql_stmt_bind_param, `On output' refers to the binds given
595 to mysql_stmt_bind_result):
596
597 buffer_type - One of the MYSQL_* types, used to describe
598 the host language type of buffer.
599 On output: if column type is different from
600 buffer_type, column value is automatically converted
601 to buffer_type before it is stored in the buffer.
602 buffer - On input: points to the buffer with input data.
603 On output: points to the buffer capable to store
604 output data.
605 The type of memory pointed by buffer must correspond
606 to buffer_type. See the correspondence table in
607 the comment to mysql_stmt_bind_param.
608
609 The two above members are mandatory for any kind of bind.
610
611 buffer_length - the length of the buffer. You don't have to set
612 it for any fixed length buffer: float, double,
613 int, etc. It must be set however for variable-length
614 types, such as BLOBs or STRINGs.
615
616 length - On input: in case when lengths of input values
617 are different for each execute, you can set this to
618 point at a variable containing value length. This
619 way the value length can be different in each execute.
620 If length is not NULL, buffer_length is not used.
621 Note, length can even point at buffer_length if
622 you keep bind structures around while fetching:
623 this way you can change buffer_length before
624 each execution, everything will work ok.
625 On output: if length is set, mysql_stmt_fetch will
626 write column length into it.
627
628 is_null - On input: points to a boolean variable that should
629 be set to TRUE for NULL values.
630 This member is useful only if your data may be
631 NULL in some but not all cases.
632 If your data is never NULL, is_null should be set to 0.
633 If your data is always NULL, set buffer_type
634 to MYSQL_TYPE_NULL, and is_null will not be used.
635
636 is_unsigned - On input: used to signify that values provided for one
637 of numeric types are unsigned.
638 On output describes signedness of the output buffer.
639 If, taking into account is_unsigned flag, column data
640 is out of range of the output buffer, data for this column
641 is regarded truncated. Note that this has no correspondence
642 to the sign of result set column, if you need to find it out
643 use mysql_stmt_result_metadata.
644 error - where to write a truncation error if it is present.
645 possible error value is:
646 0 no truncation
647 1 value is out of range or buffer is too small
648
649 Please note that MYSQL_BIND also has internals members.
650*/
651
652typedef struct MYSQL_BIND {
653 unsigned long *length; /* output length pointer */
654 bool *is_null; /* Pointer to null indicator */
655 void *buffer; /* buffer to get/put data */
656 /* set this if you want to track data truncations happened during fetch */
657 bool *error;
658 unsigned char *row_ptr; /* for the current data position */
659 void (*store_param_func)(NET *net, struct MYSQL_BIND *param);
660 void (*fetch_result)(struct MYSQL_BIND *, MYSQL_FIELD *, unsigned char **row);
661 void (*skip_result)(struct MYSQL_BIND *, MYSQL_FIELD *, unsigned char **row);
662 /* output buffer length, must be set when fetching str/binary */
663 unsigned long buffer_length;
664 unsigned long offset; /* offset position for char/binary fetch */
665 unsigned long length_value; /* Used if length is 0 */
666 unsigned int param_number; /* For null count and error messages */
667 unsigned int pack_length; /* Internal length for packed data */
668 enum enum_field_types buffer_type; /* buffer type */
669 bool error_value; /* used if error is 0 */
670 bool is_unsigned; /* set if integer type is unsigned */
671 bool long_data_used; /* If used with mysql_send_long_data */
672 bool is_null_value; /* Used if is_null is 0 */
675
676struct MYSQL_STMT_EXT;
677
678/* statement handler */
679typedef struct MYSQL_STMT {
680 struct MEM_ROOT *mem_root; /* root allocations */
681 LIST list; /* list to keep track of all stmts */
682 MYSQL *mysql; /* connection handle */
683 MYSQL_BIND *params; /* input parameters */
684 MYSQL_BIND *bind; /* output parameters */
685 MYSQL_FIELD *fields; /* result set metadata */
686 MYSQL_DATA result; /* cached result set */
687 MYSQL_ROWS *data_cursor; /* current row in cached result */
688 /*
689 mysql_stmt_fetch() calls this function to fetch one row (it's different
690 for buffered, unbuffered and cursor fetch).
691 */
692 int (*read_row_func)(struct MYSQL_STMT *stmt, unsigned char **row);
693 /* copy of mysql->affected_rows after statement execution */
695 uint64_t insert_id; /* copy of mysql->insert_id */
696 unsigned long stmt_id; /* Id for prepared statement */
697 unsigned long flags; /* i.e. type of cursor to open */
698 unsigned long prefetch_rows; /* number of rows per one COM_FETCH */
699 /*
700 Copied from mysql->server_status after execute/fetch to know
701 server-side cursor status for this statement.
702 */
703 unsigned int server_status;
704 unsigned int last_errno; /* error code */
705 unsigned int param_count; /* input parameter count */
706 unsigned int field_count; /* number of columns in result set */
707 enum enum_mysql_stmt_state state; /* statement state */
708 char last_error[MYSQL_ERRMSG_SIZE]; /* error message */
710 /* Types of input parameters should be sent to server */
712 bool bind_param_done; /* input buffers were supplied */
713 unsigned char bind_result_done; /* output buffers were supplied */
714 /* mysql_stmt_close() had to cancel this result */
716 /*
717 Is set to true if we need to calculate field->max_length for
718 metadata fields when doing mysql_stmt_store_result.
719 */
723
725 /*
726 When doing mysql_stmt_store_result calculate max_length attribute
727 of statement metadata. This is to be consistent with the old API,
728 where this was done automatically.
729 In the new API we do that only by request because it slows down
730 mysql_stmt_store_result sufficiently.
731 */
733 /*
734 unsigned long with combination of cursor flags (read only, for update,
735 etc)
736 */
738 /*
739 Amount of rows to retrieve from server per one fetch if using cursors.
740 Accepts unsigned long attribute in the range 1 - ulong_max
741 */
744
746 MYSQL_BIND *binds, const char **names);
747
750 unsigned long length);
754 unsigned int column, unsigned long offset);
756unsigned long STDCALL mysql_stmt_param_count(MYSQL_STMT *stmt);
758 enum enum_stmt_attr_type attr_type,
759 const void *attr);
761 enum enum_stmt_attr_type attr_type,
762 void *attr);
763#if defined(__cplusplus) && (__cplusplus >= 201402L)
764[[deprecated("Use mysql_stmt_bind_named_param() instead.")]]
765#endif
766bool STDCALL
769 unsigned n_params, const char **names);
775 unsigned int param_number,
776 const char *data, unsigned long length);
779unsigned int STDCALL mysql_stmt_errno(MYSQL_STMT *stmt);
780const char *STDCALL mysql_stmt_error(MYSQL_STMT *stmt);
781const char *STDCALL mysql_stmt_sqlstate(MYSQL_STMT *stmt);
783 MYSQL_ROW_OFFSET offset);
785void STDCALL mysql_stmt_data_seek(MYSQL_STMT *stmt, uint64_t offset);
789unsigned int STDCALL mysql_stmt_field_count(MYSQL_STMT *stmt);
790
793bool STDCALL mysql_autocommit(MYSQL *mysql, bool auto_mode);
798
799/* Public key reset */
801
802/* status return codes */
803#define MYSQL_NO_DATA 100
804#define MYSQL_DATA_TRUNCATED 101
805
806#define HAVE_MYSQL_REAL_CONNECT
807
809 const char *dns_srv_name,
810 const char *user, const char *passwd,
811 const char *db,
812 unsigned long client_flag);
813
815
816#ifdef __cplusplus
817}
818#endif
819
820#endif /* _mysql_h */
MySQL Client Plugin API.
Error messages for MySQL clients.
This file contains the field type.
enum_field_types
Column types for MySQL Note: Keep include/mysql/components/services/bits/stored_program_bits....
Definition: field_types.h:54
static char * query
Definition: myisam_ftdump.cc:46
static char * dns_srv_name
Definition: mysql.cc:196
unsigned int STDCALL mysql_stmt_field_count(MYSQL_STMT *stmt)
Definition: libmysql.cc:2137
bool STDCALL mysql_stmt_close(MYSQL_STMT *stmt)
Definition: libmysql.cc:4215
const char *STDCALL mysql_get_client_info(void)
Definition: libmysql.cc:790
const char *STDCALL mysql_sqlstate(MYSQL *mysql)
Definition: client.cc:9450
void STDCALL mysql_data_seek(MYSQL_RES *result, uint64_t offset)
Definition: libmysql.cc:677
bool STDCALL mysql_stmt_attr_get(MYSQL_STMT *stmt, enum enum_stmt_attr_type attr_type, void *attr)
Definition: libmysql.cc:1966
MYSQL_RES *STDCALL mysql_use_result(MYSQL *mysql)
Definition: client.cc:9420
int STDCALL mysql_binlog_open(MYSQL *mysql, MYSQL_RPL *rpl)
Open a new replication stream.
Definition: client.cc:7228
unsigned int STDCALL mysql_thread_safe(void)
Definition: libmysql.cc:843
unsigned int STDCALL mysql_errno(MYSQL *mysql)
Definition: client.cc:9108
uint64_t STDCALL mysql_num_rows(MYSQL_RES *res)
Definition: client.cc:9102
enum net_async_status STDCALL mysql_reset_connection_nonblocking(MYSQL *mysql)
Definition: client.cc:9328
int STDCALL mysql_send_query(MYSQL *mysql, const char *q, unsigned long length)
int STDCALL mysql_reset_connection(MYSQL *mysql)
Definition: client.cc:9318
void STDCALL mysql_reset_server_public_key(void)
Definition: client_authentication.cc:1037
bool STDCALL mysql_more_results(MYSQL *mysql)
Definition: client.cc:9386
unsigned long STDCALL mysql_hex_string(char *to, const char *from, unsigned long from_length)
enum connect_stage STDCALL mysql_get_connect_nonblocking_stage(MYSQL *mysql)
Definition: client.cc:4717
bool STDCALL mysql_stmt_bind_param(MYSQL_STMT *stmt, MYSQL_BIND *bnd)
Definition: libmysql.cc:2333
const char *STDCALL mysql_info(MYSQL *mysql)
Definition: client.cc:9297
int STDCALL mysql_real_query(MYSQL *mysql, const char *q, unsigned long length)
bool STDCALL mysql_rollback(MYSQL *mysql)
Definition: client.cc:9360
mysql_option
Definition: mysql.h:167
@ MYSQL_OPT_CONNECT_TIMEOUT
Definition: mysql.h:168
@ MYSQL_OPT_COMPRESS
Definition: mysql.h:169
@ MYSQL_OPT_LOAD_DATA_LOCAL_DIR
Definition: mysql.h:211
@ MYSQL_SET_CHARSET_DIR
Definition: mysql.h:174
@ MYSQL_OPT_PROTOCOL
Definition: mysql.h:177
@ MYSQL_OPT_CONNECT_ATTR_DELETE
Definition: mysql.h:196
@ MYSQL_OPT_SSL_CIPHER
Definition: mysql.h:191
@ MYSQL_OPT_TLS_SNI_SERVERNAME
Definition: mysql.h:214
@ MYSQL_OPT_LOCAL_INFILE
Definition: mysql.h:176
@ MYSQL_SET_CHARSET_NAME
Definition: mysql.h:175
@ MYSQL_OPT_NET_BUFFER_LENGTH
Definition: mysql.h:201
@ MYSQL_OPT_MAX_ALLOWED_PACKET
Definition: mysql.h:200
@ MYSQL_SHARED_MEMORY_BASE_NAME
Definition: mysql.h:178
@ MYSQL_SERVER_PUBLIC_KEY
Definition: mysql.h:197
@ MYSQL_OPT_SSL_CA
Definition: mysql.h:189
@ MYSQL_OPT_READ_TIMEOUT
Definition: mysql.h:179
@ MYSQL_OPT_BIND
Definition: mysql.h:186
@ MYSQL_OPT_TLS_VERSION
Definition: mysql.h:202
@ MYSQL_OPT_WRITE_TIMEOUT
Definition: mysql.h:180
@ MYSQL_OPT_SSL_KEY
Definition: mysql.h:187
@ MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS
Definition: mysql.h:199
@ MYSQL_OPT_CONNECT_ATTR_ADD
Definition: mysql.h:195
@ MYSQL_OPT_SSL_FIPS_MODE
Definition: mysql.h:207
@ MYSQL_OPT_ZSTD_COMPRESSION_LEVEL
Definition: mysql.h:210
@ MYSQL_READ_DEFAULT_GROUP
Definition: mysql.h:173
@ MYSQL_OPT_CONNECT_ATTR_RESET
Definition: mysql.h:194
@ MYSQL_OPT_SSL_CRLPATH
Definition: mysql.h:193
@ MYSQL_OPT_GET_SERVER_PUBLIC_KEY
Definition: mysql.h:204
@ MYSQL_OPT_SSL_CERT
Definition: mysql.h:188
@ MYSQL_READ_DEFAULT_FILE
Definition: mysql.h:172
@ MYSQL_OPT_SSL_SESSION_DATA
Definition: mysql.h:213
@ MYSQL_OPT_SSL_MODE
Definition: mysql.h:203
@ MYSQL_OPT_SSL_CAPATH
Definition: mysql.h:190
@ MYSQL_DEFAULT_AUTH
Definition: mysql.h:185
@ MYSQL_PLUGIN_DIR
Definition: mysql.h:184
@ MYSQL_OPT_USER_PASSWORD
Definition: mysql.h:212
@ MYSQL_OPT_USE_RESULT
Definition: mysql.h:181
@ MYSQL_OPT_RETRY_COUNT
Definition: mysql.h:205
@ MYSQL_REPORT_DATA_TRUNCATION
Definition: mysql.h:182
@ MYSQL_OPT_COMPRESSION_ALGORITHMS
Definition: mysql.h:209
@ MYSQL_OPT_SSL_CRL
Definition: mysql.h:192
@ MYSQL_OPT_OPTIONAL_RESULTSET_METADATA
Definition: mysql.h:206
@ MYSQL_ENABLE_CLEARTEXT_PLUGIN
Definition: mysql.h:198
@ MYSQL_OPT_NAMED_PIPE
Definition: mysql.h:170
@ MYSQL_INIT_COMMAND
Definition: mysql.h:171
@ MYSQL_OPT_TLS_CIPHERSUITES
Definition: mysql.h:208
@ MYSQL_OPT_RECONNECT
Definition: mysql.h:183
uint64_t STDCALL mysql_stmt_insert_id(MYSQL_STMT *stmt)
Definition: libmysql.cc:2157
MYSQL_FIELD *STDCALL mysql_fetch_fields(MYSQL_RES *res)
Definition: client.cc:9442
enum net_async_status STDCALL mysql_real_connect_nonblocking(MYSQL *mysql, const char *host, const char *user, const char *passwd, const char *db, unsigned int port, const char *unix_socket, unsigned long clientflag)
unsigned int STDCALL mysql_field_count(MYSQL *mysql)
Definition: client.cc:9446
MYSQL_ROW STDCALL mysql_fetch_row(MYSQL_RES *result)
Definition: client.cc:8329
const char *STDCALL mysql_get_host_info(MYSQL *mysql)
Definition: libmysql.cc:782
MYSQL_RES *STDCALL mysql_stmt_result_metadata(MYSQL_STMT *stmt)
Definition: libmysql.cc:1525
uint64_t STDCALL mysql_affected_rows(MYSQL *mysql)
Definition: client.cc:9424
enum_mysql_stmt_state
Definition: mysql.h:582
@ MYSQL_STMT_PREPARE_DONE
Definition: mysql.h:584
@ MYSQL_STMT_INIT_DONE
Definition: mysql.h:583
@ MYSQL_STMT_FETCH_DONE
Definition: mysql.h:586
@ MYSQL_STMT_EXECUTE_DONE
Definition: mysql.h:585
bool STDCALL mysql_eof(MYSQL_RES *res)
Definition: libmysql.cc:794
unsigned long STDCALL mysql_thread_id(MYSQL *mysql)
Definition: libmysql.cc:815
#define STDCALL
Definition: mysql.h:72
void mysql_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 *)
MYSQL_FIELD *STDCALL mysql_fetch_field(MYSQL_RES *result)
Definition: client.cc:9436
MYSQL_ROW_OFFSET STDCALL mysql_stmt_row_tell(MYSQL_STMT *stmt)
Definition: libmysql.cc:4090
int STDCALL mysql_options4(MYSQL *mysql, enum mysql_option option, const void *arg1, const void *arg2)
Definition: client.cc:9005
enum net_async_status STDCALL mysql_send_query_nonblocking(MYSQL *mysql, const char *query, unsigned long length)
int STDCALL mysql_set_character_set(MYSQL *mysql, const char *csname)
Definition: client.cc:9235
bool STDCALL mysql_stmt_free_result(MYSQL_STMT *stmt)
Definition: libmysql.cc:4191
bool STDCALL mysql_stmt_attr_set(MYSQL_STMT *stmt, enum enum_stmt_attr_type attr_type, const void *attr)
Definition: libmysql.cc:1936
bool STDCALL mysql_stmt_send_long_data(MYSQL_STMT *stmt, unsigned int param_number, const char *data, unsigned long length)
void *STDCALL mysql_get_ssl_session_data(MYSQL *mysql, unsigned int n_ticket, unsigned int *out_len)
Get the current SSL session serialization.
Definition: client.cc:3451
bool STDCALL mysql_free_ssl_session_data(MYSQL *mysql, void *data)
Free a saved SSL session serialization.
Definition: client.cc:3537
int STDCALL mysql_next_result(MYSQL *mysql)
Definition: client.cc:9398
int STDCALL mysql_select_db(MYSQL *mysql, const char *db)
Definition: client.cc:7412
int STDCALL mysql_stmt_fetch(MYSQL_STMT *stmt)
Definition: libmysql.cc:3772
bool STDCALL mysql_change_user(MYSQL *mysql, const char *user, const char *passwd, const char *db)
Definition: libmysql.cc:281
bool STDCALL mysql_bind_param(MYSQL *mysql, unsigned n_params, MYSQL_BIND *binds, const char **names)
Definition: libmysql.cc:2337
unsigned long STDCALL mysql_get_server_version(MYSQL *mysql)
Definition: client.cc:9212
int STDCALL mysql_stmt_fetch_column(MYSQL_STMT *stmt, MYSQL_BIND *bind_arg, unsigned int column, unsigned long offset)
struct MYSQL_DATA MYSQL_DATA
unsigned long STDCALL mysql_stmt_param_count(MYSQL_STMT *stmt)
Definition: libmysql.cc:2119
unsigned int STDCALL mysql_warning_count(MYSQL *mysql)
Definition: libmysql.cc:813
enum_stmt_attr_type
Definition: mysql.h:724
@ STMT_ATTR_PREFETCH_ROWS
Definition: mysql.h:742
@ STMT_ATTR_UPDATE_MAX_LENGTH
Definition: mysql.h:732
@ STMT_ATTR_CURSOR_TYPE
Definition: mysql.h:737
int STDCALL mysql_stmt_next_result(MYSQL_STMT *stmt)
Definition: libmysql.cc:4345
enum net_async_status STDCALL mysql_real_query_nonblocking(MYSQL *mysql, const char *query, unsigned long length)
const char *STDCALL mysql_character_set_name(MYSQL *mysql)
Definition: libmysql.cc:823
void STDCALL myodbc_remove_escape(MYSQL *mysql, char *name)
Definition: libmysql.cc:988
MYSQL *STDCALL mysql_real_connect_dns_srv(MYSQL *mysql, const char *dns_srv_name, const char *user, const char *passwd, const char *db, unsigned long client_flag)
Connect to a server using a DNS SRV name.
Definition: dns_srv.cc:161
MYSQL_RES *STDCALL mysql_store_result(MYSQL *mysql)
Definition: client.cc:8096
int STDCALL mysql_server_init(int argc, char **argv, char **groups)
Definition: libmysql.cc:143
enum net_async_status STDCALL mysql_select_db_nonblocking(MYSQL *mysql, const char *db, bool *error)
bool STDCALL mysql_stmt_reset(MYSQL_STMT *stmt)
Definition: libmysql.cc:4271
unsigned long *STDCALL mysql_fetch_lengths(MYSQL_RES *result)
Definition: client.cc:8422
enum net_async_status STDCALL mysql_next_result_nonblocking(MYSQL *mysql)
Definition: libmysql.cc:4325
bool STDCALL mysql_read_query_result(MYSQL *mysql)
Definition: libmysql.cc:4380
unsigned int mysql_port
Definition: client.cc:217
struct MYSQL_FIELD MYSQL_FIELD
MYSQL_FIELD_OFFSET STDCALL mysql_field_tell(MYSQL_RES *res)
Definition: libmysql.cc:805
struct MYSQL_STMT MYSQL_STMT
MYSQL_RES *STDCALL mysql_stmt_param_metadata(MYSQL_STMT *stmt)
Definition: libmysql.cc:1567
MYSQL_FIELD_OFFSET STDCALL mysql_field_seek(MYSQL_RES *result, MYSQL_FIELD_OFFSET offset)
Definition: libmysql.cc:701
int STDCALL mysql_get_option(MYSQL *mysql, enum mysql_option option, const void *arg)
Return the current values for the options settable through mysql_options()
Definition: client.cc:8807
int STDCALL mysql_stmt_store_result(MYSQL_STMT *stmt)
Definition: libmysql.cc:3968
bool STDCALL mysql_get_ssl_session_reused(MYSQL *mysql)
Check if the current ssl session is reused.
Definition: client.cc:3556
int STDCALL mysql_set_server_option(MYSQL *mysql, enum enum_mysql_set_option option)
Definition: libmysql.cc:735
mysql_status
Definition: mysql.h:254
@ MYSQL_STATUS_USE_RESULT
Definition: mysql.h:257
@ MYSQL_STATUS_STATEMENT_GET_RESULT
Definition: mysql.h:258
@ MYSQL_STATUS_GET_RESULT
Definition: mysql.h:256
@ MYSQL_STATUS_READY
Definition: mysql.h:255
MYSQL_STMT *STDCALL mysql_stmt_init(MYSQL *mysql)
Definition: libmysql.cc:1252
int STDCALL mysql_stmt_prepare(MYSQL_STMT *stmt, const char *query, unsigned long length)
uint64_t STDCALL mysql_stmt_affected_rows(MYSQL_STMT *stmt)
Definition: libmysql.cc:2128
uint64_t STDCALL mysql_insert_id(MYSQL *mysql)
Definition: libmysql.cc:811
const char *STDCALL mysql_stat(MYSQL *mysql)
Definition: libmysql.cc:762
struct MYSQL_RES MYSQL_RES
unsigned int STDCALL mysql_get_proto_info(MYSQL *mysql)
Definition: libmysql.cc:786
void STDCALL mysql_stmt_data_seek(MYSQL_STMT *stmt, uint64_t offset)
Definition: libmysql.cc:4100
MYSQL_ROWS * MYSQL_ROW_OFFSET
Definition: mysql.h:156
int STDCALL mysql_session_track_get_next(MYSQL *mysql, enum enum_session_state_type type, const char **data, size_t *length)
Get the subsequent state change information received from the server.
Definition: client.cc:9176
int STDCALL mysql_binlog_fetch(MYSQL *mysql, MYSQL_RPL *rpl)
Fetch one event from the server.
Definition: client.cc:7355
MYSQL_RES *STDCALL mysql_list_tables(MYSQL *mysql, const char *wild)
Definition: libmysql.cc:726
enum net_async_status STDCALL mysql_store_result_nonblocking(MYSQL *mysql, MYSQL_RES **result)
This API reads all result set sent by server in an asynchronous way.
Definition: client.cc:8155
MYSQL *STDCALL mysql_init(MYSQL *mysql)
Definition: client.cc:3220
const char *STDCALL mysql_get_server_info(MYSQL *mysql)
Definition: libmysql.cc:778
int STDCALL mysql_stmt_execute(MYSQL_STMT *stmt)
Definition: libmysql.cc:2092
MYSQL_ROW_OFFSET STDCALL mysql_row_tell(MYSQL_RES *res)
Definition: libmysql.cc:801
void STDCALL mysql_get_character_set_info(MYSQL *mysql, MY_CHARSET_INFO *charset)
Definition: libmysql.cc:827
enum net_async_status STDCALL mysql_free_result_nonblocking(MYSQL_RES *result)
Frees the memory allocated for a result, set by APIs which would have returned rows.
Definition: client.cc:1925
unsigned long STDCALL mysql_escape_string(char *to, const char *from, unsigned long from_length)
void STDCALL mysql_server_end(void)
Definition: libmysql.cc:208
const char *STDCALL mysql_stmt_sqlstate(MYSQL_STMT *stmt)
Definition: libmysql.cc:4293
int STDCALL mysql_query(MYSQL *mysql, const char *q)
Definition: libmysql.cc:669
struct MYSQL_ROWS MYSQL_ROWS
MYSQL_ROW_OFFSET STDCALL mysql_row_seek(MYSQL_RES *result, MYSQL_ROW_OFFSET offset)
Definition: libmysql.cc:693
struct MYSQL MYSQL
bool STDCALL mysql_commit(MYSQL *mysql)
Definition: client.cc:9351
MYSQL_FIELD *STDCALL mysql_fetch_field_direct(MYSQL_RES *res, unsigned int fieldnr)
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)
mysql_protocol_type
Definition: mysql.h:261
@ MYSQL_PROTOCOL_TCP
Definition: mysql.h:263
@ MYSQL_PROTOCOL_DEFAULT
Definition: mysql.h:262
@ MYSQL_PROTOCOL_MEMORY
Definition: mysql.h:266
@ MYSQL_PROTOCOL_PIPE
Definition: mysql.h:265
@ MYSQL_PROTOCOL_SOCKET
Definition: mysql.h:264
unsigned long STDCALL mysql_get_client_version(void)
Definition: libmysql.cc:792
char * mysql_unix_port
Definition: client.cc:218
unsigned int STDCALL mysql_stmt_errno(MYSQL_STMT *stmt)
Definition: libmysql.cc:4288
const char *STDCALL mysql_get_ssl_cipher(MYSQL *mysql)
Definition: client.cc:3428
uint64_t STDCALL mysql_stmt_num_rows(MYSQL_STMT *stmt)
Definition: libmysql.cc:4119
unsigned long STDCALL mysql_real_escape_string_quote(MYSQL *mysql, char *to, const char *from, unsigned long length, char quote)
const char *STDCALL mysql_error(MYSQL *mysql)
Definition: client.cc:9112
struct character_set MY_CHARSET_INFO
bool STDCALL mysql_autocommit(MYSQL *mysql, bool auto_mode)
Definition: client.cc:9369
void STDCALL mysql_free_result(MYSQL_RES *result)
Definition: client.cc:1954
MYSQL_RES *STDCALL mysql_list_dbs(MYSQL *mysql, const char *wild)
Definition: libmysql.cc:712
enum net_async_status STDCALL mysql_fetch_row_nonblocking(MYSQL_RES *res, MYSQL_ROW *row)
Reads next row of a result set in an asynchronous way.
Definition: client.cc:8347
int STDCALL mysql_options(MYSQL *mysql, enum mysql_option option, const void *arg)
Definition: client.cc:8468
void STDCALL mysql_debug(const char *debug)
Definition: libmysql.cc:253
bool STDCALL mysql_thread_init(void)
Definition: libmysql.cc:226
mysql_ssl_mode
Definition: mysql.h:269
@ SSL_MODE_REQUIRED
Definition: mysql.h:272
@ SSL_MODE_PREFERRED
Definition: mysql.h:271
@ SSL_MODE_VERIFY_CA
Definition: mysql.h:273
@ SSL_MODE_DISABLED
Definition: mysql.h:270
@ SSL_MODE_VERIFY_IDENTITY
Definition: mysql.h:274
unsigned long STDCALL mysql_real_escape_string(MYSQL *mysql, char *to, const char *from, unsigned long length)
bool STDCALL mysql_stmt_bind_result(MYSQL_STMT *stmt, MYSQL_BIND *bnd)
Definition: libmysql.cc:3615
const char *STDCALL mysql_stmt_error(MYSQL_STMT *stmt)
Definition: libmysql.cc:4302
void mysql_set_local_infile_default(MYSQL *mysql)
Definition: libmysql.cc:657
void STDCALL mysql_binlog_close(MYSQL *mysql, MYSQL_RPL *rpl)
Close replication stream.
Definition: client.cc:7397
MYSQL_ROW_OFFSET STDCALL mysql_stmt_row_seek(MYSQL_STMT *stmt, MYSQL_ROW_OFFSET offset)
Definition: libmysql.cc:4077
void STDCALL mysql_close(MYSQL *sock)
Definition: client.cc:7572
struct MYSQL_RPL MYSQL_RPL
Struct for information about a replication stream.
int my_socket
Definition: mysql.h:64
bool STDCALL mysql_stmt_bind_named_param(MYSQL_STMT *stmt, MYSQL_BIND *binds, unsigned n_params, const char **names)
Definition: libmysql.cc:2454
uint64_t my_ulonglong
Definition: mysql.h:53
int STDCALL mysql_dump_debug_info(MYSQL *mysql)
Definition: libmysql.cc:743
enum enum_resultset_metadata STDCALL mysql_result_metadata(MYSQL_RES *result)
Definition: client.cc:9428
int STDCALL mysql_session_track_get_first(MYSQL *mysql, enum enum_session_state_type type, const char **data, size_t *length)
Get the first state change information received from the server.
Definition: client.cc:9149
void STDCALL mysql_thread_end(void)
Definition: libmysql.cc:228
unsigned int MYSQL_FIELD_OFFSET
Definition: mysql.h:143
char ** MYSQL_ROW
Definition: mysql.h:142
int STDCALL mysql_ping(MYSQL *mysql)
Definition: libmysql.cc:769
unsigned int STDCALL mysql_num_fields(MYSQL_RES *res)
Definition: client.cc:9104
struct MYSQL_BIND MYSQL_BIND
mysql_ssl_fips_mode
Definition: mysql.h:277
@ SSL_FIPS_MODE_OFF
Definition: mysql.h:278
@ SSL_FIPS_MODE_STRICT
Definition: mysql.h:280
@ SSL_FIPS_MODE_ON
Definition: mysql.h:279
Common definition between mysql server & client.
enum_session_state_type
Type of state change information that the server can include in the Ok packet.
Definition: mysql_com.h:1075
connect_stage
Describes the current state of Asynchronous connection phase state machine.
Definition: mysql_com.h:1257
#define MYSQL_ERRMSG_SIZE
Max length of a error message.
Definition: mysql_com.h:886
#define SCRAMBLE_LENGTH
Length of random string sent by server on handshake; this is also length of obfuscated password,...
Definition: mysql_com.h:127
enum_mysql_set_option
options for mysql_options()
Definition: mysql_com.h:1062
#define SQLSTATE_LENGTH
Definition: mysql_com.h:74
enum_resultset_metadata
Definition: mysql_com.h:1029
Time declarations shared between the server and client API: you should not add anything to this heade...
char * user
Definition: mysqladmin.cc:64
const char * host
Definition: mysqladmin.cc:63
static MYSQL * sock
Definition: mysqlcheck.cc:56
const std::string charset("charset")
bool length(const dd::Spatial_reference_system *srs, const Geometry *g1, double *length, bool *null) noexcept
Computes the length of linestrings and multilinestrings.
Definition: length.cc:75
Definition: instrumented_condition_variable.h:31
Definition: buffer.h:44
Definition: options.cc:56
net_async_status
Definition: plugin_auth_common.h:135
required uint64 port
Definition: replication_asynchronous_connection_failover.proto:32
required string type
Definition: replication_group_member_actions.proto:33
case opt name
Definition: sslopt-case.h:32
Definition: m_ctype.h:422
Definition: init_commands_array.h:25
Definition: my_list.h:35
The MEM_ROOT is a simple arena, where allocations are carved out of larger blocks.
Definition: my_alloc.h:82
Definition: mysql.h:652
unsigned long buffer_length
Definition: mysql.h:663
void * extension
Definition: mysql.h:673
unsigned int param_number
Definition: mysql.h:666
void(* store_param_func)(NET *net, struct MYSQL_BIND *param)
Definition: mysql.h:659
bool error_value
Definition: mysql.h:669
bool long_data_used
Definition: mysql.h:671
void * buffer
Definition: mysql.h:655
bool is_unsigned
Definition: mysql.h:670
void(* fetch_result)(struct MYSQL_BIND *, MYSQL_FIELD *, unsigned char **row)
Definition: mysql.h:660
unsigned long length_value
Definition: mysql.h:665
unsigned long * length
Definition: mysql.h:653
unsigned long offset
Definition: mysql.h:664
void(* skip_result)(struct MYSQL_BIND *, MYSQL_FIELD *, unsigned char **row)
Definition: mysql.h:661
bool * is_null
Definition: mysql.h:654
bool is_null_value
Definition: mysql.h:672
unsigned int pack_length
Definition: mysql.h:667
enum enum_field_types buffer_type
Definition: mysql.h:668
bool * error
Definition: mysql.h:657
unsigned char * row_ptr
Definition: mysql.h:658
Definition: mysql.h:160
MYSQL_ROWS * data
Definition: mysql.h:161
uint64_t rows
Definition: mysql.h:163
unsigned int fields
Definition: mysql.h:164
struct MEM_ROOT * alloc
Definition: mysql.h:162
Definition: mysql.h:120
unsigned int db_length
Definition: mysql.h:133
unsigned int name_length
Definition: mysql.h:129
unsigned int org_table_length
Definition: mysql.h:132
char * name
Definition: mysql.h:121
char * org_name
Definition: mysql.h:122
char * db
Definition: mysql.h:125
char * catalog
Definition: mysql.h:126
unsigned int charsetnr
Definition: mysql.h:137
unsigned int catalog_length
Definition: mysql.h:134
unsigned int org_name_length
Definition: mysql.h:130
unsigned int decimals
Definition: mysql.h:136
unsigned long max_length
Definition: mysql.h:128
unsigned int table_length
Definition: mysql.h:131
char * org_table
Definition: mysql.h:124
void * extension
Definition: mysql.h:139
char * table
Definition: mysql.h:123
unsigned int flags
Definition: mysql.h:135
unsigned long length
Definition: mysql.h:127
enum enum_field_types type
Definition: mysql.h:138
Definition: sql_common.h:198
Definition: mysql.h:337
MYSQL_ROW current_row
Definition: mysql.h:346
struct MYSQL_DATA * data
Definition: mysql.h:340
unsigned int current_field
Definition: mysql.h:348
void * extension
Definition: mysql.h:353
enum enum_resultset_metadata metadata
Definition: mysql.h:352
MYSQL * handle
Definition: mysql.h:343
MYSQL_FIELD * fields
Definition: mysql.h:339
MYSQL_ROWS * data_cursor
Definition: mysql.h:341
bool eof
Definition: mysql.h:349
const struct MYSQL_METHODS * methods
Definition: mysql.h:344
MYSQL_ROW row
Definition: mysql.h:345
struct MEM_ROOT * field_alloc
Definition: mysql.h:347
uint64_t row_count
Definition: mysql.h:338
unsigned long * lengths
Definition: mysql.h:342
unsigned int field_count
Definition: mysql.h:348
bool unbuffered_fetch_cancelled
Definition: mysql.h:351
Definition: mysql.h:150
MYSQL_ROW data
Definition: mysql.h:152
struct MYSQL_ROWS * next
Definition: mysql.h:151
unsigned long length
Definition: mysql.h:153
Struct for information about a replication stream.
Definition: mysql.h:389
unsigned int server_id
Position in the binary log to
Definition: mysql.h:394
size_t file_name_length
Definition: mysql.h:390
unsigned long size
GTID set data or an argument for
Definition: mysql.h:407
uint64_t start_position
Filename of the binary log to read.
Definition: mysql.h:392
const unsigned char * buffer
Size of the packet returned by
Definition: mysql.h:409
void(* fix_gtid_set)(struct MYSQL_RPL *rpl, unsigned char *packet_gtid_set)
Callback function which is called
Definition: mysql.h:403
const char * file_name
Length of the 'file_name' or 0
Definition: mysql.h:391
size_t gtid_set_encoded_size
Flags, e.g.
Definition: mysql.h:399
void * gtid_set_arg
Definition: mysql.h:404
unsigned int flags
Server ID to use when identifying
Definition: mysql.h:396
Definition: libmysql.cc:109
char ** names
Definition: libmysql.cc:121
uint n_params
Stores the size of array of names for statement bind parameters.
Definition: libmysql.cc:120
Definition: mysql.h:679
bool bind_param_done
Definition: mysql.h:712
unsigned int last_errno
Definition: mysql.h:704
unsigned long flags
Definition: mysql.h:697
MYSQL * mysql
Definition: mysql.h:682
MYSQL_ROWS * data_cursor
Definition: mysql.h:687
unsigned int server_status
Definition: mysql.h:703
MYSQL_FIELD * fields
Definition: mysql.h:685
char last_error[MYSQL_ERRMSG_SIZE]
Definition: mysql.h:708
int(* read_row_func)(struct MYSQL_STMT *stmt, unsigned char **row)
Definition: mysql.h:692
enum enum_mysql_stmt_state state
Definition: mysql.h:707
bool send_types_to_server
Definition: mysql.h:711
unsigned char bind_result_done
Definition: mysql.h:713
MYSQL_BIND * bind
Definition: mysql.h:684
unsigned long prefetch_rows
Definition: mysql.h:698
uint64_t insert_id
Definition: mysql.h:695
MYSQL_DATA result
Definition: mysql.h:686
bool unbuffered_fetch_cancelled
Definition: mysql.h:715
unsigned int param_count
Definition: mysql.h:705
unsigned int field_count
Definition: mysql.h:706
unsigned long stmt_id
Definition: mysql.h:696
bool update_max_length
Definition: mysql.h:720
uint64_t affected_rows
Definition: mysql.h:694
LIST list
Definition: mysql.h:681
struct MYSQL_STMT_EXT * extension
Definition: mysql.h:721
char sqlstate[SQLSTATE_LENGTH+1]
Definition: mysql.h:709
MYSQL_BIND * params
Definition: mysql.h:683
struct MEM_ROOT * mem_root
Definition: mysql.h:680
Definition: mysql.h:297
unsigned int server_language
Definition: mysql.h:315
struct MEM_ROOT * field_alloc
Definition: mysql.h:304
bool free_me
Definition: mysql.h:320
unsigned int port
Definition: mysql.h:310
const struct MYSQL_METHODS * methods
Definition: mysql.h:327
unsigned long server_capabilities
Definition: mysql.h:311
struct CHARSET_INFO * charset
Definition: mysql.h:302
char * host_info
Definition: mysql.h:300
unsigned long packet_length
Definition: mysql.h:309
char * info
Definition: mysql.h:301
char * unix_socket
Definition: mysql.h:300
char * server_version
Definition: mysql.h:300
unsigned long client_flag
Definition: mysql.h:311
char * passwd
Definition: mysql.h:300
char * host
Definition: mysql.h:300
char * user
Definition: mysql.h:300
char scramble[SCRAMBLE_LENGTH+1]
Definition: mysql.h:324
void * thd
Definition: mysql.h:328
uint64_t affected_rows
Definition: mysql.h:305
MYSQL_FIELD * fields
Definition: mysql.h:303
unsigned int server_status
Definition: mysql.h:314
bool * unbuffered_fetch_owner
Definition: mysql.h:333
unsigned int warning_count
Definition: mysql.h:316
unsigned int protocol_version
Definition: mysql.h:312
char * db
Definition: mysql.h:301
NET net
Definition: mysql.h:298
bool reconnect
Definition: mysql.h:321
uint64_t insert_id
Definition: mysql.h:306
unsigned long thread_id
Definition: mysql.h:308
enum mysql_status status
Definition: mysql.h:318
LIST * stmts
Definition: mysql.h:326
uint64_t extra_info
Definition: mysql.h:307
void * extension
Definition: mysql.h:334
enum enum_resultset_metadata resultset_metadata
Definition: mysql.h:319
unsigned int field_count
Definition: mysql.h:313
unsigned char * connector_fd
Definition: mysql.h:299
Definition: mysql_com.h:919
Definition: mysql.h:283
const char * comment
Definition: mysql.h:288
const char * name
Definition: mysql.h:287
const char * csname
Definition: mysql.h:286
const char * dir
Definition: mysql.h:289
unsigned int number
Definition: mysql.h:284
unsigned int state
Definition: mysql.h:285
unsigned int mbminlen
Definition: mysql.h:290
unsigned int mbmaxlen
Definition: mysql.h:291
Definition: result.h:29
Definition: sql_common.h:169
Definition: mysql.h:223
unsigned int port
Definition: mysql.h:225
char * ssl_capath
Definition: mysql.h:233
char * my_cnf_group
Definition: mysql.h:229
int(* local_infile_init)(void **, const char *, void *)
Definition: mysql.h:246
char * ssl_ca
Definition: mysql.h:232
char * ssl_key
Definition: mysql.h:230
void(* local_infile_end)(void *)
Definition: mysql.h:248
char * ssl_cert
Definition: mysql.h:231
char * my_cnf_file
Definition: mysql.h:229
struct Init_commands_array * init_commands
Definition: mysql.h:228
void * local_infile_userdata
Definition: mysql.h:250
char * unix_socket
Definition: mysql.h:227
unsigned int read_timeout
Definition: mysql.h:224
unsigned long max_allowed_packet
Definition: mysql.h:236
char * password
Definition: mysql.h:227
int(* local_infile_error)(void *, char *, unsigned int)
Definition: mysql.h:249
char * ssl_cipher
Definition: mysql.h:234
char * host
Definition: mysql.h:227
char * db
Definition: mysql.h:227
unsigned int protocol
Definition: mysql.h:225
unsigned int write_timeout
Definition: mysql.h:224
bool report_data_truncation
Definition: mysql.h:243
char * charset_dir
Definition: mysql.h:229
char * bind_address
The local address to bind when connecting to remote server.
Definition: mysql.h:241
bool named_pipe
Definition: mysql.h:237
unsigned long client_flag
Definition: mysql.h:226
char * charset_name
Definition: mysql.h:229
char * user
Definition: mysql.h:227
unsigned int connect_timeout
Definition: mysql.h:224
bool compress
Definition: mysql.h:237
char * shared_memory_base_name
Definition: mysql.h:235
struct st_mysql_options_extention * extension
Definition: mysql.h:251
int(* local_infile_read)(void *, char *, unsigned int)
Definition: mysql.h:247
synode_no q[FIFO_SIZE]
Definition: xcom_base.cc:4085