MySQL 8.4.13
Source Code Documentation
mysql.h
Go to the documentation of this file.
1/* Copyright (c) 2000, 2026, 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 designed to work 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 either included with
13 the program or referenced in the documentation.
14
15 Without limiting anything contained in the foregoing, this file,
16 which is part of C Driver for MySQL (Connector/C), is also subject to the
17 Universal FOSS Exception, version 1.0, a copy of which can be found at
18 http://oss.oracle.com/licenses/universal-foss-exception.
19
20 This program is distributed in the hope that it will be useful,
21 but WITHOUT ANY WARRANTY; without even the implied warranty of
22 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 GNU General Public License, version 2.0, for more details.
24
25 You should have received a copy of the GNU General Public License
26 along with this program; if not, write to the Free Software
27 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
28
29/**
30 @file include/mysql.h
31 This file defines the client API to MySQL and also the ABI of the
32 dynamically linked libmysqlclient.
33
34 The ABI should never be changed in a released product of MySQL,
35 thus you need to take great care when changing the file. In case
36 the file is changed so the ABI is broken, you must also update
37 the SHARED_LIB_MAJOR_VERSION in cmake/mysql_version.cmake
38*/
39
40#ifndef _mysql_h
41#define _mysql_h
42
43#ifndef MYSQL_ABI_CHECK
44#include <stdbool.h>
45#include <stddef.h>
46#include <stdint.h>
47#include <sys/types.h>
48#endif
49
50// Legacy definition for the benefit of old code. Use uint64_t in new code.
51// If you get warnings from printf, use the PRIu64 macro, or, if you need
52// compatibility with older versions of the client library, cast
53// before printing.
54typedef uint64_t my_ulonglong;
55
56#ifndef my_socket_defined
57#define my_socket_defined
58#if defined(_WIN32) && !defined(MYSQL_ABI_CHECK)
59#include <windows.h>
60#ifdef WIN32_LEAN_AND_MEAN
61#include <winsock2.h>
62#endif
63#define my_socket SOCKET
64#else
65typedef int my_socket;
66#endif /* _WIN32 && ! MYSQL_ABI_CHECK */
67#endif /* my_socket_defined */
68
69// Small extra definition to avoid pulling in my_compiler.h in client code.
70// IWYU pragma: no_include "my_compiler.h"
71#ifndef MY_COMPILER_INCLUDED
72#if !defined(_WIN32) || defined(MYSQL_ABI_CHECK)
73#define STDCALL
74#else
75#define STDCALL __stdcall
76#endif
77#endif /* MY_COMPILER_INCLUDED */
78
79#include "field_types.h"
80#include "my_list.h"
81#include "mysql_com.h"
82
83/* Include declarations of plug-in API */
84#include "mysql/client_plugin.h" // IWYU pragma: keep
85
86/*
87 The client should be able to know which version it is compiled against,
88 even if mysql.h doesn't use this information directly.
89*/
90#include "mysql_version.h" // IWYU pragma: keep
91
92// MYSQL_TIME is part of our public API.
93#include "mysql_time.h" // IWYU pragma: keep
94
95// The error messages are part of our public API.
96#include "errmsg.h" // IWYU pragma: keep
97
98#ifdef __cplusplus
99extern "C" {
100#endif
101
102extern unsigned int mysql_port;
103extern char *mysql_unix_port;
104
105#define CLIENT_NET_RETRY_COUNT 1 /* Retry count */
106#define CLIENT_NET_READ_TIMEOUT 365 * 24 * 3600 /* Timeout on read */
107#define CLIENT_NET_WRITE_TIMEOUT 365 * 24 * 3600 /* Timeout on write */
108
109#define IS_PRI_KEY(n) ((n)&PRI_KEY_FLAG)
110#define IS_NOT_NULL(n) ((n)&NOT_NULL_FLAG)
111#define IS_BLOB(n) ((n)&BLOB_FLAG)
112/**
113 Returns true if the value is a number which does not need quotes for
114 the sql_lex.cc parser to parse correctly.
115*/
116#define IS_NUM(t) \
117 (((t) <= MYSQL_TYPE_INT24 && (t) != MYSQL_TYPE_TIMESTAMP) || \
118 (t) == MYSQL_TYPE_YEAR || (t) == MYSQL_TYPE_NEWDECIMAL)
119#define IS_LONGDATA(t) ((t) >= MYSQL_TYPE_TINY_BLOB && (t) <= MYSQL_TYPE_STRING)
120
121typedef struct MYSQL_FIELD {
122 char *name; /* Name of column */
123 char *org_name; /* Original column name, if an alias */
124 char *table; /* Table of column if column was a field */
125 char *org_table; /* Org table name, if table was an alias */
126 char *db; /* Database for table */
127 char *catalog; /* Catalog for table */
128 char *def; /* Default value (set by mysql_list_fields) */
129 unsigned long length; /* Width of column (create length) */
130 unsigned long max_length; /* Max width for selected set */
131 unsigned int name_length;
132 unsigned int org_name_length;
133 unsigned int table_length;
134 unsigned int org_table_length;
135 unsigned int db_length;
136 unsigned int catalog_length;
137 unsigned int def_length;
138 unsigned int flags; /* Div flags */
139 unsigned int decimals; /* Number of decimals in field */
140 unsigned int charsetnr; /* Character set */
141 enum enum_field_types type; /* Type of field. See mysql_com.h for types */
144
145typedef char **MYSQL_ROW; /* return data as array of strings */
146typedef unsigned int MYSQL_FIELD_OFFSET; /* offset to current field */
147
148#define MYSQL_COUNT_ERROR (~(uint64_t)0)
149
150/* backward compatibility define - to be removed eventually */
151#define ER_WARN_DATA_TRUNCATED WARN_DATA_TRUNCATED
152
153typedef struct MYSQL_ROWS {
154 struct MYSQL_ROWS *next; /* list of rows */
156 unsigned long length;
158
159typedef MYSQL_ROWS *MYSQL_ROW_OFFSET; /* offset to current row */
160
161struct MEM_ROOT;
162
163typedef struct MYSQL_DATA {
166 uint64_t rows;
167 unsigned int fields;
169
219
220/**
221 @todo remove the "extension", move st_mysql_options completely
222 out of mysql.h
223*/
225
228 unsigned int port, protocol;
229 unsigned long client_flag;
233 char *ssl_key; /* PEM key file */
234 char *ssl_cert; /* PEM cert file */
235 char *ssl_ca; /* PEM CA file */
236 char *ssl_capath; /* PEM directory of CA-s? */
237 char *ssl_cipher; /* cipher to use */
239 unsigned long max_allowed_packet;
241 /**
242 The local address to bind when connecting to remote server.
243 */
245 /* 0 - never report, 1 - always report (default) */
247
248 /* function pointers for local infile support */
249 int (*local_infile_init)(void **, const char *, void *);
250 int (*local_infile_read)(void *, char *, unsigned int);
251 void (*local_infile_end)(void *);
252 int (*local_infile_error)(void *, char *, unsigned int);
255};
256
263
271
279
285
286typedef struct character_set {
287 unsigned int number; /* character set number */
288 unsigned int state; /* character set state */
289 const char *csname; /* character set name */
290 const char *name; /* collation name */
291 const char *comment; /* comment */
292 const char *dir; /* character set directory */
293 unsigned int mbminlen; /* min. length for multibyte strings */
294 unsigned int mbmaxlen; /* max. length for multibyte strings */
296
297struct MYSQL_METHODS;
298struct MYSQL_STMT;
299
300typedef struct MYSQL {
301 NET net; /* Communication parameters */
302 unsigned char *connector_fd; /* ConnectorFd for SSL */
304 char *info, *db;
309 uint64_t insert_id; /* id if insert on table with NEXTNR */
310 uint64_t extra_info; /* Not used */
311 unsigned long thread_id; /* Id for connection in server */
312 unsigned long packet_length;
313 unsigned int port;
315 unsigned int protocol_version;
316 unsigned int field_count;
317 unsigned int server_status;
318 unsigned int server_language;
319 unsigned int warning_count;
323 bool free_me; /* If free in mysql_close */
324 bool reconnect; /* set to 1 if automatic reconnect */
325
326 /* session-wide random string */
328
329 LIST *stmts; /* list of all statements */
330 const struct MYSQL_METHODS *methods;
331 void *thd;
332 /*
333 Points to boolean flag in MYSQL_RES or MYSQL_STMT. We set this flag
334 from mysql_stmt_close if close had to cancel result set of this object.
335 */
339
340typedef struct MYSQL_RES {
341 uint64_t row_count;
345 unsigned long *lengths; /* column lengths of current row */
346 MYSQL *handle; /* for unbuffered reads */
347 const struct MYSQL_METHODS *methods;
348 MYSQL_ROW row; /* If unbuffered read */
349 MYSQL_ROW current_row; /* buffer to current row */
352 bool eof; /* Used by mysql_fetch_row */
353 /* mysql_stmt_close() had to cancel this result */
358
359/**
360 Flag to indicate that COM_BINLOG_DUMP_GTID should
361 be used rather than COM_BINLOG_DUMP in the @sa mysql_binlog_open().
362*/
363#define MYSQL_RPL_GTID (1 << 16)
364/**
365 Skip HEARBEAT events in the @sa mysql_binlog_fetch().
366*/
367#define MYSQL_RPL_SKIP_HEARTBEAT (1 << 17)
368
369/**
370 Flag to indicate that the heartbeat_event being generated
371 is using the class Heartbeat_event_v2
372*/
373#define USE_HEARTBEAT_EVENT_V2 (1 << 1)
374
375/**
376 Flag to indicate that tagged GTIDS will be skipped in COM_BINLOG_DUMP_GTIDS
377*/
378#define MYSQL_RPL_SKIP_TAGGED_GTIDS (1 << 2)
379
380/**
381 Tagged GTIDS are supported starting from below version of MySQL
382*/
383#define MYSQL_TAGGED_GTIDS_VERSION_SUPPORT 80300
384
385/**
386 Struct for information about a replication stream.
387
388 @sa mysql_binlog_open()
389 @sa mysql_binlog_fetch()
390 @sa mysql_binlog_close()
391*/
392typedef struct MYSQL_RPL {
393 size_t file_name_length; /** Length of the 'file_name' or 0 */
394 const char *file_name; /** Filename of the binary log to read */
395 uint64_t start_position; /** Position in the binary log to */
396 /* start reading from */
397 unsigned int server_id; /** Server ID to use when identifying */
398 /* with the master */
399 unsigned int flags; /** Flags, e.g. MYSQL_RPL_GTID */
400
401 /** Size of gtid set data */
403 /** Callback function which is called */
404 /* from @sa mysql_binlog_open() to */
405 /* fill command packet gtid set */
406 void (*fix_gtid_set)(struct MYSQL_RPL *rpl, unsigned char *packet_gtid_set);
407 void *gtid_set_arg; /** GTID set data or an argument for */
408 /* fix_gtid_set() callback function */
409
410 unsigned long size; /** Size of the packet returned by */
411 /* mysql_binlog_fetch() */
412 const unsigned char *buffer; /** Pointer to returned data */
414
415/*
416 Set up and bring down the server; to ensure that applications will
417 work when linked against either the standard client library or the
418 embedded server library, these functions should be called.
419*/
420int STDCALL mysql_server_init(int argc, char **argv, char **groups);
421void STDCALL mysql_server_end(void);
422
423/*
424 mysql_server_init/end need to be called when using libmysqld or
425 libmysqlclient (exactly, mysql_server_init() is called by mysql_init() so
426 you don't need to call it explicitly; but you need to call
427 mysql_server_end() to free memory). The names are a bit misleading
428 (mysql_SERVER* to be used when using libmysqlCLIENT). So we add more general
429 names which suit well whether you're using libmysqld or libmysqlclient. We
430 intend to promote these aliases over the mysql_server* ones.
431*/
432#define mysql_library_init mysql_server_init
433#define mysql_library_end mysql_server_end
434
435/*
436 Set up and bring down a thread; these function should be called
437 for each thread in an application which opens at least one MySQL
438 connection. All uses of the connection(s) should be between these
439 function calls.
440*/
441bool STDCALL mysql_thread_init(void);
442void STDCALL mysql_thread_end(void);
443
444/*
445 Functions to get information from the MYSQL and MYSQL_RES structures
446 Should definitely be used if one uses shared libraries.
447*/
448
449uint64_t STDCALL mysql_num_rows(MYSQL_RES *res);
450unsigned int STDCALL mysql_num_fields(MYSQL_RES *res);
451bool STDCALL mysql_eof(MYSQL_RES *res);
453 unsigned int fieldnr);
458
459unsigned int STDCALL mysql_field_count(MYSQL *mysql);
462unsigned int STDCALL mysql_errno(MYSQL *mysql);
463const char *STDCALL mysql_error(MYSQL *mysql);
464const char *STDCALL mysql_sqlstate(MYSQL *mysql);
466const char *STDCALL mysql_info(MYSQL *mysql);
467unsigned long STDCALL mysql_thread_id(MYSQL *mysql);
469int STDCALL mysql_set_character_set(MYSQL *mysql, const char *csname);
470
472bool STDCALL mysql_ssl_set(MYSQL *mysql, const char *key, const char *cert,
473 const char *ca, const char *capath,
474 const char *cipher);
477void *STDCALL mysql_get_ssl_session_data(MYSQL *mysql, unsigned int n_ticket,
478 unsigned int *out_len);
480bool STDCALL mysql_change_user(MYSQL *mysql, const char *user,
481 const char *passwd, const char *db);
483 const char *user, const char *passwd,
484 const char *db, unsigned int port,
485 const char *unix_socket,
486 unsigned long clientflag);
487int STDCALL mysql_select_db(MYSQL *mysql, const char *db);
488int STDCALL mysql_query(MYSQL *mysql, const char *q);
489int STDCALL mysql_send_query(MYSQL *mysql, const char *q, unsigned long length);
490int STDCALL mysql_real_query(MYSQL *mysql, const char *q, unsigned long length);
493
495 MYSQL *mysql, const char *host, const char *user, const char *passwd,
496 const char *db, unsigned int port, const char *unix_socket,
497 unsigned long clientflag);
499 MYSQL *mysql, const char *query, unsigned long length);
501 MYSQL *mysql, const char *query, unsigned long length);
506 const char *db,
507 bool *error);
510
513 const char **data, size_t *length);
516 const char **data, size_t *length);
517/* local infile support */
518
519#define LOCAL_INFILE_ERROR_LEN 512
520
522 MYSQL *mysql, int (*local_infile_init)(void **, const char *, void *),
523 int (*local_infile_read)(void *, char *, unsigned int),
524 void (*local_infile_end)(void *),
525 int (*local_infile_error)(void *, char *, unsigned int), void *);
526
529 enum mysql_enum_shutdown_level shutdown_level);
531int STDCALL mysql_refresh(MYSQL *mysql, unsigned int refresh_options);
532int STDCALL mysql_kill(MYSQL *mysql, unsigned long pid);
534 enum enum_mysql_set_option option);
536const char *STDCALL mysql_stat(MYSQL *mysql);
539const char *STDCALL mysql_get_client_info(void);
541unsigned long STDCALL mysql_get_client_version(void);
545MYSQL_RES *STDCALL mysql_list_dbs(MYSQL *mysql, const char *wild);
546MYSQL_RES *STDCALL mysql_list_tables(MYSQL *mysql, const char *wild);
549 const void *arg);
551 const void *arg1, const void *arg2);
553 const void *arg);
556void STDCALL mysql_data_seek(MYSQL_RES *result, uint64_t offset);
558 MYSQL_ROW_OFFSET offset);
560 MYSQL_FIELD_OFFSET offset);
563 MYSQL_ROW *row);
564
568 const char *wild);
569unsigned long STDCALL mysql_escape_string(char *to, const char *from,
570 unsigned long from_length);
571unsigned long STDCALL mysql_hex_string(char *to, const char *from,
572 unsigned long from_length);
574 const char *from,
575 unsigned long length);
577 const char *from,
578 unsigned long length,
579 char quote);
580void STDCALL mysql_debug(const char *debug);
582unsigned int STDCALL mysql_thread_safe(void);
586
590
591/*
592 The following definitions are added for the enhanced
593 client-server protocol
594*/
595
596/* statement state */
603
604/*
605 This structure is used to define bind information, and
606 internally by the client library.
607 Public members with their descriptions are listed below
608 (conventionally `On input' refers to the binds given to
609 mysql_stmt_bind_param, `On output' refers to the binds given
610 to mysql_stmt_bind_result):
611
612 buffer_type - One of the MYSQL_* types, used to describe
613 the host language type of buffer.
614 On output: if column type is different from
615 buffer_type, column value is automatically converted
616 to buffer_type before it is stored in the buffer.
617 buffer - On input: points to the buffer with input data.
618 On output: points to the buffer capable to store
619 output data.
620 The type of memory pointed by buffer must correspond
621 to buffer_type. See the correspondence table in
622 the comment to mysql_stmt_bind_param.
623
624 The two above members are mandatory for any kind of bind.
625
626 buffer_length - the length of the buffer. You don't have to set
627 it for any fixed length buffer: float, double,
628 int, etc. It must be set however for variable-length
629 types, such as BLOBs or STRINGs.
630
631 length - On input: in case when lengths of input values
632 are different for each execute, you can set this to
633 point at a variable containing value length. This
634 way the value length can be different in each execute.
635 If length is not NULL, buffer_length is not used.
636 Note, length can even point at buffer_length if
637 you keep bind structures around while fetching:
638 this way you can change buffer_length before
639 each execution, everything will work ok.
640 On output: if length is set, mysql_stmt_fetch will
641 write column length into it.
642
643 is_null - On input: points to a boolean variable that should
644 be set to TRUE for NULL values.
645 This member is useful only if your data may be
646 NULL in some but not all cases.
647 If your data is never NULL, is_null should be set to 0.
648 If your data is always NULL, set buffer_type
649 to MYSQL_TYPE_NULL, and is_null will not be used.
650
651 is_unsigned - On input: used to signify that values provided for one
652 of numeric types are unsigned.
653 On output describes signedness of the output buffer.
654 If, taking into account is_unsigned flag, column data
655 is out of range of the output buffer, data for this column
656 is regarded truncated. Note that this has no correspondence
657 to the sign of result set column, if you need to find it out
658 use mysql_stmt_result_metadata.
659 error - where to write a truncation error if it is present.
660 possible error value is:
661 0 no truncation
662 1 value is out of range or buffer is too small
663
664 Please note that MYSQL_BIND also has internals members.
665*/
666
667typedef struct MYSQL_BIND {
668 unsigned long *length; /* output length pointer */
669 bool *is_null; /* Pointer to null indicator */
670 void *buffer; /* buffer to get/put data */
671 /* set this if you want to track data truncations happened during fetch */
672 bool *error;
673 unsigned char *row_ptr; /* for the current data position */
674 void (*store_param_func)(NET *net, struct MYSQL_BIND *param);
675 void (*fetch_result)(struct MYSQL_BIND *, MYSQL_FIELD *, unsigned char **row);
676 void (*skip_result)(struct MYSQL_BIND *, MYSQL_FIELD *, unsigned char **row);
677 /* output buffer length, must be set when fetching str/binary */
678 unsigned long buffer_length;
679 unsigned long offset; /* offset position for char/binary fetch */
680 unsigned long length_value; /* Used if length is 0 */
681 unsigned int param_number; /* For null count and error messages */
682 unsigned int pack_length; /* Internal length for packed data */
683 enum enum_field_types buffer_type; /* buffer type */
684 bool error_value; /* used if error is 0 */
685 bool is_unsigned; /* set if integer type is unsigned */
686 bool long_data_used; /* If used with mysql_send_long_data */
687 bool is_null_value; /* Used if is_null is 0 */
690
691struct MYSQL_STMT_EXT;
692
693/* statement handler */
694typedef struct MYSQL_STMT {
695 struct MEM_ROOT *mem_root; /* root allocations */
696 LIST list; /* list to keep track of all stmts */
697 MYSQL *mysql; /* connection handle */
698 MYSQL_BIND *params; /* input parameters */
699 MYSQL_BIND *bind; /* output parameters */
700 MYSQL_FIELD *fields; /* result set metadata */
701 MYSQL_DATA result; /* cached result set */
702 MYSQL_ROWS *data_cursor; /* current row in cached result */
703 /*
704 mysql_stmt_fetch() calls this function to fetch one row (it's different
705 for buffered, unbuffered and cursor fetch).
706 */
707 int (*read_row_func)(struct MYSQL_STMT *stmt, unsigned char **row);
708 /* copy of mysql->affected_rows after statement execution */
710 uint64_t insert_id; /* copy of mysql->insert_id */
711 unsigned long stmt_id; /* Id for prepared statement */
712 unsigned long flags; /* i.e. type of cursor to open */
713 unsigned long prefetch_rows; /* number of rows per one COM_FETCH */
714 /*
715 Copied from mysql->server_status after execute/fetch to know
716 server-side cursor status for this statement.
717 */
718 unsigned int server_status;
719 unsigned int last_errno; /* error code */
720 unsigned int param_count; /* input parameter count */
721 unsigned int field_count; /* number of columns in result set */
722 enum enum_mysql_stmt_state state; /* statement state */
723 char last_error[MYSQL_ERRMSG_SIZE]; /* error message */
725 /* Types of input parameters should be sent to server */
727 bool bind_param_done; /* input buffers were supplied */
728 unsigned char bind_result_done; /* output buffers were supplied */
729 /* mysql_stmt_close() had to cancel this result */
731 /*
732 Is set to true if we need to calculate field->max_length for
733 metadata fields when doing mysql_stmt_store_result.
734 */
738
740 /*
741 When doing mysql_stmt_store_result calculate max_length attribute
742 of statement metadata. This is to be consistent with the old API,
743 where this was done automatically.
744 In the new API we do that only by request because it slows down
745 mysql_stmt_store_result sufficiently.
746 */
748 /*
749 unsigned long with combination of cursor flags (read only, for update,
750 etc)
751 */
753 /*
754 Amount of rows to retrieve from server per one fetch if using cursors.
755 Accepts unsigned long attribute in the range 1 - ulong_max
756 */
759
761 MYSQL_BIND *binds, const char **names);
762
765 unsigned long length);
769 unsigned int column, unsigned long offset);
771unsigned long STDCALL mysql_stmt_param_count(MYSQL_STMT *stmt);
773 enum enum_stmt_attr_type attr_type,
774 const void *attr);
776 enum enum_stmt_attr_type attr_type,
777 void *attr);
780 unsigned n_params, const char **names);
786 unsigned int param_number,
787 const char *data, unsigned long length);
790unsigned int STDCALL mysql_stmt_errno(MYSQL_STMT *stmt);
791const char *STDCALL mysql_stmt_error(MYSQL_STMT *stmt);
792const char *STDCALL mysql_stmt_sqlstate(MYSQL_STMT *stmt);
794 MYSQL_ROW_OFFSET offset);
796void STDCALL mysql_stmt_data_seek(MYSQL_STMT *stmt, uint64_t offset);
800unsigned int STDCALL mysql_stmt_field_count(MYSQL_STMT *stmt);
801
804bool STDCALL mysql_autocommit(MYSQL *mysql, bool auto_mode);
809
810/* Public key reset */
812
813/* status return codes */
814#define MYSQL_NO_DATA 100
815#define MYSQL_DATA_TRUNCATED 101
816
817#define mysql_reload(mysql) mysql_refresh((mysql), REFRESH_GRANT)
818
819#define HAVE_MYSQL_REAL_CONNECT
820
822 const char *dns_srv_name,
823 const char *user, const char *passwd,
824 const char *db,
825 unsigned long client_flag);
826
828
829#ifdef __cplusplus
830}
831#endif
832
833#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:55
mysql_enum_shutdown_level
We want levels to be in growing order of hardness (because we use number comparisons).
Definition: mysql_com.h:1005
static char * query
Definition: myisam_ftdump.cc:47
static char * dns_srv_name
Definition: mysql.cc:198
int STDCALL mysql_refresh(MYSQL *mysql, unsigned int refresh_options)
unsigned int STDCALL mysql_stmt_field_count(MYSQL_STMT *stmt)
Definition: libmysql.cc:2350
bool STDCALL mysql_stmt_close(MYSQL_STMT *stmt)
Definition: libmysql.cc:4458
const char *STDCALL mysql_get_client_info(void)
Definition: libmysql.cc:970
const char *STDCALL mysql_sqlstate(MYSQL *mysql)
Definition: client.cc:9530
void STDCALL mysql_data_seek(MYSQL_RES *result, uint64_t offset)
Definition: libmysql.cc:684
bool STDCALL mysql_stmt_attr_get(MYSQL_STMT *stmt, enum enum_stmt_attr_type attr_type, void *attr)
Definition: libmysql.cc:2179
MYSQL_RES *STDCALL mysql_use_result(MYSQL *mysql)
Definition: client.cc:9500
int STDCALL mysql_binlog_open(MYSQL *mysql, MYSQL_RPL *rpl)
Open a new replication stream.
Definition: client.cc:7308
unsigned int STDCALL mysql_thread_safe(void)
Definition: libmysql.cc:1027
unsigned int STDCALL mysql_errno(MYSQL *mysql)
Definition: client.cc:9188
uint64_t STDCALL mysql_num_rows(MYSQL_RES *res)
Definition: client.cc:9182
enum net_async_status STDCALL mysql_reset_connection_nonblocking(MYSQL *mysql)
Definition: client.cc:9408
int STDCALL mysql_send_query(MYSQL *mysql, const char *q, unsigned long length)
int STDCALL mysql_reset_connection(MYSQL *mysql)
Definition: client.cc:9398
void STDCALL mysql_reset_server_public_key(void)
Definition: client_authentication.cc:1052
bool STDCALL mysql_more_results(MYSQL *mysql)
Definition: client.cc:9466
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:4784
bool STDCALL mysql_stmt_bind_param(MYSQL_STMT *stmt, MYSQL_BIND *bnd)
Definition: libmysql.cc:2543
const char *STDCALL mysql_info(MYSQL *mysql)
Definition: client.cc:9377
int STDCALL mysql_real_query(MYSQL *mysql, const char *q, unsigned long length)
bool STDCALL mysql_rollback(MYSQL *mysql)
Definition: client.cc:9440
mysql_option
Definition: mysql.h:170
@ MYSQL_OPT_CONNECT_TIMEOUT
Definition: mysql.h:171
@ MYSQL_OPT_COMPRESS
Definition: mysql.h:172
@ MYSQL_OPT_LOAD_DATA_LOCAL_DIR
Definition: mysql.h:214
@ MYSQL_SET_CHARSET_DIR
Definition: mysql.h:177
@ MYSQL_OPT_PROTOCOL
Definition: mysql.h:180
@ MYSQL_OPT_CONNECT_ATTR_DELETE
Definition: mysql.h:199
@ MYSQL_OPT_SSL_CIPHER
Definition: mysql.h:194
@ MYSQL_OPT_TLS_SNI_SERVERNAME
Definition: mysql.h:217
@ MYSQL_OPT_LOCAL_INFILE
Definition: mysql.h:179
@ MYSQL_SET_CHARSET_NAME
Definition: mysql.h:178
@ MYSQL_OPT_NET_BUFFER_LENGTH
Definition: mysql.h:204
@ MYSQL_OPT_MAX_ALLOWED_PACKET
Definition: mysql.h:203
@ MYSQL_SHARED_MEMORY_BASE_NAME
Definition: mysql.h:181
@ MYSQL_SERVER_PUBLIC_KEY
Definition: mysql.h:200
@ MYSQL_OPT_SSL_CA
Definition: mysql.h:192
@ MYSQL_OPT_READ_TIMEOUT
Definition: mysql.h:182
@ MYSQL_OPT_BIND
Definition: mysql.h:189
@ MYSQL_OPT_TLS_VERSION
Definition: mysql.h:205
@ MYSQL_OPT_WRITE_TIMEOUT
Definition: mysql.h:183
@ MYSQL_OPT_SSL_KEY
Definition: mysql.h:190
@ MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS
Definition: mysql.h:202
@ MYSQL_OPT_CONNECT_ATTR_ADD
Definition: mysql.h:198
@ MYSQL_OPT_SSL_FIPS_MODE
Definition: mysql.h:210
@ MYSQL_OPT_ZSTD_COMPRESSION_LEVEL
Definition: mysql.h:213
@ MYSQL_READ_DEFAULT_GROUP
Definition: mysql.h:176
@ MYSQL_OPT_CONNECT_ATTR_RESET
Definition: mysql.h:197
@ MYSQL_OPT_SSL_CRLPATH
Definition: mysql.h:196
@ MYSQL_OPT_GET_SERVER_PUBLIC_KEY
Definition: mysql.h:207
@ MYSQL_OPT_SSL_CERT
Definition: mysql.h:191
@ MYSQL_READ_DEFAULT_FILE
Definition: mysql.h:175
@ MYSQL_OPT_SSL_SESSION_DATA
Definition: mysql.h:216
@ MYSQL_OPT_SSL_MODE
Definition: mysql.h:206
@ MYSQL_OPT_SSL_CAPATH
Definition: mysql.h:193
@ MYSQL_DEFAULT_AUTH
Definition: mysql.h:188
@ MYSQL_PLUGIN_DIR
Definition: mysql.h:187
@ MYSQL_OPT_USER_PASSWORD
Definition: mysql.h:215
@ MYSQL_OPT_USE_RESULT
Definition: mysql.h:184
@ MYSQL_OPT_RETRY_COUNT
Definition: mysql.h:208
@ MYSQL_REPORT_DATA_TRUNCATION
Definition: mysql.h:185
@ MYSQL_OPT_COMPRESSION_ALGORITHMS
Definition: mysql.h:212
@ MYSQL_OPT_SSL_CRL
Definition: mysql.h:195
@ MYSQL_OPT_OPTIONAL_RESULTSET_METADATA
Definition: mysql.h:209
@ MYSQL_ENABLE_CLEARTEXT_PLUGIN
Definition: mysql.h:201
@ MYSQL_OPT_NAMED_PIPE
Definition: mysql.h:173
@ MYSQL_INIT_COMMAND
Definition: mysql.h:174
@ MYSQL_OPT_TLS_CIPHERSUITES
Definition: mysql.h:211
@ MYSQL_OPT_RECONNECT
Definition: mysql.h:186
uint64_t STDCALL mysql_stmt_insert_id(MYSQL_STMT *stmt)
Definition: libmysql.cc:2370
MYSQL_FIELD *STDCALL mysql_fetch_fields(MYSQL_RES *res)
Definition: client.cc:9522
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:9526
MYSQL_ROW STDCALL mysql_fetch_row(MYSQL_RES *result)
Definition: client.cc:8409
const char *STDCALL mysql_get_host_info(MYSQL *mysql)
Definition: libmysql.cc:962
MYSQL_RES *STDCALL mysql_stmt_result_metadata(MYSQL_STMT *stmt)
Definition: libmysql.cc:1738
uint64_t STDCALL mysql_affected_rows(MYSQL *mysql)
Definition: client.cc:9504
enum_mysql_stmt_state
Definition: mysql.h:597
@ MYSQL_STMT_PREPARE_DONE
Definition: mysql.h:599
@ MYSQL_STMT_INIT_DONE
Definition: mysql.h:598
@ MYSQL_STMT_FETCH_DONE
Definition: mysql.h:601
@ MYSQL_STMT_EXECUTE_DONE
Definition: mysql.h:600
bool STDCALL mysql_eof(MYSQL_RES *res)
Definition: libmysql.cc:978
unsigned long STDCALL mysql_thread_id(MYSQL *mysql)
Definition: libmysql.cc:999
int STDCALL mysql_kill(MYSQL *mysql, unsigned long pid)
#define STDCALL
Definition: mysql.h:73
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:9516
MYSQL_ROW_OFFSET STDCALL mysql_stmt_row_tell(MYSQL_STMT *stmt)
Definition: libmysql.cc:4333
int STDCALL mysql_options4(MYSQL *mysql, enum mysql_option option, const void *arg1, const void *arg2)
Definition: client.cc:9085
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:9315
bool STDCALL mysql_stmt_free_result(MYSQL_STMT *stmt)
Definition: libmysql.cc:4434
bool STDCALL mysql_stmt_attr_set(MYSQL_STMT *stmt, enum enum_stmt_attr_type attr_type, const void *attr)
Definition: libmysql.cc:2149
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:3518
bool STDCALL mysql_free_ssl_session_data(MYSQL *mysql, void *data)
Free a saved SSL session serialization.
Definition: client.cc:3604
int STDCALL mysql_next_result(MYSQL *mysql)
Definition: client.cc:9478
int STDCALL mysql_select_db(MYSQL *mysql, const char *db)
Definition: client.cc:7492
int STDCALL mysql_stmt_fetch(MYSQL_STMT *stmt)
Definition: libmysql.cc:4015
bool STDCALL mysql_change_user(MYSQL *mysql, const char *user, const char *passwd, const char *db)
Definition: libmysql.cc:288
bool STDCALL mysql_bind_param(MYSQL *mysql, unsigned n_params, MYSQL_BIND *binds, const char **names)
Definition: libmysql.cc:2546
unsigned long STDCALL mysql_get_server_version(MYSQL *mysql)
Definition: client.cc:9292
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:2332
int STDCALL mysql_shutdown(MYSQL *mysql, enum mysql_enum_shutdown_level shutdown_level)
Definition: libmysql.cc:757
unsigned int STDCALL mysql_warning_count(MYSQL *mysql)
Definition: libmysql.cc:997
enum_stmt_attr_type
Definition: mysql.h:739
@ STMT_ATTR_PREFETCH_ROWS
Definition: mysql.h:757
@ STMT_ATTR_UPDATE_MAX_LENGTH
Definition: mysql.h:747
@ STMT_ATTR_CURSOR_TYPE
Definition: mysql.h:752
int STDCALL mysql_stmt_next_result(MYSQL_STMT *stmt)
Definition: libmysql.cc:4592
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:1007
void STDCALL myodbc_remove_escape(MYSQL *mysql, char *name)
Definition: libmysql.cc:1172
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:174
MYSQL_RES *STDCALL mysql_store_result(MYSQL *mysql)
Definition: client.cc:8176
int STDCALL mysql_server_init(int argc, char **argv, char **groups)
Definition: libmysql.cc:150
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:4518
unsigned long *STDCALL mysql_fetch_lengths(MYSQL_RES *result)
Definition: client.cc:8502
enum net_async_status STDCALL mysql_next_result_nonblocking(MYSQL *mysql)
Definition: libmysql.cc:4572
const char *STDCALL mysql_get_client_info_with_version_update(void)
Definition: libmysql.cc:972
bool STDCALL mysql_read_query_result(MYSQL *mysql)
Definition: libmysql.cc:4627
unsigned int mysql_port
Definition: client.cc:220
struct MYSQL_FIELD MYSQL_FIELD
MYSQL_FIELD_OFFSET STDCALL mysql_field_tell(MYSQL_RES *res)
Definition: libmysql.cc:989
struct MYSQL_STMT MYSQL_STMT
MYSQL_RES *STDCALL mysql_stmt_param_metadata(MYSQL_STMT *stmt)
Definition: libmysql.cc:1780
MYSQL_FIELD_OFFSET STDCALL mysql_field_seek(MYSQL_RES *result, MYSQL_FIELD_OFFSET offset)
Definition: libmysql.cc:708
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:8887
int STDCALL mysql_stmt_store_result(MYSQL_STMT *stmt)
Definition: libmysql.cc:4211
bool STDCALL mysql_get_ssl_session_reused(MYSQL *mysql)
Check if the current ssl session is reused.
Definition: client.cc:3623
int STDCALL mysql_set_server_option(MYSQL *mysql, enum enum_mysql_set_option option)
Definition: libmysql.cc:854
mysql_status
Definition: mysql.h:257
@ MYSQL_STATUS_USE_RESULT
Definition: mysql.h:260
@ MYSQL_STATUS_STATEMENT_GET_RESULT
Definition: mysql.h:261
@ MYSQL_STATUS_GET_RESULT
Definition: mysql.h:259
@ MYSQL_STATUS_READY
Definition: mysql.h:258
MYSQL_STMT *STDCALL mysql_stmt_init(MYSQL *mysql)
Definition: libmysql.cc:1452
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:2341
const char *STDCALL mysql_get_server_info_with_version_update(MYSQL *mysql)
Return the full version of the connected server, including the update component.
Definition: libmysql.cc:923
uint64_t STDCALL mysql_insert_id(MYSQL *mysql)
Definition: libmysql.cc:995
const char *STDCALL mysql_stat(MYSQL *mysql)
Definition: libmysql.cc:881
struct MYSQL_RES MYSQL_RES
unsigned int STDCALL mysql_get_proto_info(MYSQL *mysql)
Definition: libmysql.cc:966
void STDCALL mysql_stmt_data_seek(MYSQL_STMT *stmt, uint64_t offset)
Definition: libmysql.cc:4343
MYSQL_ROWS * MYSQL_ROW_OFFSET
Definition: mysql.h:159
bool STDCALL mysql_ssl_set(MYSQL *mysql, const char *key, const char *cert, const char *ca, const char *capath, const char *cipher)
Definition: client.cc:3417
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:9256
int STDCALL mysql_binlog_fetch(MYSQL *mysql, MYSQL_RPL *rpl)
Fetch one event from the server.
Definition: client.cc:7435
MYSQL_RES *STDCALL mysql_list_tables(MYSQL *mysql, const char *wild)
Definition: libmysql.cc:733
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:8235
MYSQL *STDCALL mysql_init(MYSQL *mysql)
Definition: client.cc:3265
const char *STDCALL mysql_get_server_info(MYSQL *mysql)
Definition: libmysql.cc:897
int STDCALL mysql_stmt_execute(MYSQL_STMT *stmt)
Definition: libmysql.cc:2305
MYSQL_ROW_OFFSET STDCALL mysql_row_tell(MYSQL_RES *res)
Definition: libmysql.cc:985
void STDCALL mysql_get_character_set_info(MYSQL *mysql, MY_CHARSET_INFO *charset)
Definition: libmysql.cc:1011
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:1927
unsigned long STDCALL mysql_escape_string(char *to, const char *from, unsigned long from_length)
void STDCALL mysql_server_end(void)
Definition: libmysql.cc:215
MYSQL_RES *STDCALL mysql_list_processes(MYSQL *mysql)
Definition: libmysql.cc:780
const char *STDCALL mysql_stmt_sqlstate(MYSQL_STMT *stmt)
Definition: libmysql.cc:4540
int STDCALL mysql_query(MYSQL *mysql, const char *q)
Definition: libmysql.cc:676
struct MYSQL_ROWS MYSQL_ROWS
MYSQL_ROW_OFFSET STDCALL mysql_row_seek(MYSQL_RES *result, MYSQL_ROW_OFFSET offset)
Definition: libmysql.cc:700
struct MYSQL MYSQL
bool STDCALL mysql_commit(MYSQL *mysql)
Definition: client.cc:9431
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:264
@ MYSQL_PROTOCOL_TCP
Definition: mysql.h:266
@ MYSQL_PROTOCOL_DEFAULT
Definition: mysql.h:265
@ MYSQL_PROTOCOL_MEMORY
Definition: mysql.h:269
@ MYSQL_PROTOCOL_PIPE
Definition: mysql.h:268
@ MYSQL_PROTOCOL_SOCKET
Definition: mysql.h:267
unsigned long STDCALL mysql_get_client_version(void)
Definition: libmysql.cc:976
char * mysql_unix_port
Definition: client.cc:221
unsigned int STDCALL mysql_stmt_errno(MYSQL_STMT *stmt)
Definition: libmysql.cc:4535
const char *STDCALL mysql_get_ssl_cipher(MYSQL *mysql)
Definition: client.cc:3495
uint64_t STDCALL mysql_stmt_num_rows(MYSQL_STMT *stmt)
Definition: libmysql.cc:4362
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:9192
struct character_set MY_CHARSET_INFO
bool STDCALL mysql_autocommit(MYSQL *mysql, bool auto_mode)
Definition: client.cc:9449
void STDCALL mysql_free_result(MYSQL_RES *result)
Definition: client.cc:1956
MYSQL_RES *STDCALL mysql_list_dbs(MYSQL *mysql, const char *wild)
Definition: libmysql.cc:719
MYSQL_RES *STDCALL mysql_list_fields(MYSQL *mysql, const char *table, const char *wild)
Definition: libmysql.cc:786
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:8427
int STDCALL mysql_options(MYSQL *mysql, enum mysql_option option, const void *arg)
Definition: client.cc:8548
void STDCALL mysql_debug(const char *debug)
Definition: libmysql.cc:260
bool STDCALL mysql_thread_init(void)
Definition: libmysql.cc:233
mysql_ssl_mode
Definition: mysql.h:272
@ SSL_MODE_REQUIRED
Definition: mysql.h:275
@ SSL_MODE_PREFERRED
Definition: mysql.h:274
@ SSL_MODE_VERIFY_CA
Definition: mysql.h:276
@ SSL_MODE_DISABLED
Definition: mysql.h:273
@ SSL_MODE_VERIFY_IDENTITY
Definition: mysql.h:277
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:3858
const char *STDCALL mysql_stmt_error(MYSQL_STMT *stmt)
Definition: libmysql.cc:4549
void mysql_set_local_infile_default(MYSQL *mysql)
Definition: libmysql.cc:664
void STDCALL mysql_binlog_close(MYSQL *mysql, MYSQL_RPL *rpl)
Close replication stream.
Definition: client.cc:7477
MYSQL_ROW_OFFSET STDCALL mysql_stmt_row_seek(MYSQL_STMT *stmt, MYSQL_ROW_OFFSET offset)
Definition: libmysql.cc:4320
void STDCALL mysql_close(MYSQL *sock)
Definition: client.cc:7652
struct MYSQL_RPL MYSQL_RPL
Struct for information about a replication stream.
int my_socket
Definition: mysql.h:65
bool STDCALL mysql_stmt_bind_named_param(MYSQL_STMT *stmt, MYSQL_BIND *binds, unsigned n_params, const char **names)
Definition: libmysql.cc:2658
uint64_t my_ulonglong
Definition: mysql.h:54
int STDCALL mysql_dump_debug_info(MYSQL *mysql)
Definition: libmysql.cc:862
enum enum_resultset_metadata STDCALL mysql_result_metadata(MYSQL_RES *result)
Definition: client.cc:9508
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:9229
void STDCALL mysql_thread_end(void)
Definition: libmysql.cc:235
unsigned int MYSQL_FIELD_OFFSET
Definition: mysql.h:146
char ** MYSQL_ROW
Definition: mysql.h:145
int STDCALL mysql_ping(MYSQL *mysql)
Definition: libmysql.cc:888
unsigned int STDCALL mysql_num_fields(MYSQL_RES *res)
Definition: client.cc:9184
struct MYSQL_BIND MYSQL_BIND
mysql_ssl_fips_mode
Definition: mysql.h:280
@ SSL_FIPS_MODE_OFF
Definition: mysql.h:281
@ SSL_FIPS_MODE_STRICT
Definition: mysql.h:283
@ SSL_FIPS_MODE_ON
Definition: mysql.h:282
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:1070
connect_stage
Describes the current state of Asynchronous connection phase state machine.
Definition: mysql_com.h:1252
#define MYSQL_ERRMSG_SIZE
Max length of a error message.
Definition: mysql_com.h:881
#define SCRAMBLE_LENGTH
Length of random string sent by server on handshake; this is also length of obfuscated password,...
Definition: mysql_com.h:128
enum_mysql_set_option
options for mysql_options()
Definition: mysql_com.h:1057
#define SQLSTATE_LENGTH
Definition: mysql_com.h:75
enum_resultset_metadata
Definition: mysql_com.h:1024
Time declarations shared between the server and client API: you should not add anything to this heade...
char * user
Definition: mysqladmin.cc:66
const char * host
Definition: mysqladmin.cc:65
void error(const char *format,...)
static MYSQL * sock
Definition: mysqlcheck.cc:57
static PFS_engine_table_share_proxy table
Definition: pfs.cc:61
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:76
Definition: instrumented_condition_variable.h:32
Definition: buffer.h:45
Definition: options.cc:57
Definition: rpl_relay_log_sanitizer.cc:30
net_async_status
Definition: plugin_auth_common.h:136
required string key
Definition: replication_asynchronous_connection_failover.proto:60
required uint64 port
Definition: replication_asynchronous_connection_failover.proto:33
required string type
Definition: replication_group_member_actions.proto:34
case opt name
Definition: sslopt-case.h:29
Definition: m_ctype.h:423
Definition: init_commands_array.h:26
Definition: my_list.h:36
The MEM_ROOT is a simple arena, where allocations are carved out of larger blocks.
Definition: my_alloc.h:83
Definition: mysql.h:667
unsigned long buffer_length
Definition: mysql.h:678
void * extension
Definition: mysql.h:688
unsigned int param_number
Definition: mysql.h:681
void(* store_param_func)(NET *net, struct MYSQL_BIND *param)
Definition: mysql.h:674
bool error_value
Definition: mysql.h:684
bool long_data_used
Definition: mysql.h:686
void * buffer
Definition: mysql.h:670
bool is_unsigned
Definition: mysql.h:685
void(* fetch_result)(struct MYSQL_BIND *, MYSQL_FIELD *, unsigned char **row)
Definition: mysql.h:675
unsigned long length_value
Definition: mysql.h:680
unsigned long * length
Definition: mysql.h:668
unsigned long offset
Definition: mysql.h:679
void(* skip_result)(struct MYSQL_BIND *, MYSQL_FIELD *, unsigned char **row)
Definition: mysql.h:676
bool * is_null
Definition: mysql.h:669
bool is_null_value
Definition: mysql.h:687
unsigned int pack_length
Definition: mysql.h:682
enum enum_field_types buffer_type
Definition: mysql.h:683
bool * error
Definition: mysql.h:672
unsigned char * row_ptr
Definition: mysql.h:673
Definition: mysql.h:163
MYSQL_ROWS * data
Definition: mysql.h:164
uint64_t rows
Definition: mysql.h:166
unsigned int fields
Definition: mysql.h:167
struct MEM_ROOT * alloc
Definition: mysql.h:165
Definition: mysql.h:121
unsigned int db_length
Definition: mysql.h:135
unsigned int name_length
Definition: mysql.h:131
unsigned int org_table_length
Definition: mysql.h:134
char * name
Definition: mysql.h:122
char * org_name
Definition: mysql.h:123
char * db
Definition: mysql.h:126
char * def
Definition: mysql.h:128
char * catalog
Definition: mysql.h:127
unsigned int charsetnr
Definition: mysql.h:140
unsigned int catalog_length
Definition: mysql.h:136
unsigned int org_name_length
Definition: mysql.h:132
unsigned int decimals
Definition: mysql.h:139
unsigned long max_length
Definition: mysql.h:130
unsigned int table_length
Definition: mysql.h:133
char * org_table
Definition: mysql.h:125
unsigned int def_length
Definition: mysql.h:137
void * extension
Definition: mysql.h:142
char * table
Definition: mysql.h:124
unsigned int flags
Definition: mysql.h:138
unsigned long length
Definition: mysql.h:129
enum enum_field_types type
Definition: mysql.h:141
Definition: sql_common.h:201
Definition: mysql.h:340
MYSQL_ROW current_row
Definition: mysql.h:349
struct MYSQL_DATA * data
Definition: mysql.h:343
unsigned int current_field
Definition: mysql.h:351
void * extension
Definition: mysql.h:356
enum enum_resultset_metadata metadata
Definition: mysql.h:355
MYSQL * handle
Definition: mysql.h:346
MYSQL_FIELD * fields
Definition: mysql.h:342
MYSQL_ROWS * data_cursor
Definition: mysql.h:344
bool eof
Definition: mysql.h:352
const struct MYSQL_METHODS * methods
Definition: mysql.h:347
MYSQL_ROW row
Definition: mysql.h:348
struct MEM_ROOT * field_alloc
Definition: mysql.h:350
uint64_t row_count
Definition: mysql.h:341
unsigned long * lengths
Definition: mysql.h:345
unsigned int field_count
Definition: mysql.h:351
bool unbuffered_fetch_cancelled
Definition: mysql.h:354
Definition: mysql.h:153
MYSQL_ROW data
Definition: mysql.h:155
struct MYSQL_ROWS * next
Definition: mysql.h:154
unsigned long length
Definition: mysql.h:156
Struct for information about a replication stream.
Definition: mysql.h:392
unsigned int server_id
Position in the binary log to
Definition: mysql.h:397
size_t file_name_length
Definition: mysql.h:393
unsigned long size
GTID set data or an argument for
Definition: mysql.h:410
uint64_t start_position
Filename of the binary log to read.
Definition: mysql.h:395
const unsigned char * buffer
Size of the packet returned by
Definition: mysql.h:412
void(* fix_gtid_set)(struct MYSQL_RPL *rpl, unsigned char *packet_gtid_set)
Callback function which is called
Definition: mysql.h:406
const char * file_name
Length of the 'file_name' or 0
Definition: mysql.h:394
size_t gtid_set_encoded_size
Flags, e.g.
Definition: mysql.h:402
void * gtid_set_arg
Definition: mysql.h:407
unsigned int flags
Server ID to use when identifying
Definition: mysql.h:399
Definition: libmysql.cc:112
char ** names
Definition: libmysql.cc:124
uint n_params
Stores the size of array of names for statement bind parameters.
Definition: libmysql.cc:123
Definition: mysql.h:694
bool bind_param_done
Definition: mysql.h:727
unsigned int last_errno
Definition: mysql.h:719
unsigned long flags
Definition: mysql.h:712
MYSQL * mysql
Definition: mysql.h:697
MYSQL_ROWS * data_cursor
Definition: mysql.h:702
unsigned int server_status
Definition: mysql.h:718
MYSQL_FIELD * fields
Definition: mysql.h:700
char last_error[MYSQL_ERRMSG_SIZE]
Definition: mysql.h:723
int(* read_row_func)(struct MYSQL_STMT *stmt, unsigned char **row)
Definition: mysql.h:707
enum enum_mysql_stmt_state state
Definition: mysql.h:722
bool send_types_to_server
Definition: mysql.h:726
unsigned char bind_result_done
Definition: mysql.h:728
MYSQL_BIND * bind
Definition: mysql.h:699
unsigned long prefetch_rows
Definition: mysql.h:713
uint64_t insert_id
Definition: mysql.h:710
MYSQL_DATA result
Definition: mysql.h:701
bool unbuffered_fetch_cancelled
Definition: mysql.h:730
unsigned int param_count
Definition: mysql.h:720
unsigned int field_count
Definition: mysql.h:721
unsigned long stmt_id
Definition: mysql.h:711
bool update_max_length
Definition: mysql.h:735
uint64_t affected_rows
Definition: mysql.h:709
LIST list
Definition: mysql.h:696
struct MYSQL_STMT_EXT * extension
Definition: mysql.h:736
char sqlstate[SQLSTATE_LENGTH+1]
Definition: mysql.h:724
MYSQL_BIND * params
Definition: mysql.h:698
struct MEM_ROOT * mem_root
Definition: mysql.h:695
Definition: mysql.h:300
unsigned int server_language
Definition: mysql.h:318
struct MEM_ROOT * field_alloc
Definition: mysql.h:307
bool free_me
Definition: mysql.h:323
unsigned int port
Definition: mysql.h:313
const struct MYSQL_METHODS * methods
Definition: mysql.h:330
unsigned long server_capabilities
Definition: mysql.h:314
struct CHARSET_INFO * charset
Definition: mysql.h:305
char * host_info
Definition: mysql.h:303
unsigned long packet_length
Definition: mysql.h:312
char * info
Definition: mysql.h:304
char * unix_socket
Definition: mysql.h:303
char * server_version
Definition: mysql.h:303
unsigned long client_flag
Definition: mysql.h:314
char * passwd
Definition: mysql.h:303
char * host
Definition: mysql.h:303
char * user
Definition: mysql.h:303
char scramble[SCRAMBLE_LENGTH+1]
Definition: mysql.h:327
void * thd
Definition: mysql.h:331
uint64_t affected_rows
Definition: mysql.h:308
MYSQL_FIELD * fields
Definition: mysql.h:306
unsigned int server_status
Definition: mysql.h:317
bool * unbuffered_fetch_owner
Definition: mysql.h:336
unsigned int warning_count
Definition: mysql.h:319
unsigned int protocol_version
Definition: mysql.h:315
char * db
Definition: mysql.h:304
NET net
Definition: mysql.h:301
bool reconnect
Definition: mysql.h:324
uint64_t insert_id
Definition: mysql.h:309
unsigned long thread_id
Definition: mysql.h:311
enum mysql_status status
Definition: mysql.h:321
LIST * stmts
Definition: mysql.h:329
uint64_t extra_info
Definition: mysql.h:310
void * extension
Definition: mysql.h:337
enum enum_resultset_metadata resultset_metadata
Definition: mysql.h:322
unsigned int field_count
Definition: mysql.h:316
unsigned char * connector_fd
Definition: mysql.h:302
Definition: mysql_com.h:914
Definition: mysql.h:286
const char * comment
Definition: mysql.h:291
const char * name
Definition: mysql.h:290
const char * csname
Definition: mysql.h:289
const char * dir
Definition: mysql.h:292
unsigned int number
Definition: mysql.h:287
unsigned int state
Definition: mysql.h:288
unsigned int mbminlen
Definition: mysql.h:293
unsigned int mbmaxlen
Definition: mysql.h:294
Definition: result.h:30
Definition: sql_common.h:172
Definition: mysql.h:226
unsigned int port
Definition: mysql.h:228
char * ssl_capath
Definition: mysql.h:236
char * my_cnf_group
Definition: mysql.h:232
int(* local_infile_init)(void **, const char *, void *)
Definition: mysql.h:249
char * ssl_ca
Definition: mysql.h:235
char * ssl_key
Definition: mysql.h:233
void(* local_infile_end)(void *)
Definition: mysql.h:251
char * ssl_cert
Definition: mysql.h:234
char * my_cnf_file
Definition: mysql.h:232
struct Init_commands_array * init_commands
Definition: mysql.h:231
void * local_infile_userdata
Definition: mysql.h:253
char * unix_socket
Definition: mysql.h:230
unsigned int read_timeout
Definition: mysql.h:227
unsigned long max_allowed_packet
Definition: mysql.h:239
char * password
Definition: mysql.h:230
int(* local_infile_error)(void *, char *, unsigned int)
Definition: mysql.h:252
char * ssl_cipher
Definition: mysql.h:237
char * host
Definition: mysql.h:230
char * db
Definition: mysql.h:230
unsigned int protocol
Definition: mysql.h:228
unsigned int write_timeout
Definition: mysql.h:227
bool report_data_truncation
Definition: mysql.h:246
char * charset_dir
Definition: mysql.h:232
char * bind_address
The local address to bind when connecting to remote server.
Definition: mysql.h:244
bool named_pipe
Definition: mysql.h:240
unsigned long client_flag
Definition: mysql.h:229
char * charset_name
Definition: mysql.h:232
char * user
Definition: mysql.h:230
unsigned int connect_timeout
Definition: mysql.h:227
bool compress
Definition: mysql.h:240
char * shared_memory_base_name
Definition: mysql.h:238
struct st_mysql_options_extention * extension
Definition: mysql.h:254
int(* local_infile_read)(void *, char *, unsigned int)
Definition: mysql.h:250
synode_no q[FIFO_SIZE]
Definition: xcom_base.cc:4143