49#ifdef HAVE_SYS_SELECT_H
50#include <sys/select.h>
98#define MY_INIT(name) \
100 my_progname = name; \
113#define MYSYS_ERRMSG_SIZE (512)
114#define MYSYS_STRERROR_SIZE (128)
116#define MY_FILE_ERROR ((size_t)-1)
124#define MY_WAIT_IF_FULL 32
125#define MY_IGNORE_BADFD 32
126#define MY_REPORT_WAITING_IF_FULL 64
127#define MY_FULL_IO 512
128#define MY_DONT_CHECK_FILESIZE 128
129#define MY_LINK_WARNING 32
130#define MY_COPYTIME 64
131#define MY_DELETE_OLD 256
132#define MY_RESOLVE_LINK 128
133#define MY_HOLD_ORIGINAL_MODES 128
134#define MY_SEEK_NOT_DONE 32
135#define MY_DONT_WAIT 64
136#define MY_ZEROFILL 32
137#define MY_ALLOW_ZERO_PTR 64
138#define MY_FREE_ON_ERROR 128
139#define MY_HOLD_ON_ERROR 256
140#define MY_DONT_OVERWRITE_FILE 1024
143#define MYF_RW MYF(MY_WME + MY_NABP)
145#define MY_CHECK_ERROR 1
146#define MY_GIVE_INFO 2
147#define MY_DONT_FREE_DBUG 4
151#define ME_ERRORLOG 64
152#define ME_FATALERROR 1024
155#define MY_REPLACE_DIR 1
156#define MY_REPLACE_EXT 2
157#define MY_UNPACK_FILENAME 4
159#define MY_RESOLVE_SYMLINKS 16
160#define MY_RETURN_REAL_PATH 32
161#define MY_SAFE_PATH 64
162#define MY_RELATIVE_PATH 128
163#define MY_APPEND_EXT 256
171#define MY_WAIT_FOR_USER_TO_FIX_PANIC 60
172#define MY_WAIT_GIVE_USER_A_MESSAGE 10
173#define MIN_COMPRESS_LENGTH 50
174#define DFLT_INIT_HITS 3
177#define MY_ERRNO_EDOM 33
178#define MY_ERRNO_ERANGE 34
188#define my_safe_alloca(size, max_alloca_sz) \
189 ((size <= max_alloca_sz) ? my_alloca(size) \
190 : my_malloc(key_memory_max_alloca, size, MYF(0)))
191#define my_safe_afree(ptr, size, max_alloca_sz) \
192 if (size > max_alloca_sz) my_free(ptr)
194#if defined(ENABLED_DEBUG_SYNC)
195using DebugSyncCallbackFp = void (*)(
const char *, size_t);
196extern DebugSyncCallbackFp debug_sync_C_callback_ptr;
198#define DEBUG_SYNC_C(_sync_point_name_) \
200 if (debug_sync_C_callback_ptr != NULL) \
201 (*debug_sync_C_callback_ptr)(STRING_WITH_LEN(_sync_point_name_)); \
203#define DEBUG_SYNC_C_IF_THD(thd, _sync_point_name_) \
205 if (debug_sync_C_callback_ptr != NULL && thd) \
206 (*debug_sync_C_callback_ptr)(STRING_WITH_LEN(_sync_point_name_)); \
209#define DEBUG_SYNC_C(_sync_point_name_)
210#define DEBUG_SYNC_C_IF_THD(thd, _sync_point_name_)
213#ifdef HAVE_LINUX_LARGE_PAGES
216#define my_get_large_page_size() (0)
219#define my_alloca(SZ) alloca((size_t)(SZ))
239 const char *src_function,
const char *src_file,
243 const char *src_function,
const char *src_file,
249 const char *src_function,
const char *src_file,
262#define MY_ALL_CHARSETS_SIZE 2048
468typedef int (*
qsort2_cmp)(
const void *,
const void *,
const void *);
490 return info->buffer !=
nullptr;
496 if (
info->read_pos + count <= info->read_end) {
505 if (
info->write_pos + count <= info->write_end) {
516 if (
info->read_pos !=
info->read_end) {
518 return info->read_pos[-1];
524 return info->pos_in_file + *
info->current_pos -
info->request_pos;
528 return info->request_pos;
536 return info->pos_in_file;
543 return *
info->current_end - *
info->current_pos;
550#define MALLOC_OVERHEAD 8
553#define RECORD_CACHE_SIZE (uint)(64 * 1024 - MALLOC_OVERHEAD)
564extern int my_copy(
const char *from,
const char *to,
myf MyFlags);
574extern File my_create(
const char *FileName,
int CreateFlags,
int AccessFlags,
583 int createflags,
int access_flags,
589extern int my_symlink(
const char *content,
const char *linkname,
myf MyFlags);
594extern int my_rename(
const char *from,
const char *to,
myf MyFlags);
610#define MAX_SYSLOG_MESSAGE_SIZE 1024
615extern int my_openlog(
const char *eventSourceName,
int option,
int facility);
623#define my_access access
631 bool allow_current_dir);
633#define is_filename_allowed(name, length, allow_cwd) (true)
637extern int nt_share_delete(
const char *
name,
myf MyFlags);
638#define my_delete_allow_opened(fname, flags) nt_share_delete((fname), (flags))
640#define my_delete_allow_opened(fname, flags) my_delete((fname), (flags))
659 void (*after_sync)(
void));
665 MY_ATTRIBUTE((format(printf, 2, 4)));
667 va_list ap) MY_ATTRIBUTE((format(printf, 2, 0)));
688template <class... Ts>
695extern void my_end(
int infoflag);
704extern size_t dirname_part(
char *to,
const char *
name,
size_t *to_res_length);
706#define base_name(A) (A + dirname_length(A))
709extern char *
convert_dirname(
char *to,
const char *from,
const char *from_end);
723extern char *
my_path(
char *to,
const char *progname,
724 const char *own_pathname_part);
726 const char *own_path_prefix);
734 bool use_async_io,
myf cache_myflags,
738 bool use_async_io,
myf cache_myflags);
740 my_off_t seek_offset,
bool use_async_io,
758#define flush_io_cache(info) my_b_flush_io_cache((info), 1)
766 MY_ATTRIBUTE((format(printf, 2, 3)));
778const size_t MY_MAX_TEMP_FILENAME_LEN = 19;
785 uint element_size,
void *init_buffer,
786 uint init_alloc,
uint alloc_increment);
789#define dynamic_element(array, array_index, type) \
790 ((type)((array)->buffer) + (array_index))
804 const uint quote_len,
const char *append, ...);
809#define alloc_root_inited(A) ((A)->inited())
818 const uchar *packet,
size_t *len,
825#ifdef HAVE_SYS_MMAN_H
837#define MAP_NORESERVE 0
841#define my_mmap(a, b, c, d, e, f) mmap64(a, b, c, d, e, f)
843#define my_mmap(a, b, c, d, e, f) mmap(a, b, c, d, e, f)
845#define my_munmap(a, b) munmap((a), (b))
851#define MAP_NORESERVE 0
852#define MAP_SHARED 0x0001
853#define MAP_PRIVATE 0x0002
854#define MAP_NOSYNC 0x0800
855#define MAP_FAILED ((void *)-1)
856#define MS_SYNC 0x0000
865 return getpagesize();
869 return (
int)si.dwPageSize;
873int my_msync(
int,
void *,
size_t,
int);
898 char *to,
size_t to_length,
899 const char *from,
size_t length);
906 size_t to_length,
const char *from,
907 size_t length,
char quote);
909extern bool have_tcpip;
913int my_security_attr_create(SECURITY_ATTRIBUTES **psa,
const char **perror,
914 DWORD owner_rights, DWORD everybody_rights);
916void my_security_attr_free(SECURITY_ATTRIBUTES *sa);
921 size_t mbbufsize,
size_t *nread);
922void my_win_console_write(
const CHARSET_INFO *
cs,
const char *data,
924void my_win_console_fputs(
const CHARSET_INFO *
cs,
const char *data);
926void my_win_console_vfprintf(
const CHARSET_INFO *
cs,
const char *fmt,
928int my_win_translate_command_line_args(
const CHARSET_INFO *
cs,
int *ac,
932#ifdef HAVE_PSI_INTERFACE
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:110
my_off_t my_b_tell(const IO_CACHE *info)
Definition: my_sys.h:523
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:442
PSI_file_key key_file_io_cache
Definition: mf_iocache.cc:92
MYSQL_PLUGIN_IMPORT PSI_thread_bootstrap * psi_thread_hook
Definition: psi_noop.cc:245
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:202
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:87
void charset_uninit()
Definition: charset.cc:909
cache_type
Definition: my_sys.h:282
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:583
int my_chsize(File fd, my_off_t newlength, int filler, myf MyFlags)
Change size of file.
Definition: my_chsize.cc:66
void remove_io_thread(IO_CACHE *info)
Definition: mf_iocache.cc:671
PSI_memory_key key_memory_max_alloca
Definition: my_static.cc:67
void my_error(int nr, myf MyFlags,...)
Fill in and print a previously registered error message.
Definition: my_error.cc:216
CHARSET_INFO compiled_charsets[]
Definition: ctype-extra.cc:6500
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:169
#define my_access
Definition: my_sys.h:623
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:531
my_off_t my_b_get_pos_in_file(const IO_CACHE *info)
Definition: my_sys.h:535
void set_psi_tls_channel_service(void *psi)
Definition: psi_noop.cc:1007
void set_psi_mutex_service(void *psi)
Definition: psi_noop.cc:279
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:286
#define MYSYS_STRERROR_SIZE
Definition: my_sys.h:114
void * alloc_dynamic(DYNAMIC_ARRAY *array)
Definition: array.cc:141
ulong my_default_record_cache_size
Definition: my_static.cc:163
MYSQL_PLUGIN_IMPORT PSI_stage_bootstrap * psi_stage_hook
Definition: psi_noop.cc:624
int _my_b_net_read(IO_CACHE *info, uchar *Buffer, size_t Count)
Read buffered from the net.
Definition: mf_iocache.cc:61
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:988
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:98
bool init_dynamic_string(DYNAMIC_STRING *str, const char *init_str, size_t init_alloc)
Definition: my_string.cc:45
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:617
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:207
int test_if_hard_path(const char *dir_name)
Definition: my_getwd.cc:135
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:1375
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:900
MYSQL_PLUGIN_IMPORT ulong my_thread_stack_size
Definition: my_init.cc:93
CHARSET_INFO * get_charset(uint cs_number, myf flags)
Definition: charset.cc:569
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:955
int my_setwd(const char *dir, myf MyFlags)
Definition: my_getwd.cc:104
int my_b_append(IO_CACHE *info, const uchar *Buffer, size_t Count)
Definition: mf_iocache.cc:1319
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:913
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:278
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:154
File create_temp_file(char *to, const char *dir, const char *pfx, int mode, UnlinkOrKeepFile unlink_or_keep, myf MyFlags)
Definition: mf_tempfile.cc:219
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:90
int check_if_legal_tablename(const char *path)
Definition: my_access.cc:158
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:262
bool dynstr_trunc(DYNAMIC_STRING *str, size_t n)
Definition: my_string.cc:115
void(*)(uint, const char *, myf) ErrorHandlerFunctionPointer
Definition: my_sys.h:224
int my_getwd(char *buf, size_t size, myf MyFlags)
Definition: my_getwd.cc:76
char * my_tmpdir(MY_TMPDIR *tmpdir)
Definition: mf_tempdir.cc:104
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:295
void set_psi_socket_service(void *psi)
Definition: psi_noop.cc:488
void set_psi_table_service(void *psi)
Definition: psi_noop.cc:546
void dynstr_free(DYNAMIC_STRING *str)
Definition: my_string.cc:187
int(* qsort2_cmp)(const void *, const void *, const void *)
Definition: my_sys.h:468
CHARSET_INFO * my_collation_get_by_name(MY_CHARSET_LOADER *loader, const char *name, myf flags)
Find collation by name: extended version of get_charset_by_name() to return error messages to the cal...
Definition: charset.cc:600
#define my_mmap(a, b, c, d, e, f)
Definition: my_sys.h:841
char * get_charsets_dir(char *buf)
Definition: charset.cc:390
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:487
MYSQL_PLUGIN_IMPORT PSI_tls_channel_bootstrap * psi_tls_channel_hook
Definition: psi_noop.cc:1004
bool dynstr_set(DYNAMIC_STRING *str, const char *init_str)
Definition: my_string.cc:61
bool my_b_inited(const IO_CACHE *info)
Definition: my_sys.h:489
void set_psi_error_service(void *psi)
Definition: psi_noop.cc:916
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:324
MYSQL_PLUGIN_IMPORT PSI_memory_bootstrap * psi_memory_hook
Definition: psi_noop.cc:952
MYSQL_PLUGIN_IMPORT CHARSET_INFO * default_charset_info
Definition: charset.cc:411
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:356
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:633
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:703
const char * my_filename(File fd)
Get filename of file.
Definition: my_file.cc:247
bool my_enable_symlinks
Definition: my_sys.h:278
MYSQL_PLUGIN_IMPORT PSI_table_bootstrap * psi_table_hook
Definition: psi_noop.cc:543
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:97
void free_tmpdir(MY_TMPDIR *tmpdir)
Definition: mf_tempdir.cc:114
int my_b_get(IO_CACHE *info)
Definition: my_sys.h:515
bool dynstr_append(DYNAMIC_STRING *str, const char *append)
Definition: my_string.cc:94
int my_is_symlink(const char *filename, ST_FILE_ID *file_id)
Definition: my_symlink.cc:114
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:675
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:689
int my_b_safe_write(IO_CACHE *info, const uchar *Buffer, size_t Count)
Definition: mf_iocache.cc:1358
bool my_init(void)
Initialize my_sys functions, resources and variables.
Definition: my_init.cc:131
bool init_compiled_charsets(myf flags)
Definition: charset-def.cc:271
void my_message_local(enum loglevel ll, uint ecode,...)
Issue a message locally (i.e.
Definition: my_error.cc:473
size_t cleanup_dirname(char *to, const char *from)
Remove unwanted chars from dirname.
Definition: mf_pack.cc:78
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:171
void set_psi_idle_service(void *psi)
Definition: psi_noop.cc:602
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:504
void * my_once_memdup(const void *src, size_t len, myf myflags)
Definition: my_once.cc:107
int(* IO_CACHE_CALLBACK)(IO_CACHE *)
Definition: my_sys.h:323
MYSQL_PLUGIN_IMPORT CHARSET_INFO * all_charsets[MY_ALL_CHARSETS_SIZE]
Definition: charset.cc:410
size_t my_b_bytes_in_cache(const IO_CACHE *info)
Definition: my_sys.h:542
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:71
const char * my_progname
Definition: my_static.cc:84
MYSQL_PLUGIN_IMPORT PSI_statement_bootstrap * psi_statement_hook
Definition: psi_noop.cc:833
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:184
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:506
bool dynstr_append_quoted(DYNAMIC_STRING *str, const char *quote_str, const uint quote_len, const char *append,...)
Definition: my_string.cc:178
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:599
bool my_uncompress(mysql_compress_context *, uchar *, size_t, size_t *)
Uncompress packet.
Definition: my_compress.cc:324
UnlinkOrKeepFile
Definition: my_sys.h:774
int my_umask_dir
Definition: my_static.cc:160
ulong my_stream_opened
Definition: my_static.cc:89
void my_init_mysys_psi_keys(void)
Definition: my_init.cc:578
MY_MODE get_file_perm(ulong perm_flags)
Definition: my_chmod.cc:53
#define my_munmap(a, b)
Definition: my_sys.h:845
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:163
MYSQL_PLUGIN_IMPORT PSI_file_bootstrap * psi_file_hook
Definition: psi_noop.cc:439
MYSQL_PLUGIN_IMPORT PSI_data_lock_bootstrap * psi_data_lock_hook
Definition: psi_noop.cc:972
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:866
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
void add_compiled_collation(CHARSET_INFO *cs)
Definition: charset.cc:413
int my_b_read(IO_CACHE *info, uchar *buffer, size_t count)
Definition: my_sys.h:495
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:252
ulong my_file_total_opened
Definition: my_static.cc:91
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:213
CHARSET_INFO * my_charset_get_by_name(MY_CHARSET_LOADER *loader, const char *name, uint cs_flags, myf my_flags)
Find character set by name: extended version of get_charset_by_csname() to return error messages to t...
Definition: charset.cc:631
CHARSET_INFO * get_charset_by_csname(const char *cs_name, uint cs_flags, myf my_flags)
Definition: charset.cc:653
MYSQL_PLUGIN_IMPORT PSI_rwlock_bootstrap * psi_rwlock_hook
Definition: psi_noop.cc:320
int end_io_cache(IO_CACHE *info)
Definition: mf_iocache.cc:1519
my_error_reporter my_charset_error_reporter
Definition: charset.cc:328
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:975
my_syslog_options
Definition: my_sys.h:613
MYSQL_PLUGIN_IMPORT PSI_cond_bootstrap * psi_cond_hook
Definition: psi_noop.cc:352
bool has_path(const char *name)
Definition: my_getwd.cc:158
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:740
void set_psi_cond_service(void *psi)
Definition: psi_noop.cc:355
void * multi_alloc_root(MEM_ROOT *mem_root,...)
Definition: my_alloc.cc:250
char * intern_filename(char *to, const char *from)
Fix a filename to intern (UNIX format).
Definition: mf_pack.cc:376
int _my_b_get(IO_CACHE *info)
Definition: mf_iocache.cc:1219
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:92
void set_psi_rwlock_service(void *psi)
Definition: psi_noop.cc:323
constexpr int my_b_EOF
Definition: my_sys.h:493
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:203
MYSQL_PLUGIN_IMPORT int my_umask
Definition: my_static.cc:160
bool init_tmpdir(MY_TMPDIR *tmpdir, const char *pathlist)
Definition: mf_tempdir.cc:50
bool my_gethwaddr(uchar *to)
Definition: my_gethwaddr.cc:238
uint get_collation_number(const char *name)
Definition: charset.cc:455
int my_b_flush_io_cache(IO_CACHE *info, int need_append_buffer_lock)
Definition: mf_iocache.cc:1430
int _my_b_write(IO_CACHE *info, const uchar *Buffer, size_t Count)
Definition: mf_iocache.cc:1238
char * safe_strdup_root(MEM_ROOT *root, const char *str)
Definition: my_alloc.cc:282
int my_realpath(char *to, const char *filename, myf MyFlags)
Definition: my_symlink.cc:137
bool my_disable_locking
Definition: my_static.cc:227
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:216
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:248
MYSQL_PLUGIN_IMPORT PSI_socket_bootstrap * psi_socket_hook
Definition: psi_noop.cc:485
void my_end(int infoflag)
Definition: my_init.cc:174
bool dynstr_realloc(DYNAMIC_STRING *str, size_t additional_size)
Definition: my_string.cc:80
char * home_dir
Definition: my_static.cc:83
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:527
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
const char * get_collation_name(uint cs_number)
Definition: charset.cc:515
void set_psi_stage_service(void *psi)
Definition: psi_noop.cc:627
MYSQL_PLUGIN_IMPORT PSI_system_bootstrap * psi_system_hook
Definition: psi_noop.cc:985
MYSQL_PLUGIN_IMPORT PSI_mdl_bootstrap * psi_mdl_hook
Definition: psi_noop.cc:580
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:836
void set_psi_transaction_service(void *psi)
Definition: psi_noop.cc:903
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:356
char * my_path(char *to, const char *progname, const char *own_pathname_part)
Definition: mf_path.cc:62
MYSQL_PLUGIN_IMPORT PSI_mutex_bootstrap * psi_mutex_hook
Definition: psi_noop.cc:276
void(* my_error_reporter)(enum loglevel level, uint ecode,...)
Definition: my_sys.h:479
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:62
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:65
static int my_getpagesize()
Definition: my_sys.h:863
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:210
flush_type
Definition: my_sys.h:292
@ SEQ_READ_APPEND
Definition: my_sys.h:286
@ TYPE_NOT_SET
Definition: my_sys.h:283
@ READ_NET
Definition: my_sys.h:288
@ WRITE_CACHE
Definition: my_sys.h:285
@ WRITE_NET
Definition: my_sys.h:289
@ READ_CACHE
Definition: my_sys.h:284
@ READ_FIFO
Definition: my_sys.h:287
@ UNLINK_FILE
Definition: my_sys.h:774
@ KEEP_FILE
Definition: my_sys.h:774
@ MY_SYSLOG_PIDS
Definition: my_sys.h:613
@ FLUSH_KEEP
Definition: my_sys.h:293
@ FLUSH_RELEASE
Definition: my_sys.h:294
@ FLUSH_FORCE_WRITE
Definition: my_sys.h:300
@ FLUSH_IGNORE_CHANGED
Definition: my_sys.h:295
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:9912
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:58
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:1655
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:1640
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:1647
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:407
static int count
Definition: myisam_ftdump.cc:43
static const CHARSET_INFO * charset_info
Definition: mysql.cc:233
Instrumentation helpers for conditions.
ABI for instrumented mutexes.
static char * path
Definition: mysqldump.cc:137
std::string str(const mysqlrouter::ConfigGenerator::Options::Endpoint &ep)
Definition: config_generator.cc:1052
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
int last_error()
get last socket error.
Definition: socket_error.h:82
mutable_buffer buffer(void *p, size_t n) noexcept
Definition: buffer.h:420
mode
Definition: file_handle.h:60
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:33
This file includes core components for encrypting/decrypting binary log files.
Definition: m_ctype.h:385
uchar * buffer
Definition: my_sys.h:304
uint elements
Definition: my_sys.h:305
uint size_of_element
Definition: my_sys.h:307
uint alloc_increment
Definition: my_sys.h:306
uint max_element
Definition: my_sys.h:305
PSI_memory_key m_psi_key
Definition: my_sys.h:308
char * str
Definition: my_sys.h:318
size_t length
Definition: my_sys.h:319
size_t max_length
Definition: my_sys.h:319
int running_threads
Definition: my_sys.h:335
int error
Definition: my_sys.h:337
mysql_mutex_t mutex
Definition: my_sys.h:326
uchar * read_end
Definition: my_sys.h:334
my_off_t pos_in_file
Definition: my_sys.h:330
int total_threads
Definition: my_sys.h:336
mysql_cond_t cond_writer
Definition: my_sys.h:328
mysql_cond_t cond
Definition: my_sys.h:327
IO_CACHE * source_cache
Definition: my_sys.h:332
uchar * buffer
Definition: my_sys.h:333
uchar * write_buffer
Definition: my_sys.h:359
uchar * read_pos
Definition: my_sys.h:351
my_off_t pos_in_file
Definition: my_sys.h:343
my_off_t end_of_file
Definition: my_sys.h:349
uchar * read_end
Definition: my_sys.h:353
uchar ** current_end
Definition: my_sys.h:378
ulong disk_writes
Definition: my_sys.h:429
IO_CACHE_CALLBACK post_read
Definition: my_sys.h:422
myf myflags
Definition: my_sys.h:449
void * arg
Definition: my_sys.h:430
uchar * buffer
Definition: my_sys.h:354
bool seek_not_done
Definition: my_sys.h:443
uchar * write_pos
Definition: my_sys.h:368
uchar ** current_pos
Definition: my_sys.h:378
PSI_file_key file_key
Definition: my_sys.h:434
int(* write_function)(IO_CACHE *, const uchar *, size_t)
Definition: my_sys.h:407
char * file_name
Definition: my_sys.h:431
uchar * append_read_pos
Definition: my_sys.h:366
uint disk_sync_delay
Definition: my_sys.h:465
uchar * request_pos
Definition: my_sys.h:356
size_t buffer_length
Definition: my_sys.h:446
int(* read_function)(IO_CACHE *, uchar *, size_t)
Definition: my_sys.h:402
char * dir
Definition: my_sys.h:432
bool alloced_buffer
Definition: my_sys.h:456
uchar * write_end
Definition: my_sys.h:370
Stream_cipher * m_encryptor
Definition: my_sys.h:458
char * prefix
Definition: my_sys.h:432
Stream_cipher * m_decryptor
Definition: my_sys.h:460
IO_CACHE_CALLBACK pre_close
Definition: my_sys.h:423
int error
Definition: my_sys.h:444
IO_CACHE_SHARE * share
Definition: my_sys.h:392
cache_type type
Definition: my_sys.h:413
size_t read_length
Definition: my_sys.h:448
IO_CACHE_CALLBACK pre_read
Definition: my_sys.h:421
mysql_mutex_t append_buffer_lock
Definition: my_sys.h:384
bool disk_sync
Definition: my_sys.h:462
The MEM_ROOT is a simple arena, where allocations are carved out of larger blocks.
Definition: my_alloc.h:83
Definition: m_ctype.h:174
char ** list
Definition: my_sys.h:312
uint max
Definition: my_sys.h:313
uint cur
Definition: my_sys.h:313
mysql_mutex_t mutex
Definition: my_sys.h:314
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_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:475
ino_t st_ino
Definition: my_sys.h:476
struct for once_alloc (block)
Definition: my_sys.h:556
unsigned int size
size of block
Definition: my_sys.h:559
unsigned int left
memory left in block
Definition: my_sys.h:558
USED_MEM * next
Next block in use.
Definition: my_sys.h:557
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.
unsigned int uint
Definition: uca9-dump.cc:75
#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