49#ifdef HAVE_SYS_SELECT_H
50#include <sys/select.h>
103#define MY_INIT(name) \
105 my_progname = name; \
118#define MYSYS_ERRMSG_SIZE (512)
119#define MYSYS_STRERROR_SIZE (128)
121#define MY_FILE_ERROR ((size_t)-1)
129#define MY_WAIT_IF_FULL 32
130#define MY_IGNORE_BADFD 32
131#define MY_REPORT_WAITING_IF_FULL 64
132#define MY_FULL_IO 512
133#define MY_DONT_CHECK_FILESIZE 128
134#define MY_LINK_WARNING 32
135#define MY_COPYTIME 64
136#define MY_DELETE_OLD 256
137#define MY_RESOLVE_LINK 128
138#define MY_HOLD_ORIGINAL_MODES 128
139#define MY_SEEK_NOT_DONE 32
140#define MY_DONT_WAIT 64
141#define MY_ZEROFILL 32
142#define MY_ALLOW_ZERO_PTR 64
143#define MY_FREE_ON_ERROR 128
144#define MY_HOLD_ON_ERROR 256
145#define MY_DONT_OVERWRITE_FILE 1024
148#define MYF_RW MYF(MY_WME + MY_NABP)
150#define MY_CHECK_ERROR 1
151#define MY_GIVE_INFO 2
152#define MY_DONT_FREE_DBUG 4
156#define ME_ERRORLOG 64
157#define ME_FATALERROR 1024
160#define MY_REPLACE_DIR 1
161#define MY_REPLACE_EXT 2
162#define MY_UNPACK_FILENAME 4
164#define MY_RESOLVE_SYMLINKS 16
165#define MY_RETURN_REAL_PATH 32
166#define MY_SAFE_PATH 64
167#define MY_RELATIVE_PATH 128
168#define MY_APPEND_EXT 256
176#define MY_WAIT_FOR_USER_TO_FIX_PANIC 60
177#define MY_WAIT_GIVE_USER_A_MESSAGE 10
178#define MIN_COMPRESS_LENGTH 50
179#define DFLT_INIT_HITS 3
182#define MY_ERRNO_EDOM 33
183#define MY_ERRNO_ERANGE 34
193#define my_safe_alloca(size, max_alloca_sz) \
194 ((size <= max_alloca_sz) ? my_alloca(size) \
195 : my_malloc(key_memory_max_alloca, size, MYF(0)))
196#define my_safe_afree(ptr, size, max_alloca_sz) \
197 if (size > max_alloca_sz) my_free(ptr)
199#if defined(ENABLED_DEBUG_SYNC)
200using DebugSyncCallbackFp = void (*)(
const char *, size_t);
201extern DebugSyncCallbackFp debug_sync_C_callback_ptr;
203#define DEBUG_SYNC_C(_sync_point_name_) \
205 if (debug_sync_C_callback_ptr != NULL) \
206 (*debug_sync_C_callback_ptr)(STRING_WITH_LEN(_sync_point_name_)); \
208#define DEBUG_SYNC_C_IF_THD(thd, _sync_point_name_) \
210 if (debug_sync_C_callback_ptr != NULL && thd) \
211 (*debug_sync_C_callback_ptr)(STRING_WITH_LEN(_sync_point_name_)); \
214#define DEBUG_SYNC_C(_sync_point_name_)
215#define DEBUG_SYNC_C_IF_THD(thd, _sync_point_name_)
218#ifdef HAVE_LINUX_LARGE_PAGES
221#define my_get_large_page_size() (0)
224#define my_alloca(SZ) alloca((size_t)(SZ))
244 const char *src_function,
const char *src_file,
248 const char *src_function,
const char *src_file,
254 const char *src_function,
const char *src_file,
267#define MY_ALL_CHARSETS_SIZE 2048
473typedef int (*
qsort2_cmp)(
const void *,
const void *,
const void *);
496 return info->
buffer !=
nullptr;
503 if (info->
read_pos + count <= info->read_end) {
513 if (info->
write_pos + count <= info->write_end) {
558#define MALLOC_OVERHEAD 8
561#define RECORD_CACHE_SIZE (uint)(64 * 1024 - MALLOC_OVERHEAD)
572extern int my_copy(
const char *from,
const char *to,
myf MyFlags);
582extern File my_create(
const char *FileName,
int CreateFlags,
int AccessFlags,
591 int createflags,
int access_flags,
597extern int my_symlink(
const char *content,
const char *linkname,
myf MyFlags);
602extern int my_rename(
const char *from,
const char *to,
myf MyFlags);
618#define MAX_SYSLOG_MESSAGE_SIZE 1024
623extern int my_openlog(
const char *eventSourceName,
int option,
int facility);
631#define my_access access
639 bool allow_current_dir);
641#define is_filename_allowed(name, length, allow_cwd) (true)
645extern int nt_share_delete(
const char *
name,
myf MyFlags);
646#define my_delete_allow_opened(fname, flags) nt_share_delete((fname), (flags))
648#define my_delete_allow_opened(fname, flags) my_delete((fname), (flags))
667 void (*after_sync)(
void));
673 MY_ATTRIBUTE((format(printf, 2, 4)));
675 va_list ap) MY_ATTRIBUTE((format(printf, 2, 0)));
696template <class... Ts>
703extern void my_end(
int infoflag);
712extern size_t dirname_part(
char *to,
const char *
name,
size_t *to_res_length);
714#define base_name(A) (A + dirname_length(A))
717extern char *
convert_dirname(
char *to,
const char *from,
const char *from_end);
723 const char *form, uint
flag);
731extern char *
my_path(
char *to,
const char *progname,
732 const char *own_pathname_part);
734 const char *own_path_prefix);
742 bool use_async_io,
myf cache_myflags,
746 bool use_async_io,
myf cache_myflags);
748 my_off_t seek_offset,
bool use_async_io,
754 IO_CACHE *write_cache, uint num_threads);
766#define flush_io_cache(info) my_b_flush_io_cache((info), 1)
774 MY_ATTRIBUTE((format(printf, 2, 3)));
786const size_t MY_MAX_TEMP_FILENAME_LEN = 19;
793 uint element_size,
void *init_buffer,
794 uint init_alloc, uint alloc_increment);
797#define dynamic_element(array, array_index, type) \
798 ((type)((array)->buffer) + (array_index))
812 const uint quote_len,
const char *append, ...);
817#define alloc_root_inited(A) ((A)->inited())
826 const uchar *packet,
size_t *len,
833#ifdef HAVE_SYS_MMAN_H
845#define MAP_NORESERVE 0
849#define my_mmap(a, b, c, d, e, f) mmap64(a, b, c, d, e, f)
851#define my_mmap(a, b, c, d, e, f) mmap(a, b, c, d, e, f)
853#define my_munmap(a, b) munmap((a), (b))
859#define MAP_NORESERVE 0
860#define MAP_SHARED 0x0001
861#define MAP_PRIVATE 0x0002
862#define MAP_NOSYNC 0x0800
863#define MAP_FAILED ((void *)-1)
864#define MS_SYNC 0x0000
873 return getpagesize();
877 return (
int)si.dwPageSize;
881int my_msync(
int,
void *,
size_t,
int);
904 char *to,
size_t to_length,
905 const char *from,
size_t length);
912 size_t to_length,
const char *from,
913 size_t length,
char quote);
915extern bool have_tcpip;
919int my_security_attr_create(SECURITY_ATTRIBUTES **psa,
const char **perror,
920 DWORD owner_rights, DWORD everybody_rights);
922void my_security_attr_free(SECURITY_ATTRIBUTES *sa);
927 size_t mbbufsize,
size_t *nread);
928void my_win_console_write(
const CHARSET_INFO *
cs,
const char *data,
930void my_win_console_fputs(
const CHARSET_INFO *
cs,
const char *data);
932void my_win_console_vfprintf(
const CHARSET_INFO *
cs,
const char *fmt,
934int my_win_translate_command_line_args(
const CHARSET_INFO *
cs,
int *ac,
938#ifdef HAVE_PSI_INTERFACE
User-specified callback interface for collation parser/initializer.
Definition: m_ctype.h:190
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:531
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:444
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:485
MYSQL_PLUGIN_IMPORT PSI_thread_bootstrap * psi_thread_hook
Definition: psi_noop.cc:247
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:582
my_error_vreporter my_charset_error_reporter
Definition: charset.cc:123
cache_type
Definition: my_sys.h:287
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:585
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:631
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:539
my_off_t my_b_get_pos_in_file(const IO_CACHE *info)
Definition: my_sys.h:543
void set_psi_tls_channel_service(void *psi)
Definition: psi_noop.cc:1009
void set_psi_mutex_service(void *psi)
Definition: psi_noop.cc:281
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:119
void * alloc_dynamic(DYNAMIC_ARRAY *array)
Definition: array.cc:141
ulong my_default_record_cache_size
Definition: my_static.cc:162
MYSQL_PLUGIN_IMPORT PSI_stage_bootstrap * psi_stage_hook
Definition: psi_noop.cc:626
MYSQL_PLUGIN_IMPORT PSI_metric_bootstrap * psi_metric_hook
Definition: psi_noop.cc:1032
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:990
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
CHARSET_INFO * get_charset_by_name(const char *cs_name, myf flags)
Definition: charset.cc:277
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:902
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:957
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:915
bool my_init_dynamic_array(DYNAMIC_ARRAY *array, PSI_memory_key key, uint element_size, void *init_buffer, uint init_alloc, uint alloc_increment)
Definition: array.cc:69
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:267
bool dynstr_trunc(DYNAMIC_STRING *str, size_t n)
Definition: my_string.cc:116
void(*)(uint, const char *, myf) ErrorHandlerFunctionPointer
Definition: my_sys.h:229
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:490
void set_psi_table_service(void *psi)
Definition: psi_noop.cc:548
void dynstr_free(DYNAMIC_STRING *str)
Definition: my_string.cc:188
int(* qsort2_cmp)(const void *, const void *, const void *)
Definition: my_sys.h:473
#define my_mmap(a, b, c, d, e, f)
Definition: my_sys.h:849
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:328
void my_b_clear(IO_CACHE *info)
Definition: my_sys.h:493
MYSQL_PLUGIN_IMPORT PSI_tls_channel_bootstrap * psi_tls_channel_hook
Definition: psi_noop.cc:1006
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:495
void set_psi_error_service(void *psi)
Definition: psi_noop.cc:918
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:954
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:641
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:376
const char * my_filename(File fd)
Get filename of file.
Definition: my_file.cc:247
bool my_enable_symlinks
Definition: my_sys.h:283
MYSQL_PLUGIN_IMPORT PSI_table_bootstrap * psi_table_hook
Definition: psi_noop.cc:545
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:523
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:348
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:697
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:604
bool insert_dynamic(DYNAMIC_ARRAY *array, const void *element)
Definition: array.cc:112
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:511
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:328
size_t my_b_bytes_in_cache(const IO_CACHE *info)
Definition: my_sys.h:550
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:835
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:601
bool my_uncompress(mysql_compress_context *, uchar *, size_t, size_t *)
Uncompress packet.
Definition: my_compress.cc:324
UnlinkOrKeepFile
Definition: my_sys.h:782
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:853
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:441
MYSQL_PLUGIN_IMPORT PSI_data_lock_bootstrap * psi_data_lock_hook
Definition: psi_noop.cc:974
int my_msync(int, void *, size_t, int)
Definition: my_mmap.cc:51
size_t escape_quotes_for_mysql(CHARSET_INFO *charset_info, char *to, size_t to_length, const char *from, size_t length, char quote)
Definition: charset.cc:539
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:501
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:286
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:326
MYSQL_PLUGIN_IMPORT PSI_rwlock_bootstrap * psi_rwlock_hook
Definition: psi_noop.cc:322
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 delete_dynamic(DYNAMIC_ARRAY *array)
Definition: array.cc:176
void set_psi_data_lock_service(void *psi)
Definition: psi_noop.cc:977
my_syslog_options
Definition: my_sys.h:621
MYSQL_PLUGIN_IMPORT PSI_cond_bootstrap * psi_cond_hook
Definition: psi_noop.cc:354
bool has_path(const char *name)
Definition: my_getwd.cc:160
size_t escape_string_for_mysql(const CHARSET_INFO *charset_info, char *to, size_t to_length, const char *from, size_t length)
Definition: charset.cc:413
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:263
void set_psi_cond_service(void *psi)
Definition: psi_noop.cc:357
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:325
const char * get_collation_name(uint charset_number)
Definition: charset.cc:218
constexpr int my_b_EOF
Definition: my_sys.h:499
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:292
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:97
void set_psi_thread_service(void *psi)
Definition: psi_noop.cc:250
MYSQL_PLUGIN_IMPORT PSI_socket_bootstrap * psi_socket_hook
Definition: psi_noop.cc:487
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
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:535
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:629
void set_psi_metric_service(void *psi)
Definition: psi_noop.cc:1035
MYSQL_PLUGIN_IMPORT PSI_system_bootstrap * psi_system_hook
Definition: psi_noop.cc:987
MYSQL_PLUGIN_IMPORT PSI_mdl_bootstrap * psi_mdl_hook
Definition: psi_noop.cc:582
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:838
void set_psi_transaction_service(void *psi)
Definition: psi_noop.cc:905
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:278
void(* my_error_reporter)(enum loglevel level, uint ecode,...)
Definition: my_sys.h:484
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:871
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:297
@ SEQ_READ_APPEND
Definition: my_sys.h:291
@ TYPE_NOT_SET
Definition: my_sys.h:288
@ READ_NET
Definition: my_sys.h:293
@ WRITE_CACHE
Definition: my_sys.h:290
@ WRITE_NET
Definition: my_sys.h:294
@ READ_CACHE
Definition: my_sys.h:289
@ READ_FIFO
Definition: my_sys.h:292
@ UNLINK_FILE
Definition: my_sys.h:782
@ KEEP_FILE
Definition: my_sys.h:782
@ MY_SYSLOG_PIDS
Definition: my_sys.h:621
@ FLUSH_KEEP
Definition: my_sys.h:298
@ FLUSH_RELEASE
Definition: my_sys.h:299
@ FLUSH_FORCE_WRITE
Definition: my_sys.h:305
@ FLUSH_IGNORE_CHANGED
Definition: my_sys.h:300
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:10161
Header for compiler-dependent features.
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:247
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:1081
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:423
uchar * buffer
Definition: my_sys.h:309
uint elements
Definition: my_sys.h:310
uint size_of_element
Definition: my_sys.h:312
uint alloc_increment
Definition: my_sys.h:311
uint max_element
Definition: my_sys.h:310
PSI_memory_key m_psi_key
Definition: my_sys.h:313
char * str
Definition: my_sys.h:323
size_t length
Definition: my_sys.h:324
size_t max_length
Definition: my_sys.h:324
int running_threads
Definition: my_sys.h:340
int error
Definition: my_sys.h:342
mysql_mutex_t mutex
Definition: my_sys.h:331
uchar * read_end
Definition: my_sys.h:339
my_off_t pos_in_file
Definition: my_sys.h:335
int total_threads
Definition: my_sys.h:341
mysql_cond_t cond_writer
Definition: my_sys.h:333
mysql_cond_t cond
Definition: my_sys.h:332
IO_CACHE * source_cache
Definition: my_sys.h:337
uchar * buffer
Definition: my_sys.h:338
uchar * write_buffer
Definition: my_sys.h:364
uchar * read_pos
Definition: my_sys.h:356
my_off_t pos_in_file
Definition: my_sys.h:348
my_off_t end_of_file
Definition: my_sys.h:354
uchar * read_end
Definition: my_sys.h:358
uchar ** current_end
Definition: my_sys.h:383
ulong disk_writes
Definition: my_sys.h:434
IO_CACHE_CALLBACK post_read
Definition: my_sys.h:427
myf myflags
Definition: my_sys.h:454
void * arg
Definition: my_sys.h:435
uchar * buffer
Definition: my_sys.h:359
bool seek_not_done
Definition: my_sys.h:448
uchar * write_pos
Definition: my_sys.h:373
uchar ** current_pos
Definition: my_sys.h:383
PSI_file_key file_key
Definition: my_sys.h:439
int(* write_function)(IO_CACHE *, const uchar *, size_t)
Definition: my_sys.h:412
char * file_name
Definition: my_sys.h:436
uchar * append_read_pos
Definition: my_sys.h:371
uint disk_sync_delay
Definition: my_sys.h:470
uchar * request_pos
Definition: my_sys.h:361
size_t buffer_length
Definition: my_sys.h:451
int(* read_function)(IO_CACHE *, uchar *, size_t)
Definition: my_sys.h:407
char * dir
Definition: my_sys.h:437
bool alloced_buffer
Definition: my_sys.h:461
uchar * write_end
Definition: my_sys.h:375
Stream_cipher * m_encryptor
Definition: my_sys.h:463
char * prefix
Definition: my_sys.h:437
Stream_cipher * m_decryptor
Definition: my_sys.h:465
IO_CACHE_CALLBACK pre_close
Definition: my_sys.h:428
int error
Definition: my_sys.h:449
IO_CACHE_SHARE * share
Definition: my_sys.h:397
cache_type type
Definition: my_sys.h:418
size_t read_length
Definition: my_sys.h:453
IO_CACHE_CALLBACK pre_read
Definition: my_sys.h:426
mysql_mutex_t append_buffer_lock
Definition: my_sys.h:389
bool disk_sync
Definition: my_sys.h:467
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:181
char ** list
Definition: my_sys.h:317
uint max
Definition: my_sys.h:318
uint cur
Definition: my_sys.h:318
mysql_mutex_t mutex
Definition: my_sys.h:319
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_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:480
ino_t st_ino
Definition: my_sys.h:481
struct for once_alloc (block)
Definition: my_sys.h:564
unsigned int size
size of block
Definition: my_sys.h:567
unsigned int left
memory left in block
Definition: my_sys.h:566
USED_MEM * next
Next block in use.
Definition: my_sys.h:565
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:42
#define HANDLE
Definition: violite.h:159
int n
Definition: xcom_base.cc:509
static uint64_t cache_size
Definition: xcom_cache.cc:362