49#ifdef HAVE_SYS_SELECT_H
50#include <sys/select.h>
105#define MY_INIT(name) \
107 my_progname = name; \
120#define MYSYS_ERRMSG_SIZE (512)
121#define MYSYS_STRERROR_SIZE (128)
123#define MY_FILE_ERROR ((size_t)-1)
131#define MY_WAIT_IF_FULL 32
132#define MY_IGNORE_BADFD 32
133#define MY_REPORT_WAITING_IF_FULL 64
134#define MY_FULL_IO 512
135#define MY_DONT_CHECK_FILESIZE 128
136#define MY_LINK_WARNING 32
137#define MY_COPYTIME 64
138#define MY_DELETE_OLD 256
139#define MY_RESOLVE_LINK 128
140#define MY_HOLD_ORIGINAL_MODES 128
141#define MY_SEEK_NOT_DONE 32
142#define MY_DONT_WAIT 64
143#define MY_ZEROFILL 32
144#define MY_ALLOW_ZERO_PTR 64
145#define MY_FREE_ON_ERROR 128
146#define MY_HOLD_ON_ERROR 256
147#define MY_DONT_OVERWRITE_FILE 1024
150#define MYF_RW MYF(MY_WME + MY_NABP)
152#define MY_CHECK_ERROR 1
153#define MY_GIVE_INFO 2
154#define MY_DONT_FREE_DBUG 4
158#define ME_ERRORLOG 64
159#define ME_FATALERROR 1024
162#define MY_REPLACE_DIR 1
163#define MY_REPLACE_EXT 2
164#define MY_UNPACK_FILENAME 4
166#define MY_RESOLVE_SYMLINKS 16
167#define MY_RETURN_REAL_PATH 32
168#define MY_SAFE_PATH 64
169#define MY_RELATIVE_PATH 128
170#define MY_APPEND_EXT 256
178#define MY_WAIT_FOR_USER_TO_FIX_PANIC 60
179#define MY_WAIT_GIVE_USER_A_MESSAGE 10
180#define MIN_COMPRESS_LENGTH 50
181#define DFLT_INIT_HITS 3
184#define MY_ERRNO_EDOM 33
185#define MY_ERRNO_ERANGE 34
195#define my_safe_alloca(size, max_alloca_sz) \
196 ((size <= max_alloca_sz) ? my_alloca(size) \
197 : my_malloc(key_memory_max_alloca, size, MYF(0)))
198#define my_safe_afree(ptr, size, max_alloca_sz) \
199 if (size > max_alloca_sz) my_free(ptr)
201#if defined(ENABLED_DEBUG_SYNC)
202using DebugSyncCallbackFp = void (*)(
const char *, size_t);
203extern DebugSyncCallbackFp debug_sync_C_callback_ptr;
205#define DEBUG_SYNC_C(_sync_point_name_) \
207 if (debug_sync_C_callback_ptr != NULL) \
208 (*debug_sync_C_callback_ptr)(STRING_WITH_LEN(_sync_point_name_)); \
211#define DEBUG_SYNC_C(_sync_point_name_)
214#ifdef HAVE_LINUX_LARGE_PAGES
217#define my_get_large_page_size() (0)
220#define my_alloca(SZ) alloca((size_t)(SZ))
240 const char *src_function,
const char *src_file,
244 const char *src_function,
const char *src_file,
250 const char *src_function,
const char *src_file,
263#define MY_ALL_CHARSETS_SIZE 2048
461typedef int (*
qsort2_cmp)(
const void *,
const void *,
const void *);
484 return info->
buffer !=
nullptr;
491 if (info->
read_pos + count <= info->read_end) {
501 if (info->
write_pos + count <= info->write_end) {
546#define MALLOC_OVERHEAD 8
549#define RECORD_CACHE_SIZE (uint)(64 * 1024 - MALLOC_OVERHEAD)
561 char *to,
size_t to_length,
562 const char *from,
size_t length);
564extern int my_copy(
const char *from,
const char *to,
myf MyFlags);
574extern File my_create(
const char *FileName,
int CreateFlags,
int AccessFlags,
581 bool send_intermediate_errors,
582 bool &directory_deletion_failed);
586 int createflags,
int access_flags,
592extern int my_symlink(
const char *content,
const char *linkname,
myf MyFlags);
597extern int my_rename(
const char *from,
const char *to,
myf MyFlags);
613#define MAX_SYSLOG_MESSAGE_SIZE 1024
618extern int my_openlog(
const char *eventSourceName,
int option,
int facility);
626#define my_access access
634 bool allow_current_dir);
636#define is_filename_allowed(name, length, allow_cwd) (true)
640extern int nt_share_delete(
const char *
name,
myf MyFlags);
641#define my_delete_allow_opened(fname, flags) nt_share_delete((fname), (flags))
643#define my_delete_allow_opened(fname, flags) my_delete((fname), (flags))
662 void (*after_sync)(
void));
668 MY_ATTRIBUTE((format(printf, 2, 4)));
670 va_list ap) MY_ATTRIBUTE((format(printf, 2, 0)));
691template <class... Ts>
698extern void my_end(
int infoflag);
707extern size_t dirname_part(
char *to,
const char *
name,
size_t *to_res_length);
714extern char *
convert_dirname(
char *to,
const char *from,
const char *from_end);
720 const char *form, uint
flag);
728extern char *
my_path(
char *to,
const char *progname,
729 const char *own_pathname_part);
731 const char *own_path_prefix);
739 bool use_async_io,
myf cache_myflags,
743 bool use_async_io,
myf cache_myflags);
745 my_off_t seek_offset,
bool use_async_io,
751 IO_CACHE *write_cache, uint num_threads);
763#define flush_io_cache(info) my_b_flush_io_cache((info), 1)
771 MY_ATTRIBUTE((format(printf, 2, 3)));
783const size_t MY_MAX_TEMP_FILENAME_LEN = 19;
795 const uint quote_len,
const char *append, ...);
800#define alloc_root_inited(A) ((A)->inited())
809 const uchar *packet,
size_t *len,
816#ifdef HAVE_SYS_MMAN_H
828#define MAP_NORESERVE 0
832#define my_mmap(a, b, c, d, e, f) mmap64(a, b, c, d, e, f)
834#define my_mmap(a, b, c, d, e, f) mmap(a, b, c, d, e, f)
836#define my_munmap(a, b) munmap((a), (b))
842#define MAP_NORESERVE 0
843#define MAP_SHARED 0x0001
844#define MAP_PRIVATE 0x0002
845#define MAP_NOSYNC 0x0800
846#define MAP_FAILED ((void *)-1)
847#define MS_SYNC 0x0000
856 return getpagesize();
860 return (
int)si.dwPageSize;
864int my_msync(
int,
void *,
size_t,
int);
891extern bool have_tcpip;
895int my_security_attr_create(SECURITY_ATTRIBUTES **psa,
const char **perror,
896 DWORD owner_rights, DWORD everybody_rights);
898void my_security_attr_free(SECURITY_ATTRIBUTES *sa);
903 size_t mbbufsize,
size_t *nread);
904void my_win_console_write(
const CHARSET_INFO *
cs,
const char *data,
906void my_win_console_fputs(
const CHARSET_INFO *
cs,
const char *data);
908void my_win_console_vfprintf(
const CHARSET_INFO *
cs,
const char *fmt,
910int my_win_translate_command_line_args(
const CHARSET_INFO *
cs,
int *ac,
914#ifdef HAVE_PSI_INTERFACE
User-specified callback interface for collation parser/initializer.
Definition: m_ctype.h:189
This abstract class represents the interface of a replication logs encryption cipher that can be used...
Definition: stream_cipher.h:78
static MEM_ROOT mem_root
Definition: client_plugin.cc:114
my_off_t my_b_tell(const IO_CACHE *info)
Definition: my_sys.h:519
char * my_strerror(char *buf, size_t len, int errnum)
Get a string describing a system or handler error.
Definition: my_error.cc:110
void set_psi_file_service(void *psi)
Definition: psi_noop.cc:446
PSI_file_key key_file_io_cache
Definition: mf_iocache.cc:92
void(* my_error_vreporter)(enum loglevel level, uint ecode, va_list)
Definition: my_sys.h:473
MYSQL_PLUGIN_IMPORT PSI_thread_bootstrap * psi_thread_hook
Definition: psi_noop.cc:249
CHARSET_INFO * get_charset_by_name(const char *collation_name, myf flags)
Definition: charset.cc:294
int my_sync(File fd, myf my_flags)
Definition: my_sync.cc:85
int _my_b_read_r(IO_CACHE *info, uchar *Buffer, size_t Count)
Definition: mf_iocache.cc:923
size_t normalize_dirname(char *to, const char *from)
Convert a directory name to a format which can be compared as strings.
Definition: mf_pack.cc:203
void my_message_local_stderr(enum loglevel, uint ecode, va_list args)
Issue a message locally (i.e.
Definition: my_error.cc:444
ulong my_tmp_file_created
Definition: my_static.cc:86
void charset_uninit()
Definition: charset.cc:430
my_error_vreporter my_charset_error_reporter
Definition: charset.cc:123
cache_type
Definition: my_sys.h:283
int check_if_legal_filename(const char *path)
void my_message(uint my_err, const char *str, myf MyFlags)
Print an error message.
Definition: my_error.cc:311
uchar * my_compress_alloc(mysql_compress_context *comp_ctx, const uchar *packet, size_t *len, size_t *complen)
Definition: my_compress.cc:295
void set_psi_mdl_service(void *psi)
Definition: psi_noop.cc:587
int my_chsize(File fd, my_off_t newlength, int filler, myf MyFlags)
Change size of file.
Definition: my_chsize.cc:66
MYSQL_PLUGIN_IMPORT const CHARSET_INFO * all_charsets[MY_ALL_CHARSETS_SIZE]
Definition: charset.cc:180
void remove_io_thread(IO_CACHE *info)
Definition: mf_iocache.cc:671
PSI_memory_key key_memory_max_alloca
Definition: my_static.cc:66
void my_error(int nr, myf MyFlags,...)
Fill in and print a previously registered error message.
Definition: my_error.cc:216
int my_delete_with_symlink(const char *name, myf MyFlags)
Definition: my_symlink2.cc:127
std::atomic< ErrorHandlerFunctionPointer > error_handler_hook
Definition: my_static.cc:168
#define my_access
Definition: my_sys.h:626
const char * my_get_err_msg(int nr)
Get an error format string from one of the my_error_register()ed sets.
Definition: my_error.cc:184
size_t my_b_get_bytes_in_buffer(const IO_CACHE *info)
Definition: my_sys.h:527
my_off_t my_b_get_pos_in_file(const IO_CACHE *info)
Definition: my_sys.h:531
void set_psi_tls_channel_service(void *psi)
Definition: psi_noop.cc:1011
void set_psi_mutex_service(void *psi)
Definition: psi_noop.cc:283
void * my_multi_malloc(PSI_memory_key key, myf flags,...)
Definition: mulalloc.cc:59
void my_printf_error(uint my_err, const char *format, myf MyFlags,...)
Print an error message.
Definition: my_error.cc:265
size_t my_b_gets(IO_CACHE *info, char *to, size_t max_length)
Definition: mf_iocache2.cc:190
bool my_compress(mysql_compress_context *, uchar *, size_t *, size_t *)
This replaces the packet with a compressed packet.
Definition: my_compress.cc:280
char * strmake_root(MEM_ROOT *root, const char *str, size_t len)
Definition: my_alloc.cc:287
#define MYSYS_STRERROR_SIZE
Definition: my_sys.h:121
ulong my_default_record_cache_size
Definition: my_static.cc:162
MYSQL_PLUGIN_IMPORT PSI_stage_bootstrap * psi_stage_hook
Definition: psi_noop.cc:628
MYSQL_PLUGIN_IMPORT PSI_metric_bootstrap * psi_metric_hook
Definition: psi_noop.cc:1034
int _my_b_net_read(IO_CACHE *info, uchar *Buffer, size_t Count)
Read buffered from the net.
Definition: mf_iocache.cc:61
unsigned long long my_physical_memory()
Definition: my_system.cc:46
my_off_t my_get_ptr(uchar *ptr, size_t pack_length)
Definition: ptr_cmp.cc:76
void set_psi_system_service(void *psi)
Definition: psi_noop.cc:992
size_t dirname_part(char *to, const char *name, size_t *to_res_length)
Gives directory part of filename.
Definition: mf_dirname.cc:164
bool dynstr_append_mem(DYNAMIC_STRING *str, const char *append, size_t length)
Definition: my_string.cc:99
bool init_dynamic_string(DYNAMIC_STRING *str, const char *init_str, size_t init_alloc)
Definition: my_string.cc:46
int my_rename(const char *from, const char *to, myf MyFlags)
Definition: my_rename.cc:47
void(* exit_cond_hook)(void *opaque_thd, const PSI_stage_info *stage, const char *src_function, const char *src_file, int src_line)
Definition: my_static.cc:206
int test_if_hard_path(const char *dir_name)
Definition: my_getwd.cc:137
void init_io_cache_share(IO_CACHE *read_cache, IO_CACHE_SHARE *cshare, IO_CACHE *write_cache, uint num_threads)
Definition: mf_iocache.cc:620
int my_block_write(IO_CACHE *info, const uchar *Buffer, size_t Count, my_off_t pos)
Definition: mf_iocache.cc:1376
int my_fallocator(File fd, my_off_t newlength, int filler, myf MyFlags)
Change size of the specified file.
Definition: my_fallocator.cc:71
MYSQL_PLUGIN_IMPORT PSI_transaction_bootstrap * psi_transaction_hook
Definition: psi_noop.cc:904
MYSQL_PLUGIN_IMPORT ulong my_thread_stack_size
Definition: my_init.cc:96
CHARSET_INFO * get_charset(uint cs_number, myf flags)
Definition: charset.cc:231
File my_create(const char *FileName, int CreateFlags, int AccessFlags, myf MyFlags)
Create a new file.
Definition: my_create.cc:64
void set_psi_memory_service(void *psi)
Definition: psi_noop.cc:959
int my_setwd(const char *dir, myf MyFlags)
Definition: my_getwd.cc:106
int my_b_append(IO_CACHE *info, const uchar *Buffer, size_t Count)
Definition: mf_iocache.cc:1320
size_t my_read(File Filedes, uchar *Buffer, size_t Count, myf MyFlags)
Read a chunk of bytes from a file with retry's if needed If flag MY_FULL_IO is set then keep reading ...
Definition: my_read.cc:73
void close_cached_file(IO_CACHE *cache)
Definition: mf_cache.cc:87
int my_error_register(const char *(*get_errmsg)(int), int first, int last)
Register error messages for use with my_error().
Definition: my_error.cc:333
File my_fileno(FILE *stream)
Portable fileno() wrapper.
Definition: my_fstream.cc:181
char * my_once_strdup(const char *src, myf myflags)
Definition: my_once.cc:100
MYSQL_PLUGIN_IMPORT PSI_error_bootstrap * psi_error_hook
Definition: psi_noop.cc:917
my_off_t my_fseek(FILE *stream, my_off_t pos, int whence)
Seek to position in FILE stream.
Definition: my_fstream.cc:157
my_off_t my_seek(File fd, my_off_t pos, int whence, myf MyFlags)
Seek to a position in a file.
Definition: my_seek.cc:69
File my_open(const char *filename, int Flags, myf MyFlags)
Open a file.
Definition: my_open.cc:66
char * strdup_root(MEM_ROOT *root, const char *str)
Definition: my_alloc.cc:279
size_t my_b_printf(IO_CACHE *info, const char *fmt,...)
Simple printf version.
Definition: mf_iocache2.cc:237
size_t strlength(const char *str)
Calculate the length of str not including any trailing ' '-bytes.
Definition: mf_format.cc:156
File create_temp_file(char *to, const char *dir, const char *pfx, int mode, UnlinkOrKeepFile unlink_or_keep, myf MyFlags)
Definition: mf_tempfile.cc:220
void my_b_seek(IO_CACHE *info, my_off_t pos)
Definition: mf_iocache2.cc:94
my_off_t my_b_filelength(IO_CACHE *info)
Definition: mf_iocache2.cc:219
my_off_t my_ftell(FILE *stream)
Portable ftell() wrapper.
Definition: my_fstream.cc:166
ulong my_file_opened
Definition: my_static.cc:89
int check_if_legal_tablename(const char *path)
Definition: my_access.cc:159
char * convert_dirname(char *to, const char *from, const char *from_end)
Convert directory name to use under this system.
Definition: mf_dirname.cc:207
bool my_error_unregister(int first, int last)
Unregister formerly registered error messages.
Definition: my_error.cc:379
my_off_t my_tell(File fd, myf MyFlags)
Definition: my_seek.cc:94
int init_io_cache_ext(IO_CACHE *info, File file, size_t cachesize, enum cache_type type, my_off_t seek_offset, bool use_async_io, myf cache_myflags, PSI_file_key file_key)
Definition: mf_iocache.cc:176
#define MY_ALL_CHARSETS_SIZE
Definition: my_sys.h:263
bool dynstr_trunc(DYNAMIC_STRING *str, size_t n)
Definition: my_string.cc:116
void(*)(uint, const char *, myf) ErrorHandlerFunctionPointer
Definition: my_sys.h:225
bool my_rm_dir_w_symlink(const char *directory_path, bool send_error, bool send_intermediate_errors, bool &directory_deletion_failed)
Deletes the specified directory.
Definition: my_rm_dir_w_symlink.cc:62
int my_getwd(char *buf, size_t size, myf MyFlags)
Definition: my_getwd.cc:78
char * my_tmpdir(MY_TMPDIR *tmpdir)
Definition: mf_tempdir.cc:105
int _my_b_seq_read(IO_CACHE *info, uchar *Buffer, size_t Count)
Definition: mf_iocache.cc:1084
char * fn_same(char *toname, const char *name, int flag)
Definition: mf_same.cc:46
void to_unix_path(char *name)
Convert filename to unix style filename.
Definition: mf_unixpath.cc:44
void * memdup_root(MEM_ROOT *root, const void *str, size_t len)
Definition: my_alloc.cc:296
void set_psi_socket_service(void *psi)
Definition: psi_noop.cc:492
void set_psi_table_service(void *psi)
Definition: psi_noop.cc:550
void dynstr_free(DYNAMIC_STRING *str)
Definition: my_string.cc:188
int(* qsort2_cmp)(const void *, const void *, const void *)
Definition: my_sys.h:461
#define my_mmap(a, b, c, d, e, f)
Definition: my_sys.h:832
char * get_charsets_dir(char *buf)
Definition: charset.cc:161
uint my_get_large_page_size(void)
Definition: my_largepage.cc:49
int my_closelog()
Closes/de-registers the system logging handle.
Definition: my_syslog.cc:326
void my_b_clear(IO_CACHE *info)
Definition: my_sys.h:481
void set_psi_logs_client_service(void *psi)
Definition: psi_noop.cc:1062
MYSQL_PLUGIN_IMPORT PSI_tls_channel_bootstrap * psi_tls_channel_hook
Definition: psi_noop.cc:1008
bool dynstr_set(DYNAMIC_STRING *str, const char *init_str)
Definition: my_string.cc:62
bool my_b_inited(const IO_CACHE *info)
Definition: my_sys.h:483
void set_psi_error_service(void *psi)
Definition: psi_noop.cc:920
size_t my_pread(File Filedes, uchar *Buffer, size_t Count, my_off_t offset, myf MyFlags)
Read a chunk of bytes from a file from a given position.
Definition: my_pread.cc:79
size_t unpack_filename(char *to, const char *from)
Fix filename so it can be used by open, create.
Definition: mf_pack.cc:325
MYSQL_PLUGIN_IMPORT PSI_memory_bootstrap * psi_memory_hook
Definition: psi_noop.cc:956
MYSQL_PLUGIN_IMPORT CHARSET_INFO * default_charset_info
Definition: charset.cc:181
size_t system_filename(char *to, const char *from)
Convert filename (unix standard) to system standard Used before system command's like open(),...
Definition: mf_pack.cc:357
int my_delete(const char *name, myf MyFlags)
Definition: my_delete.cc:46
#define is_filename_allowed(name, length, allow_cwd)
Definition: my_sys.h:636
const char * get_global_errmsg(int nr)
Definition: errors.cc:177
bool resolve_collation(const char *cl_name, const CHARSET_INFO *default_cl, const CHARSET_INFO **cl)
Resolve collation by the collation name (utf8_general_ci, ...).
Definition: charset.cc:393
const char * my_filename(File fd)
Get filename of file.
Definition: my_file.cc:247
bool my_enable_symlinks
Definition: my_sys.h:279
MYSQL_PLUGIN_IMPORT PSI_table_bootstrap * psi_table_hook
Definition: psi_noop.cc:547
void my_printv_error(uint error, const char *format, myf MyFlags, va_list ap)
Print an error message.
Definition: my_error.cc:290
int my_symlink(const char *content, const char *linkname, myf MyFlags)
Definition: my_symlink.cc:99
void free_tmpdir(MY_TMPDIR *tmpdir)
Definition: mf_tempdir.cc:115
int my_b_get(IO_CACHE *info)
Definition: my_sys.h:511
bool dynstr_append(DYNAMIC_STRING *str, const char *append)
Definition: my_string.cc:95
int my_is_symlink(const char *filename, ST_FILE_ID *file_id)
Definition: my_symlink.cc:116
bool resolve_charset(const char *cs_name, const CHARSET_INFO *default_cs, const CHARSET_INFO **cs)
Resolve character set by the character set name (utf8, latin1, ...).
Definition: charset.cc:365
void MyOsError(int errno_val, Ts... ppck)
Convenience wrapper for OS error messages which report errno/my_errno with d followed by strerror as ...
Definition: my_sys.h:692
int my_b_safe_write(IO_CACHE *info, const uchar *Buffer, size_t Count)
Definition: mf_iocache.cc:1359
bool my_init(void)
Initialize my_sys functions, resources and variables.
Definition: my_init.cc:134
void my_message_local(enum loglevel ll, uint ecode,...)
Issue a message locally (i.e.
Definition: my_error.cc:474
size_t cleanup_dirname(char *to, const char *from)
Remove unwanted chars from dirname.
Definition: mf_pack.cc:79
size_t my_b_vprintf(IO_CACHE *info, const char *fmt, va_list ap)
Implementation of my_b_printf.
Definition: mf_iocache2.cc:255
bool array_append_string_unique(const char *str, const char **array, size_t size)
Append str to array, or move to the end if it already exists.
Definition: mf_arr_appstr.cc:51
void(* local_message_hook)(enum loglevel ll, uint ecode, va_list args)
Definition: my_static.cc:170
void set_psi_idle_service(void *psi)
Definition: psi_noop.cc:606
int my_rename_with_symlink(const char *from, const char *to, myf MyFlags)
Definition: my_symlink2.cc:154
void * my_once_alloc(size_t Size, myf MyFlags)
Definition: my_once.cc:62
int my_b_write(IO_CACHE *info, const uchar *buffer, size_t count)
Definition: my_sys.h:499
void * my_once_memdup(const void *src, size_t len, myf myflags)
Definition: my_once.cc:107
bool are_versions_clone_compatible(std::string ver1, std::string ver2)
Compares versions and determine if clone is allowed.
Definition: my_version.cc:112
int(* IO_CACHE_CALLBACK)(IO_CACHE *)
Definition: my_sys.h:316
size_t my_b_bytes_in_cache(const IO_CACHE *info)
Definition: my_sys.h:538
FILE * my_fdopen(File fd, const char *filename, int Flags, myf MyFlags)
Make a stream out of a file handle.
Definition: my_fopen.cc:217
uint my_set_max_open_files(uint files)
Sets the OS limit on the number of open files (if supported).
Definition: my_file.cc:269
File my_create_with_symlink(const char *linkname, const char *filename, int createflags, int access_flags, myf MyFlags)
Definition: my_symlink2.cc:54
char * fn_format(char *to, const char *name, const char *dir, const char *form, uint flag)
Formats a filename with possible replace of directory of extension Function can handle the case where...
Definition: mf_format.cc:73
const char * my_progname
Definition: my_static.cc:83
MYSQL_PLUGIN_IMPORT PSI_statement_bootstrap * psi_statement_hook
Definition: psi_noop.cc:837
int my_is_same_file(File file, const ST_FILE_ID *file_id)
Return non-zero if the file descriptor and a previously lstat-ed file identified by file_id point to ...
Definition: my_symlink.cc:186
size_t my_fwrite(FILE *stream, const uchar *Buffer, size_t Count, myf MyFlags)
Write a chunk of bytes to a FILE stream.
Definition: my_fstream.cc:103
uint get_charset_number(const char *cs_name, uint cs_flags)
Definition: charset.cc:205
bool dynstr_append_quoted(DYNAMIC_STRING *str, const char *quote_str, const uint quote_len, const char *append,...)
Definition: my_string.cc:179
void setup_io_cache(IO_CACHE *info)
Definition: mf_iocache.cc:117
size_t my_write(File Filedes, const uchar *Buffer, size_t Count, myf MyFlags)
Write a chunk of bytes to a file.
Definition: my_write.cc:79
int my_copy(const char *from, const char *to, myf MyFlags)
Definition: my_copy.cc:79
int my_close(File fd, myf MyFlags)
Close a file.
Definition: my_open.cc:99
MYSQL_PLUGIN_IMPORT PSI_idle_bootstrap * psi_idle_hook
Definition: psi_noop.cc:603
bool my_uncompress(mysql_compress_context *, uchar *, size_t, size_t *)
Uncompress packet.
Definition: my_compress.cc:324
UnlinkOrKeepFile
Definition: my_sys.h:779
int my_umask_dir
Definition: my_static.cc:159
ulong my_stream_opened
Definition: my_static.cc:88
void my_init_mysys_psi_keys(void)
Definition: my_init.cc:577
MY_MODE get_file_perm(ulong perm_flags)
Definition: my_chmod.cc:53
#define my_munmap(a, b)
Definition: my_sys.h:836
int _my_b_read(IO_CACHE *info, uchar *Buffer, size_t Count)
Definition: mf_iocache.cc:424
bool dynstr_append_os_quoted(DYNAMIC_STRING *str, const char *append,...)
Definition: my_string.cc:164
MYSQL_PLUGIN_IMPORT PSI_file_bootstrap * psi_file_hook
Definition: psi_noop.cc:443
MYSQL_PLUGIN_IMPORT PSI_data_lock_bootstrap * psi_data_lock_hook
Definition: psi_noop.cc:976
int my_msync(int, void *, size_t, int)
Definition: my_mmap.cc:51
size_t my_fread(FILE *stream, uchar *Buffer, size_t Count, myf MyFlags)
Read a chunk of bytes from a FILE stream.
Definition: my_fstream.cc:73
int my_b_read(IO_CACHE *info, uchar *buffer, size_t count)
Definition: my_sys.h:489
int my_b_copy_to_file(IO_CACHE *cache, FILE *file)
Definition: mf_iocache2.cc:72
size_t unpack_dirname(char *to, const char *from)
Fixes a directory name so that can be used by open().
Definition: mf_pack.cc:253
ulong my_file_total_opened
Definition: my_static.cc:90
int my_openlog(const char *eventSourceName, int option, int facility)
Opens/Registers a new handle for system logging.
Definition: my_syslog.cc:284
void(* set_waiting_for_disk_space_hook)(void *opaque_thd, bool waiting)
Definition: my_static.cc:212
CHARSET_INFO * get_charset_by_csname(const char *cs_name, uint cs_flags, myf my_flags)
Definition: charset.cc:343
MYSQL_PLUGIN_IMPORT PSI_rwlock_bootstrap * psi_rwlock_hook
Definition: psi_noop.cc:324
int end_io_cache(IO_CACHE *info)
Definition: mf_iocache.cc:1520
size_t dirname_length(const char *name)
Get the string length of the directory part of name, including the last FN_LIBCHAR.
Definition: mf_dirname.cc:62
void set_psi_data_lock_service(void *psi)
Definition: psi_noop.cc:979
my_syslog_options
Definition: my_sys.h:616
MYSQL_PLUGIN_IMPORT PSI_cond_bootstrap * psi_cond_hook
Definition: psi_noop.cc:356
bool has_path(const char *name)
Definition: my_getwd.cc:160
MYSQL_PLUGIN_IMPORT PSI_logs_client_bootstrap * psi_logs_client_hook
Definition: psi_noop.cc:1059
size_t escape_string_for_mysql(const CHARSET_INFO *charset_info, char *to, size_t to_length, const char *from, size_t length)
Definition: escape_string.cc:58
CHARSET_INFO * my_collation_get_by_name(const char *collation_name, myf flags, MY_CHARSET_ERRMSG *)
Find collation by name: extended version of get_charset_by_name() to return error messages to the cal...
Definition: charset.cc:273
void set_psi_cond_service(void *psi)
Definition: psi_noop.cc:359
void * multi_alloc_root(MEM_ROOT *mem_root,...)
Definition: my_alloc.cc:251
char * intern_filename(char *to, const char *from)
Fix a filename to intern (UNIX format).
Definition: mf_pack.cc:377
int _my_b_get(IO_CACHE *info)
Definition: mf_iocache.cc:1220
void my_store_ptr(uchar *buff, size_t pack_length, my_off_t pos)
Definition: ptr_cmp.cc:44
bool my_init_done
Definition: my_init.cc:95
void set_psi_rwlock_service(void *psi)
Definition: psi_noop.cc:327
const char * get_collation_name(uint charset_number)
Definition: charset.cc:218
constexpr int my_b_EOF
Definition: my_sys.h:487
int init_io_cache(IO_CACHE *info, File file, size_t cachesize, enum cache_type type, my_off_t seek_offset, bool use_async_io, myf cache_myflags)
Definition: mf_iocache.cc:312
void(* enter_cond_hook)(void *opaque_thd, mysql_cond_t *cond, mysql_mutex_t *mutex, const PSI_stage_info *stage, PSI_stage_info *old_stage, const char *src_function, const char *src_file, int src_line)
Definition: my_static.cc:202
MYSQL_PLUGIN_IMPORT int my_umask
Definition: my_static.cc:159
bool init_tmpdir(MY_TMPDIR *tmpdir, const char *pathlist)
Definition: mf_tempdir.cc:51
bool my_gethwaddr(uchar *to)
Definition: my_gethwaddr.cc:238
uint get_collation_number(const char *name)
Definition: charset.cc:199
int my_b_flush_io_cache(IO_CACHE *info, int need_append_buffer_lock)
Definition: mf_iocache.cc:1431
int _my_b_write(IO_CACHE *info, const uchar *Buffer, size_t Count)
Definition: mf_iocache.cc:1239
char * safe_strdup_root(MEM_ROOT *root, const char *str)
Definition: my_alloc.cc:283
int my_realpath(char *to, const char *filename, myf MyFlags)
Definition: my_symlink.cc:139
bool my_disable_locking
Definition: my_static.cc:226
CHARSET_INFO * my_charset_get_by_name(const char *name, uint cs_flags, myf my_flags, MY_CHARSET_ERRMSG *)
Find character set by name: extended version of get_charset_by_csname() to return error messages to t...
Definition: charset.cc:309
bool real_open_cached_file(IO_CACHE *cache)
Definition: mf_cache.cc:75
int(* is_killed_hook)(const void *opaque_thd)
Definition: my_static.cc:215
int my_syslog(const CHARSET_INFO *cs, enum loglevel level, const char *msg)
Sends message to the system logger.
Definition: my_syslog.cc:95
void set_psi_thread_service(void *psi)
Definition: psi_noop.cc:252
MYSQL_PLUGIN_IMPORT PSI_socket_bootstrap * psi_socket_hook
Definition: psi_noop.cc:489
void my_end(int infoflag)
Definition: my_init.cc:177
bool dynstr_realloc(DYNAMIC_STRING *str, size_t additional_size)
Definition: my_string.cc:81
char * home_dir
Definition: my_static.cc:82
bool reinit_io_cache(IO_CACHE *info, enum cache_type type, my_off_t seek_offset, bool use_async_io, bool clear_cache)
Definition: mf_iocache.cc:328
ALWAYS_INLINE const char * base_name(const char *A)
Definition: my_sys.h:709
void my_message_stderr(uint my_err, const char *str, myf MyFlags)
Print an error message on stderr.
Definition: my_mess.cc:60
FILE * my_freopen(const char *filename, const char *mode, FILE *stream)
Change the file associated with a file stream.
Definition: my_fopen.cc:156
FILE * my_fopen(const char *filename, int Flags, myf MyFlags)
Open a file as stream.
Definition: my_fopen.cc:109
uchar * my_b_get_buffer_start(const IO_CACHE *info)
Definition: my_sys.h:523
bool my_chmod(const char *filename, ulong perm_flags, myf my_flags)
Definition: my_chmod.cc:89
int my_mkdir(const char *dir, int Flags, myf MyFlags)
Definition: my_mkdir.cc:45
size_t my_pwrite(File Filedes, const uchar *Buffer, size_t Count, my_off_t offset, myf MyFlags)
Write a chunk of bytes to a file at a given position.
Definition: my_pread.cc:141
void set_psi_stage_service(void *psi)
Definition: psi_noop.cc:631
void set_psi_metric_service(void *psi)
Definition: psi_noop.cc:1037
MYSQL_PLUGIN_IMPORT PSI_system_bootstrap * psi_system_hook
Definition: psi_noop.cc:989
MYSQL_PLUGIN_IMPORT PSI_mdl_bootstrap * psi_mdl_hook
Definition: psi_noop.cc:584
bool open_cached_file(IO_CACHE *cache, const char *dir, const char *prefix, size_t cache_size, myf cache_myflags)
Definition: mf_cache.cc:53
int my_fclose(FILE *stream, myf MyFlags)
Close a stream.
Definition: my_fopen.cc:175
void set_psi_statement_service(void *psi)
Definition: psi_noop.cc:840
void set_psi_transaction_service(void *psi)
Definition: psi_noop.cc:907
void my_once_free(void)
Definition: my_once.cc:120
size_t my_b_fill(IO_CACHE *info)
Definition: mf_iocache2.cc:148
const char * charsets_dir
Definition: charset.cc:127
char * my_path(char *to, const char *progname, const char *own_pathname_part)
Definition: mf_path.cc:64
MYSQL_PLUGIN_IMPORT PSI_mutex_bootstrap * psi_mutex_hook
Definition: psi_noop.cc:280
void(* my_error_reporter)(enum loglevel level, uint ecode,...)
Definition: my_sys.h:472
char * my_load_path(char *to, const char *path, const char *own_path_prefix)
Returns full load-path for a file.
Definition: mf_loadpath.cc:64
void wait_for_free_space(const char *filename, int errors)
Definition: errors.cc:154
void thr_set_sync_wait_callback(void(*before_sync)(void), void(*after_sync)(void))
Definition: my_sync.cc:56
int my_readlink(char *to, const char *filename, myf MyFlags)
Definition: my_symlink.cc:67
static int my_getpagesize()
Definition: my_sys.h:854
char * fn_ext(char *name)
Definition: mf_fn_ext.cc:72
void(* enter_stage_hook)(void *opaque_thd, const PSI_stage_info *new_stage, PSI_stage_info *old_stage, const char *src_function, const char *src_file, int src_line)
Definition: my_static.cc:209
flush_type
Definition: my_sys.h:293
@ SEQ_READ_APPEND
Definition: my_sys.h:287
@ TYPE_NOT_SET
Definition: my_sys.h:284
@ READ_NET
Definition: my_sys.h:289
@ WRITE_CACHE
Definition: my_sys.h:286
@ WRITE_NET
Definition: my_sys.h:290
@ READ_CACHE
Definition: my_sys.h:285
@ READ_FIFO
Definition: my_sys.h:288
@ UNLINK_FILE
Definition: my_sys.h:779
@ KEEP_FILE
Definition: my_sys.h:779
@ MY_SYSLOG_PIDS
Definition: my_sys.h:616
@ FLUSH_KEEP
Definition: my_sys.h:294
@ FLUSH_RELEASE
Definition: my_sys.h:295
@ FLUSH_FORCE_WRITE
Definition: my_sys.h:301
@ FLUSH_IGNORE_CHANGED
Definition: my_sys.h:296
unsigned int PSI_file_key
Instrumented file key.
Definition: psi_file_bits.h:48
unsigned int PSI_memory_key
Instrumented memory key.
Definition: psi_memory_bits.h:49
static int flags[50]
Definition: hp_test1.cc:40
static int flag
Definition: hp_test1.cc:40
static const char * whence(const Item_field *cached_field)
Get the name of the cached field of an Item_cache_json instance.
Definition: item.cc:10030
Header for compiler-dependent features.
#define ALWAYS_INLINE
Definition: my_compiler.h:99
Some integer typedefs for easier portability.
int myf
Definition: my_inttypes.h:94
ulonglong my_off_t
Definition: my_inttypes.h:72
unsigned char uchar
Definition: my_inttypes.h:52
Types to make file and socket I/O compatible.
mode_t MY_MODE
Definition: my_io_bits.h:59
int File
Definition: my_io_bits.h:51
Definition of the global "loglevel" enumeration.
loglevel
Definition: my_loglevel.h:41
Defines various enable/disable and HAVE_ macros related to the performance schema instrumentation sys...
Functions related to handling of plugins and other dynamically loaded libraries.
#define MYSQL_PLUGIN_IMPORT
Definition: my_sharedlib.h:71
size_t mysql_encryption_file_write(IO_CACHE *cache, const uchar *buffer, size_t count, myf flags)
This is a wrapper around mysql_file_write.
Definition: mf_iocache.cc:1656
my_off_t mysql_encryption_file_seek(IO_CACHE *cache, my_off_t pos, int whence, myf flags)
This is a wrapper around mysql_file_seek.
Definition: mf_iocache.cc:1641
bool binlog_cache_temporary_file_is_encrypted
(end of group MYSYS)
Definition: mf_iocache.cc:94
size_t mysql_encryption_file_read(IO_CACHE *cache, uchar *buffer, size_t count, myf flags)
This is a wrapper around mysql_file_read.
Definition: mf_iocache.cc:1648
void my_osmaperr(unsigned long oserrno)
Definition: my_winerr.cc:124
HANDLE my_get_osfhandle(File fd)
Return the Windows HANDLE for a file descriptor obtained from RegisterHandle().
Definition: my_winfile.cc:410
static int count
Definition: myisam_ftdump.cc:45
static const CHARSET_INFO * charset_info
Definition: mysql.cc:245
Instrumentation helpers for conditions.
ABI for instrumented mutexes.
void error(const char *format,...)
static char * path
Definition: mysqldump.cc:149
char * collation_name
Definition: audit_api_message_emit.cc:185
std::string str(const mysqlrouter::ConfigGenerator::Options::Endpoint &ep)
Definition: config_generator.cc:1105
Definition: buf0block_hint.cc:30
const std::string FILE("FILE")
Definition: commit_order_queue.h:34
std::string dir
Double write files location.
Definition: buf0dblwr.cc:77
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
size_t size(const char *const c)
Definition: base64.h:46
int last_error()
get last socket error.
Definition: socket_error.h:82
mutable_buffer buffer(void *p, size_t n) noexcept
Definition: buffer.h:418
mode
Definition: file_handle.h:61
const char * filename
Definition: pfs_example_component_population.cc:67
Performance schema instrumentation interface.
Performance schema instrumentation interface.
Performance schema instrumentation interface.
Performance schema instrumentation interface.
required string key
Definition: replication_asynchronous_connection_failover.proto:60
required string type
Definition: replication_group_member_actions.proto:34
case opt name
Definition: sslopt-case.h:29
This file includes core components for encrypting/decrypting binary log files.
Definition: m_ctype.h:421
char * str
Definition: my_sys.h:311
size_t length
Definition: my_sys.h:312
size_t max_length
Definition: my_sys.h:312
int running_threads
Definition: my_sys.h:328
int error
Definition: my_sys.h:330
mysql_mutex_t mutex
Definition: my_sys.h:319
uchar * read_end
Definition: my_sys.h:327
my_off_t pos_in_file
Definition: my_sys.h:323
int total_threads
Definition: my_sys.h:329
mysql_cond_t cond_writer
Definition: my_sys.h:321
mysql_cond_t cond
Definition: my_sys.h:320
IO_CACHE * source_cache
Definition: my_sys.h:325
uchar * buffer
Definition: my_sys.h:326
uchar * write_buffer
Definition: my_sys.h:352
uchar * read_pos
Definition: my_sys.h:344
my_off_t pos_in_file
Definition: my_sys.h:336
my_off_t end_of_file
Definition: my_sys.h:342
uchar * read_end
Definition: my_sys.h:346
uchar ** current_end
Definition: my_sys.h:371
ulong disk_writes
Definition: my_sys.h:422
IO_CACHE_CALLBACK post_read
Definition: my_sys.h:415
myf myflags
Definition: my_sys.h:442
void * arg
Definition: my_sys.h:423
uchar * buffer
Definition: my_sys.h:347
bool seek_not_done
Definition: my_sys.h:436
uchar * write_pos
Definition: my_sys.h:361
uchar ** current_pos
Definition: my_sys.h:371
PSI_file_key file_key
Definition: my_sys.h:427
int(* write_function)(IO_CACHE *, const uchar *, size_t)
Definition: my_sys.h:400
char * file_name
Definition: my_sys.h:424
uchar * append_read_pos
Definition: my_sys.h:359
uint disk_sync_delay
Definition: my_sys.h:458
uchar * request_pos
Definition: my_sys.h:349
size_t buffer_length
Definition: my_sys.h:439
int(* read_function)(IO_CACHE *, uchar *, size_t)
Definition: my_sys.h:395
char * dir
Definition: my_sys.h:425
bool alloced_buffer
Definition: my_sys.h:449
uchar * write_end
Definition: my_sys.h:363
Stream_cipher * m_encryptor
Definition: my_sys.h:451
char * prefix
Definition: my_sys.h:425
Stream_cipher * m_decryptor
Definition: my_sys.h:453
IO_CACHE_CALLBACK pre_close
Definition: my_sys.h:416
int error
Definition: my_sys.h:437
IO_CACHE_SHARE * share
Definition: my_sys.h:385
cache_type type
Definition: my_sys.h:406
size_t read_length
Definition: my_sys.h:441
IO_CACHE_CALLBACK pre_read
Definition: my_sys.h:414
mysql_mutex_t append_buffer_lock
Definition: my_sys.h:377
bool disk_sync
Definition: my_sys.h:455
The MEM_ROOT is a simple arena, where allocations are carved out of larger blocks.
Definition: my_alloc.h:83
Helper structure to return error messages from collation parser/initializer.
Definition: m_ctype.h:180
char ** list
Definition: my_sys.h:305
uint max
Definition: my_sys.h:306
uint cur
Definition: my_sys.h:306
mysql_mutex_t mutex
Definition: my_sys.h:307
Entry point for the performance schema interface.
Definition: psi_cond.h:46
Entry point for the performance schema interface.
Definition: psi_data_lock.h:82
Entry point for the performance schema interface.
Definition: psi_error.h:59
Entry point for the performance schema interface.
Definition: psi_file.h:66
Entry point for the performance schema interface.
Definition: psi_idle.h:60
Entry point for the performance schema interface.
Definition: psi_logger_client.h:46
Entry point for the performance schema interface.
Definition: psi_mdl.h:68
Entry point for the performance schema interface.
Definition: psi_memory.h:85
Entry point for the performance schema interface.
Definition: psi_metric.h:46
Entry point for the performance schema interface.
Definition: psi_mutex.h:46
Entry point for the performance schema interface.
Definition: psi_rwlock.h:53
Entry point for the performance schema interface.
Definition: psi_socket.h:52
Entry point for the performance schema interface.
Definition: psi_stage.h:46
Stage instrument information.
Definition: psi_stage_bits.h:74
Entry point for the performance schema interface.
Definition: psi_statement.h:46
Entry point for the performance schema interface.
Definition: psi_system.h:60
Entry point for the performance schema interface.
Definition: psi_table.h:60
Entry point for the performance schema interface.
Definition: psi_thread.h:102
Entry point for the performance schema interface.
Definition: psi_tls_channel.h:46
Entry point for the performance schema interface.
Definition: psi_transaction.h:60
dev_t st_dev
Definition: my_sys.h:468
ino_t st_ino
Definition: my_sys.h:469
struct for once_alloc (block)
Definition: my_sys.h:552
unsigned int size
size of block
Definition: my_sys.h:555
unsigned int left
memory left in block
Definition: my_sys.h:554
USED_MEM * next
Next block in use.
Definition: my_sys.h:553
Compression context information.
Definition: my_compress.h:74
An instrumented cond structure.
Definition: mysql_cond_bits.h:50
An instrumented mutex structure.
Definition: mysql_mutex_bits.h:50
Include file for Sun RPC to compile out of the box.
#define PSI_NOT_INSTRUMENTED
Definition: validate_password_imp.cc:44
#define HANDLE
Definition: violite.h:159
int n
Definition: xcom_base.cc:509
static uint64_t cache_size
Definition: xcom_cache.cc:362