58#if defined(MYSQL_SERVER) || defined(PFS_DIRECT_CALL)
64#define PSI_FILE_CALL(M) psi_file_service->M
77#define mysql_file_register(P1, P2, P3) inline_mysql_file_register(P1, P2, P3)
84#ifdef HAVE_PSI_FILE_INTERFACE
85#define mysql_file_fgets(P1, P2, F) \
86 inline_mysql_file_fgets(__FILE__, __LINE__, P1, P2, F)
88#define mysql_file_fgets(P1, P2, F) inline_mysql_file_fgets(P1, P2, F)
96#ifdef HAVE_PSI_FILE_INTERFACE
97#define mysql_file_fgetc(F) inline_mysql_file_fgetc(__FILE__, __LINE__, F)
99#define mysql_file_fgetc(F) inline_mysql_file_fgetc(F)
107#ifdef HAVE_PSI_FILE_INTERFACE
108#define mysql_file_fputs(P1, F) \
109 inline_mysql_file_fputs(__FILE__, __LINE__, P1, F)
111#define mysql_file_fputs(P1, F) inline_mysql_file_fputs(P1, F)
119#ifdef HAVE_PSI_FILE_INTERFACE
120#define mysql_file_fputc(P1, F) \
121 inline_mysql_file_fputc(__FILE__, __LINE__, P1, F)
123#define mysql_file_fputc(P1, F) inline_mysql_file_fputc(P1, F)
131#define mysql_file_fprintf inline_mysql_file_fprintf
138#ifdef HAVE_PSI_FILE_INTERFACE
139#define mysql_file_vfprintf(F, P1, P2) \
140 inline_mysql_file_vfprintf(__FILE__, __LINE__, F, P1, P2)
142#define mysql_file_vfprintf(F, P1, P2) inline_mysql_file_vfprintf(F, P1, P2)
150#ifdef HAVE_PSI_FILE_INTERFACE
151#define mysql_file_fflush(F) inline_mysql_file_fflush(__FILE__, __LINE__, F)
153#define mysql_file_fflush(F) inline_mysql_file_fflush(F)
161#define mysql_file_feof(F) inline_mysql_file_feof(F)
168#ifdef HAVE_PSI_FILE_INTERFACE
169#define mysql_file_fstat(FN, S) \
170 inline_mysql_file_fstat(__FILE__, __LINE__, FN, S)
172#define mysql_file_fstat(FN, S) inline_mysql_file_fstat(FN, S)
180#ifdef HAVE_PSI_FILE_INTERFACE
181#define mysql_file_stat(K, FN, S, FL) \
182 inline_mysql_file_stat(K, __FILE__, __LINE__, FN, S, FL)
184#define mysql_file_stat(K, FN, S, FL) inline_mysql_file_stat(FN, S, FL)
192#ifdef HAVE_PSI_FILE_INTERFACE
193#define mysql_file_chsize(F, P1, P2, P3) \
194 inline_mysql_file_chsize(__FILE__, __LINE__, F, P1, P2, P3)
196#define mysql_file_chsize(F, P1, P2, P3) inline_mysql_file_chsize(F, P1, P2, P3)
204#ifdef HAVE_PSI_FILE_INTERFACE
205#define mysql_file_fopen(K, N, F1, F2) \
206 inline_mysql_file_fopen(K, __FILE__, __LINE__, N, F1, F2)
208#define mysql_file_fopen(K, N, F1, F2) inline_mysql_file_fopen(N, F1, F2)
223#ifdef HAVE_PSI_FILE_INTERFACE
224#define mysql_file_fclose(FD, FL) \
225 inline_mysql_file_fclose(__FILE__, __LINE__, FD, FL)
227#define mysql_file_fclose(FD, FL) inline_mysql_file_fclose(FD, FL)
235#ifdef HAVE_PSI_FILE_INTERFACE
236#define mysql_file_fread(FD, P1, P2, P3) \
237 inline_mysql_file_fread(__FILE__, __LINE__, FD, P1, P2, P3)
239#define mysql_file_fread(FD, P1, P2, P3) inline_mysql_file_fread(FD, P1, P2, P3)
247#ifdef HAVE_PSI_FILE_INTERFACE
248#define mysql_file_fwrite(FD, P1, P2, P3) \
249 inline_mysql_file_fwrite(__FILE__, __LINE__, FD, P1, P2, P3)
251#define mysql_file_fwrite(FD, P1, P2, P3) \
252 inline_mysql_file_fwrite(FD, P1, P2, P3)
260#ifdef HAVE_PSI_FILE_INTERFACE
261#define mysql_file_fseek(FD, P, W) \
262 inline_mysql_file_fseek(__FILE__, __LINE__, FD, P, W)
264#define mysql_file_fseek(FD, P, W) inline_mysql_file_fseek(FD, P, W)
272#ifdef HAVE_PSI_FILE_INTERFACE
273#define mysql_file_ftell(FD) inline_mysql_file_ftell(__FILE__, __LINE__, FD)
275#define mysql_file_ftell(FD) inline_mysql_file_ftell(FD)
283#ifdef HAVE_PSI_FILE_INTERFACE
284#define mysql_file_create(K, N, F1, F2, F3) \
285 inline_mysql_file_create(K, __FILE__, __LINE__, N, F1, F2, F3)
287#define mysql_file_create(K, N, F1, F2, F3) \
288 inline_mysql_file_create(N, F1, F2, F3)
296#ifdef HAVE_PSI_FILE_INTERFACE
297#define mysql_file_create_temp(K, T, D, P, M, U, F) \
298 inline_mysql_file_create_temp(K, __FILE__, __LINE__, T, D, P, M, U, F)
300#define mysql_file_create_temp(K, T, D, P, M, U, F) \
301 inline_mysql_file_create_temp(T, D, P, M, U, F)
309#ifdef HAVE_PSI_FILE_INTERFACE
310#define mysql_file_open(K, N, F1, F2) \
311 inline_mysql_file_open(K, __FILE__, __LINE__, N, F1, F2)
313#define mysql_file_open(K, N, F1, F2) inline_mysql_file_open(N, F1, F2)
321#ifdef HAVE_PSI_FILE_INTERFACE
322#define mysql_file_close(FD, F) \
323 inline_mysql_file_close(__FILE__, __LINE__, FD, F)
325#define mysql_file_close(FD, F) inline_mysql_file_close(FD, F)
333#ifdef HAVE_PSI_FILE_INTERFACE
334#define mysql_file_read(FD, B, S, F) \
335 inline_mysql_file_read(__FILE__, __LINE__, FD, B, S, F)
337#define mysql_file_read(FD, B, S, F) inline_mysql_file_read(FD, B, S, F)
345#ifdef HAVE_PSI_FILE_INTERFACE
346#define mysql_file_write(FD, B, S, F) \
347 inline_mysql_file_write(__FILE__, __LINE__, FD, B, S, F)
349#define mysql_file_write(FD, B, S, F) inline_mysql_file_write(FD, B, S, F)
357#ifdef HAVE_PSI_FILE_INTERFACE
358#define mysql_file_pread(FD, B, S, O, F) \
359 inline_mysql_file_pread(__FILE__, __LINE__, FD, B, S, O, F)
361#define mysql_file_pread(FD, B, S, O, F) inline_mysql_file_pread(FD, B, S, O, F)
369#ifdef HAVE_PSI_FILE_INTERFACE
370#define mysql_file_pwrite(FD, B, S, O, F) \
371 inline_mysql_file_pwrite(__FILE__, __LINE__, FD, B, S, O, F)
373#define mysql_file_pwrite(FD, B, S, O, F) \
374 inline_mysql_file_pwrite(FD, B, S, O, F)
382#ifdef HAVE_PSI_FILE_INTERFACE
383#define mysql_file_seek(FD, P, W, F) \
384 inline_mysql_file_seek(__FILE__, __LINE__, FD, P, W, F)
386#define mysql_file_seek(FD, P, W, F) inline_mysql_file_seek(FD, P, W, F)
394#ifdef HAVE_PSI_FILE_INTERFACE
395#define mysql_file_tell(FD, F) inline_mysql_file_tell(__FILE__, __LINE__, FD, F)
397#define mysql_file_tell(FD, F) inline_mysql_file_tell(FD, F)
405#ifdef HAVE_PSI_FILE_INTERFACE
406#define mysql_file_delete(K, P1, P2) \
407 inline_mysql_file_delete(K, __FILE__, __LINE__, P1, P2)
409#define mysql_file_delete(K, P1, P2) inline_mysql_file_delete(P1, P2)
417#ifdef HAVE_PSI_FILE_INTERFACE
418#define mysql_file_rename(K, P1, P2, P3) \
419 inline_mysql_file_rename(K, __FILE__, __LINE__, P1, P2, P3)
421#define mysql_file_rename(K, P1, P2, P3) inline_mysql_file_rename(P1, P2, P3)
430#ifdef HAVE_PSI_FILE_INTERFACE
431#define mysql_file_create_with_symlink(K, P1, P2, P3, P4, P5) \
432 inline_mysql_file_create_with_symlink(K, __FILE__, __LINE__, P1, P2, P3, P4, \
435#define mysql_file_create_with_symlink(K, P1, P2, P3, P4, P5) \
436 inline_mysql_file_create_with_symlink(P1, P2, P3, P4, P5)
445#ifdef HAVE_PSI_FILE_INTERFACE
446#define mysql_file_delete_with_symlink(K, P1, P2) \
447 inline_mysql_file_delete_with_symlink(K, __FILE__, __LINE__, P1, P2)
449#define mysql_file_delete_with_symlink(K, P1, P2) \
450 inline_mysql_file_delete_with_symlink(P1, P2)
459#ifdef HAVE_PSI_FILE_INTERFACE
460#define mysql_file_rename_with_symlink(K, P1, P2, P3) \
461 inline_mysql_file_rename_with_symlink(K, __FILE__, __LINE__, P1, P2, P3)
463#define mysql_file_rename_with_symlink(K, P1, P2, P3) \
464 inline_mysql_file_rename_with_symlink(P1, P2, P3)
472#ifdef HAVE_PSI_FILE_INTERFACE
473#define mysql_file_sync(P1, P2) \
474 inline_mysql_file_sync(__FILE__, __LINE__, P1, P2)
476#define mysql_file_sync(P1, P2) inline_mysql_file_sync(P1, P2)
499 const char *
category [[maybe_unused]],
void *info [[maybe_unused]],
500 int count [[maybe_unused]]
503#ifdef HAVE_PSI_FILE_INTERFACE
510 const char *src_file, uint src_line,
514#ifdef HAVE_PSI_FILE_INTERFACE
519 if (
likely(locker !=
nullptr)) {
533 const char *src_file, uint src_line,
537#ifdef HAVE_PSI_FILE_INTERFACE
542 if (
likely(locker !=
nullptr)) {
543 PSI_FILE_CALL(start_file_wait)(locker, (size_t)1, src_file, src_line);
556 const char *src_file, uint src_line,
560#ifdef HAVE_PSI_FILE_INTERFACE
566 if (
likely(locker !=
nullptr)) {
567 bytes =
str ? strlen(
str) : 0;
568 PSI_FILE_CALL(start_file_wait)(locker, bytes, src_file, src_line);
581 const char *src_file, uint src_line,
585#ifdef HAVE_PSI_FILE_INTERFACE
590 if (
likely(locker !=
nullptr)) {
591 PSI_FILE_CALL(start_file_wait)(locker, (size_t)1, src_file, src_line);
603 const char *format, ...)
604 MY_ATTRIBUTE((format(printf, 2, 3)));
607 const
char *format, ...) {
613#ifdef HAVE_PSI_FILE_INTERFACE
618 if (
likely(locker !=
nullptr)) {
619 PSI_FILE_CALL(start_file_wait)(locker, (size_t)0, __FILE__, __LINE__);
620 va_start(args, format);
621 result = vfprintf(
file->m_file, format, args);
628 va_start(args, format);
629 result = vfprintf(
file->m_file, format, args);
636 const char *src_file, uint src_line,
639#ifdef HAVE_PSI_FILE_INTERFACE
640 MY_ATTRIBUTE((format(printf, 4, 0)));
642 MY_ATTRIBUTE((format(printf, 2, 0)));
647 const char *src_file, uint src_line,
651#ifdef HAVE_PSI_FILE_INTERFACE
656 if (
likely(locker !=
nullptr)) {
657 PSI_FILE_CALL(start_file_wait)(locker, (size_t)0, src_file, src_line);
658 result = vfprintf(
file->m_file, format, args);
664 result = vfprintf(
file->m_file, format, args);
670 const char *src_file, uint src_line,
674#ifdef HAVE_PSI_FILE_INTERFACE
679 if (
likely(locker !=
nullptr)) {
680 PSI_FILE_CALL(start_file_wait)(locker, (size_t)0, src_file, src_line);
693 return feof(
file->m_file);
698 const char *src_file, uint src_line,
700 int filenr,
MY_STAT *stat_area) {
702#ifdef HAVE_PSI_FILE_INTERFACE
705 locker =
PSI_FILE_CALL(get_thread_file_descriptor_locker)(&state, filenr,
707 if (
likely(locker !=
nullptr)) {
708 PSI_FILE_CALL(start_file_wait)(locker, (size_t)0, src_file, src_line);
725#ifdef HAVE_PSI_FILE_INTERFACE
730 if (
likely(locker !=
nullptr)) {
731 PSI_FILE_CALL(start_file_open_wait)(locker, src_file, src_line);
744 const char *src_file, uint src_line,
748#ifdef HAVE_PSI_FILE_INTERFACE
753 if (
likely(locker !=
nullptr)) {
755 (locker, (size_t)newlength, src_file, src_line);
774 if (
likely(that !=
nullptr)) {
775#ifdef HAVE_PSI_FILE_INTERFACE
780 if (
likely(locker !=
nullptr)) {
782 (locker, src_file, src_line);
793 that->
m_psi =
nullptr;
805 const char *src_file, uint src_line,
810#ifdef HAVE_PSI_FILE_INTERFACE
815 if (
likely(locker !=
nullptr)) {
816 PSI_FILE_CALL(start_file_close_wait)(locker, src_file, src_line);
832 const char *src_file, uint src_line,
836#ifdef HAVE_PSI_FILE_INTERFACE
842 if (
likely(locker !=
nullptr)) {
861 const char *src_file, uint src_line,
865#ifdef HAVE_PSI_FILE_INTERFACE
868 size_t bytes_written;
871 if (
likely(locker !=
nullptr)) {
890 const char *src_file, uint src_line,
894#ifdef HAVE_PSI_FILE_INTERFACE
899 if (
likely(locker !=
nullptr)) {
900 PSI_FILE_CALL(start_file_wait)(locker, (size_t)0, src_file, src_line);
913 const char *src_file, uint src_line,
917#ifdef HAVE_PSI_FILE_INTERFACE
922 if (
likely(locker !=
nullptr)) {
923 PSI_FILE_CALL(start_file_wait)(locker, (size_t)0, src_file, src_line);
938 const char *
filename,
int create_flags,
int access_flags,
myf myFlags) {
940#ifdef HAVE_PSI_FILE_INTERFACE
945 if (
likely(locker !=
nullptr)) {
946 PSI_FILE_CALL(start_file_open_wait)(locker, src_file, src_line);
961 char *to,
const char *
dir,
const char *pfx,
int mode,
964#ifdef HAVE_PSI_FILE_INTERFACE
969 if (
likely(locker !=
nullptr)) {
970 PSI_FILE_CALL(start_file_open_wait)(locker, src_file, src_line);
973 PSI_FILE_CALL(end_temp_file_open_wait_and_bind_to_descriptor)
974 (locker,
file, (
const char *)to);
989#ifdef HAVE_PSI_FILE_INTERFACE
994 if (
likely(locker !=
nullptr)) {
995 PSI_FILE_CALL(start_file_open_wait)(locker, src_file, src_line);
1008 const char *src_file, uint src_line,
1012#ifdef HAVE_PSI_FILE_INTERFACE
1017 if (
likely(locker !=
nullptr)) {
1018 PSI_FILE_CALL(start_file_close_wait)(locker, src_file, src_line);
1031 const char *src_file, uint src_line,
1035#ifdef HAVE_PSI_FILE_INTERFACE
1041 if (
likely(locker !=
nullptr)) {
1060 const char *src_file, uint src_line,
1064#ifdef HAVE_PSI_FILE_INTERFACE
1067 size_t bytes_written;
1070 if (
likely(locker !=
nullptr)) {
1089 const char *src_file, uint src_line,
1093#ifdef HAVE_PSI_FILE_INTERFACE
1099 if (
likely(locker !=
nullptr)) {
1118 const char *src_file, uint src_line,
1122#ifdef HAVE_PSI_FILE_INTERFACE
1125 size_t bytes_written;
1128 if (
likely(locker !=
nullptr)) {
1147 const char *src_file, uint src_line,
1151#ifdef HAVE_PSI_FILE_INTERFACE
1156 if (
likely(locker !=
nullptr)) {
1157 PSI_FILE_CALL(start_file_wait)(locker, (size_t)0, src_file, src_line);
1170 const char *src_file, uint src_line,
1174#ifdef HAVE_PSI_FILE_INTERFACE
1179 if (
likely(locker !=
nullptr)) {
1180 PSI_FILE_CALL(start_file_wait)(locker, (size_t)0, src_file, src_line);
1197#ifdef HAVE_PSI_FILE_INTERFACE
1202 if (
likely(locker !=
nullptr)) {
1203 PSI_FILE_CALL(start_file_close_wait)(locker, src_file, src_line);
1218 const char *from,
const char *to,
myf flags) {
1220#ifdef HAVE_PSI_FILE_INTERFACE
1225 if (
likely(locker !=
nullptr)) {
1227 (locker, (size_t)0, from, to, src_file, src_line);
1242 const char *linkname,
const char *
filename,
int create_flags,
1245#ifdef HAVE_PSI_FILE_INTERFACE
1250 if (
likely(locker !=
nullptr)) {
1251 PSI_FILE_CALL(start_file_open_wait)(locker, src_file, src_line);
1253 access_flags,
flags);
1270#ifdef HAVE_PSI_FILE_INTERFACE
1275 if (
likely(locker !=
nullptr)) {
1276 PSI_FILE_CALL(start_file_close_wait)(locker, src_file, src_line);
1291 const char *from,
const char *to,
myf flags) {
1293#ifdef HAVE_PSI_FILE_INTERFACE
1298 if (
likely(locker !=
nullptr)) {
1300 (locker, (size_t)0, from, to, src_file, src_line);
1313 const char *src_file, uint src_line,
1317#ifdef HAVE_PSI_FILE_INTERFACE
1320 locker =
PSI_FILE_CALL(get_thread_file_descriptor_locker)(&state, fd,
1322 if (
likely(locker !=
nullptr)) {
1323 PSI_FILE_CALL(start_file_wait)(locker, (size_t)0, src_file, src_line);
#define PSI_FILE_CALL(M)
Definition: psi_file.h:36
int my_sync(File fd, myf my_flags)
Definition: my_sync.cc:85
int my_chsize(File fd, my_off_t newlength, int filler, myf MyFlags)
Change size of file.
Definition: my_chsize.cc:66
int my_delete_with_symlink(const char *name, myf MyFlags)
Definition: my_symlink2.cc:127
int my_rename(const char *from, const char *to, myf MyFlags)
Definition: my_rename.cc:47
File my_create(const char *FileName, int CreateFlags, int AccessFlags, myf MyFlags)
Create a new file.
Definition: my_create.cc:64
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
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
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
my_off_t my_ftell(FILE *stream)
Portable ftell() wrapper.
Definition: my_fstream.cc:166
#define MY_NABP
Definition: my_sys.h:128
my_off_t my_tell(File fd, myf MyFlags)
Definition: my_seek.cc:94
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
int my_delete(const char *name, myf MyFlags)
Definition: my_delete.cc:46
int my_rename_with_symlink(const char *from, const char *to, myf MyFlags)
Definition: my_symlink2.cc:154
#define MY_WME
Definition: my_sys.h:130
File my_create_with_symlink(const char *linkname, const char *filename, int createflags, int access_flags, myf MyFlags)
Definition: my_symlink2.cc:54
#define MY_FNABP
Definition: my_sys.h:127
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
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_close(File fd, myf MyFlags)
Close a file.
Definition: my_open.cc:99
UnlinkOrKeepFile
Definition: my_sys.h:779
#define MY_FILE_ERROR
Definition: my_sys.h:123
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
FILE * my_fopen(const char *filename, int Flags, myf MyFlags)
Open a file as stream.
Definition: my_fopen.cc:109
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
int my_fclose(FILE *stream, myf MyFlags)
Close a stream.
Definition: my_fopen.cc:175
struct PSI_file PSI_file
Definition: psi_file_bits.h:55
unsigned int PSI_file_key
Instrumented file key.
Definition: psi_file_bits.h:48
struct PSI_file_locker PSI_file_locker
Definition: psi_file_bits.h:62
@ PSI_FILE_OPEN
File open, as in open().
Definition: psi_file_bits.h:71
@ PSI_FILE_STREAM_CLOSE
File close, as in fclose().
Definition: psi_file_bits.h:77
@ PSI_FILE_WRITE
Generic file write, such as fputs(), fputc(), fprintf(), vfprintf(), fwrite(), write(),...
Definition: psi_file_bits.h:87
@ PSI_FILE_CHSIZE
File chsize, as in my_chsize().
Definition: psi_file_bits.h:99
@ PSI_FILE_CLOSE
File close, as in close().
Definition: psi_file_bits.h:75
@ PSI_FILE_SEEK
Generic file seek, such as fseek() or seek().
Definition: psi_file_bits.h:89
@ PSI_FILE_TELL
Generic file tell, such as ftell() or tell().
Definition: psi_file_bits.h:91
@ PSI_FILE_STREAM_OPEN
File open, as in fopen().
Definition: psi_file_bits.h:73
@ PSI_FILE_CREATE
File creation, as in create().
Definition: psi_file_bits.h:67
@ PSI_FILE_FSTAT
File stat, as in fstat().
Definition: psi_file_bits.h:97
@ PSI_FILE_RENAME
File rename, such as my_rename() or my_rename_with_symlink().
Definition: psi_file_bits.h:103
@ PSI_FILE_STAT
File stat, as in stat().
Definition: psi_file_bits.h:95
@ PSI_FILE_DELETE
File delete, such as my_delete() or my_delete_with_symlink().
Definition: psi_file_bits.h:101
@ PSI_FILE_FLUSH
File flush, as in fflush().
Definition: psi_file_bits.h:93
@ PSI_FILE_READ
Generic file read, such as fgets(), fgetc(), fread(), read(), pread().
Definition: psi_file_bits.h:82
@ PSI_FILE_SYNC
File sync, as in fsync() or my_sync().
Definition: psi_file_bits.h:105
static int inline_mysql_file_fclose(const char *src_file, uint src_line, MYSQL_FILE *file, myf flags)
Definition: mysql_file.h:803
static int inline_mysql_file_delete_with_symlink(PSI_file_key key, const char *src_file, uint src_line, const char *name, myf flags)
Definition: mysql_file.h:1264
static File inline_mysql_file_open(PSI_file_key key, const char *src_file, uint src_line, const char *filename, int flags, myf myFlags)
Definition: mysql_file.h:983
static int inline_mysql_file_chsize(const char *src_file, uint src_line, File file, my_off_t newlength, int filler, myf flags)
Definition: mysql_file.h:742
static size_t inline_mysql_file_pread(const char *src_file, uint src_line, File file, uchar *buffer, size_t count, my_off_t offset, myf flags)
Definition: mysql_file.h:1087
static size_t inline_mysql_file_fwrite(const char *src_file, uint src_line, MYSQL_FILE *file, const uchar *buffer, size_t count, myf flags)
Definition: mysql_file.h:859
static File inline_mysql_file_create_temp(PSI_file_key key, const char *src_file, uint src_line, char *to, const char *dir, const char *pfx, int mode, UnlinkOrKeepFile unlink_or_keep, myf myFlags)
Definition: mysql_file.h:957
static my_off_t inline_mysql_file_seek(const char *src_file, uint src_line, File file, my_off_t pos, int whence, myf flags)
Definition: mysql_file.h:1145
static File inline_mysql_file_create(PSI_file_key key, const char *src_file, uint src_line, const char *filename, int create_flags, int access_flags, myf myFlags)
Definition: mysql_file.h:934
static int inline_mysql_file_rename_with_symlink(PSI_file_key key, const char *src_file, uint src_line, const char *from, const char *to, myf flags)
Definition: mysql_file.h:1287
static MYSQL_FILE * inline_mysql_file_fopen(PSI_file_key key, const char *src_file, uint src_line, const char *filename, int flags, myf myFlags)
Definition: mysql_file.h:766
static int inline_mysql_file_vfprintf(const char *src_file, uint src_line, MYSQL_FILE *file, const char *format, va_list args)
Definition: mysql_file.h:645
static size_t inline_mysql_file_write(const char *src_file, uint src_line, File file, const uchar *buffer, size_t count, myf flags)
Definition: mysql_file.h:1058
static int inline_mysql_file_delete(PSI_file_key key, const char *src_file, uint src_line, const char *name, myf flags)
Definition: mysql_file.h:1191
static File inline_mysql_file_create_with_symlink(PSI_file_key key, const char *src_file, uint src_line, const char *linkname, const char *filename, int create_flags, int access_flags, myf flags)
Definition: mysql_file.h:1238
static int inline_mysql_file_close(const char *src_file, uint src_line, File file, myf flags)
Definition: mysql_file.h:1006
static int inline_mysql_file_fputs(const char *src_file, uint src_line, const char *str, MYSQL_FILE *file)
Definition: mysql_file.h:554
static my_off_t inline_mysql_file_tell(const char *src_file, uint src_line, File file, myf flags)
Definition: mysql_file.h:1168
static MY_STAT * inline_mysql_file_stat(PSI_file_key key, const char *src_file, uint src_line, const char *path, MY_STAT *stat_area, myf flags)
Definition: mysql_file.h:719
static size_t inline_mysql_file_read(const char *src_file, uint src_line, File file, uchar *buffer, size_t count, myf flags)
Definition: mysql_file.h:1029
static int inline_mysql_file_rename(PSI_file_key key, const char *src_file, uint src_line, const char *from, const char *to, myf flags)
Definition: mysql_file.h:1214
static size_t inline_mysql_file_pwrite(const char *src_file, uint src_line, File file, const uchar *buffer, size_t count, my_off_t offset, myf flags)
Definition: mysql_file.h:1116
static int inline_mysql_file_fprintf(MYSQL_FILE *file, const char *format,...)
Definition: mysql_file.h:606
static my_off_t inline_mysql_file_fseek(const char *src_file, uint src_line, MYSQL_FILE *file, my_off_t pos, int whence)
Definition: mysql_file.h:888
static void inline_mysql_file_register(const char *category, PSI_file_info *info, int count)
Definition: mysql_file.h:495
static int inline_mysql_file_fstat(const char *src_file, uint src_line, int filenr, MY_STAT *stat_area)
Definition: mysql_file.h:696
static size_t inline_mysql_file_fread(const char *src_file, uint src_line, MYSQL_FILE *file, uchar *buffer, size_t count, myf flags)
Definition: mysql_file.h:830
static my_off_t inline_mysql_file_ftell(const char *src_file, uint src_line, MYSQL_FILE *file)
Definition: mysql_file.h:911
static int inline_mysql_file_fgetc(const char *src_file, uint src_line, MYSQL_FILE *file)
Definition: mysql_file.h:531
static int inline_mysql_file_fputc(const char *src_file, uint src_line, char c, MYSQL_FILE *file)
Definition: mysql_file.h:579
static int inline_mysql_file_fflush(const char *src_file, uint src_line, MYSQL_FILE *file)
Definition: mysql_file.h:668
static int inline_mysql_file_sync(const char *src_file, uint src_line, File fd, myf flags)
Definition: mysql_file.h:1311
static char * inline_mysql_file_fgets(const char *src_file, uint src_line, char *str, int size, MYSQL_FILE *file)
Definition: mysql_file.h:508
static int inline_mysql_file_feof(MYSQL_FILE *file)
Definition: mysql_file.h:691
static int flags[50]
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
constexpr bool likely(bool expr)
Definition: my_compiler.h:57
constexpr bool unlikely(bool expr)
Definition: my_compiler.h:58
int my_fstat(int filenr, MY_STAT *stat_area)
Definition: my_lib.cc:295
#define MY_STAT
Definition: my_dir.h:71
MY_STAT * my_stat(const char *path, MY_STAT *stat_area, myf my_flags)
Definition: my_lib.cc:305
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
#define MYF(v)
Definition: my_inttypes.h:97
int File
Definition: my_io_bits.h:51
void * my_malloc(PSI_memory_key key, size_t size, int flags)
Allocates size bytes of memory.
Definition: my_memory.cc:57
void my_free(void *ptr)
Frees the memory pointed by the ptr.
Definition: my_memory.cc:81
Defines various enable/disable and HAVE_ macros related to the performance schema instrumentation sys...
#define HAVE_PSI_FILE_INTERFACE
Definition: my_psi_config.h:106
Common header for many mysys elements.
static int count
Definition: myisam_ftdump.cc:45
static char * path
Definition: mysqldump.cc:149
std::string str(const mysqlrouter::ConfigGenerator::Options::Endpoint &ep)
Definition: config_generator.cc:1105
const std::string FILE("FILE")
std::string dir
Double write files location.
Definition: buf0dblwr.cc:77
size_t size(const char *const c)
Definition: base64.h:46
mutable_buffer buffer(void *p, size_t n) noexcept
Definition: buffer.h:418
static const char * category
Definition: sha2_password.cc:170
mode
Definition: file_handle.h:61
const char * filename
Definition: pfs_example_component_population.cc:67
Performance schema instrumentation (declarations).
struct result result
Definition: result.h:34
Performance schema instrumentation interface.
required string key
Definition: replication_asynchronous_connection_failover.proto:60
case opt name
Definition: sslopt-case.h:29
An instrumented FILE structure.
Definition: mysql_file.h:484
FILE * m_file
The real file.
Definition: mysql_file.h:486
struct PSI_file * m_psi
The instrumentation hook.
Definition: mysql_file.h:492
File instrument information.
Definition: psi_file_bits.h:114
State data storage for get_thread_file_name_locker_v1_t.
Definition: psi_file_bits.h:146
#define PSI_NOT_INSTRUMENTED
Definition: validate_password_imp.cc:44