For the complete documentation index, see llms.txt. This page is also available as Markdown.

File Instrumentation

The MYSQL_FILE structure and the mysql_file_* wrappers for opening, reading, writing, seeking, syncing, renaming, and deleting files with Performance Schema instrumentation.

Instrumentation Interface

Classes

Name
Description

An instrumented FILE structure. See also: MYSQL_FILE

Macros

Name
Description

File registration.

Instrumented fgets. mysql_file_fgets is a replacement for fgets.

Instrumented fgetc. mysql_file_fgetc is a replacement for fgetc.

Instrumented fputs. mysql_file_fputs is a replacement for fputs.

Instrumented fputc. mysql_file_fputc is a replacement for fputc.

Instrumented fprintf. mysql_file_fprintf is a replacement for fprintf.

Instrumented vfprintf. mysql_file_vfprintf is a replacement for vfprintf.

Instrumented fflush. mysql_file_fflush is a replacement for fflush.

Instrumented feof. mysql_file_feof is a replacement for feof.

Instrumented fstat. mysql_file_fstat is a replacement for my_fstat.

Instrumented stat. mysql_file_stat is a replacement for my_stat.

Instrumented chsize. mysql_file_chsize is a replacement for my_chsize.

Instrumented fopen. mysql_file_fopen is a replacement for my_fopen.

Instrumented fclose. mysql_file_fclose is a replacement for my_fclose. Without the instrumentation, this call will have the same behavior as the undocumented and possibly platform specific my_fclose(NULL, ...) behavior. With the instrumentation, mysql_fclose(NULL, ...) will safely return 0, which is an extension compared to my_fclose and is therefore compliant. mysql_fclose is on purpose not implementing

Instrumented fread. mysql_file_fread is a replacement for my_fread.

Instrumented fwrite. mysql_file_fwrite is a replacement for my_fwrite.

Instrumented fseek. mysql_file_fseek is a replacement for my_fseek.

Instrumented ftell. mysql_file_ftell is a replacement for my_ftell.

Instrumented create. mysql_file_create is a replacement for my_create.

Instrumented create_temp_file. mysql_file_create_temp is a replacement for create_temp_file.

Instrumented open. mysql_file_open is a replacement for my_open.

Instrumented close. mysql_file_close is a replacement for my_close.

Instrumented read. mysql_read is a replacement for my_read.

Instrumented write. mysql_file_write is a replacement for my_write.

Instrumented pread. mysql_pread is a replacement for my_pread.

Instrumented pwrite. mysql_file_pwrite is a replacement for my_pwrite.

Instrumented seek. mysql_file_seek is a replacement for my_seek.

Instrumented tell. mysql_file_tell is a replacement for my_tell.

Instrumented delete. mysql_file_delete is a replacement for my_delete.

Instrumented rename. mysql_file_rename is a replacement for my_rename.

Instrumented create with symbolic link. mysql_file_create_with_symlink is a replacement for my_create_with_symlink.

Instrumented delete with symbolic link. mysql_file_delete_with_symlink is a replacement for my_handler_delete_with_symlink.

Instrumented rename with symbolic link. mysql_file_rename_with_symlink is a replacement for my_rename_with_symlink.

Instrumented file sync. mysql_file_sync is a replacement for my_sync.


mysql_file_register

Defined in psi/mysql_file.h:65

File registration.


mysql_file_fgets

Defined in psi/mysql_file.h:77

Instrumented fgets. mysql_file_fgets is a replacement for fgets.


mysql_file_fgetc

Defined in psi/mysql_file.h:89

Instrumented fgetc. mysql_file_fgetc is a replacement for fgetc.


mysql_file_fputs

Defined in psi/mysql_file.h:101

Instrumented fputs. mysql_file_fputs is a replacement for fputs.


mysql_file_fputc

Defined in psi/mysql_file.h:114

Instrumented fputc. mysql_file_fputc is a replacement for fputc.


mysql_file_fprintf

Defined in psi/mysql_file.h:123

Instrumented fprintf. mysql_file_fprintf is a replacement for fprintf.


mysql_file_vfprintf

Defined in psi/mysql_file.h:134

Instrumented vfprintf. mysql_file_vfprintf is a replacement for vfprintf.


mysql_file_fflush

Defined in psi/mysql_file.h:147

Instrumented fflush. mysql_file_fflush is a replacement for fflush.


mysql_file_feof

Defined in psi/mysql_file.h:156

Instrumented feof. mysql_file_feof is a replacement for feof.


mysql_file_fstat

Defined in psi/mysql_file.h:167

Instrumented fstat. mysql_file_fstat is a replacement for my_fstat.


mysql_file_stat

Defined in psi/mysql_file.h:180

Instrumented stat. mysql_file_stat is a replacement for my_stat.


mysql_file_chsize

Defined in psi/mysql_file.h:193

Instrumented chsize. mysql_file_chsize is a replacement for my_chsize.


mysql_file_fopen

Defined in psi/mysql_file.h:206

Instrumented fopen. mysql_file_fopen is a replacement for my_fopen.


mysql_file_fclose

Defined in psi/mysql_file.h:226

Instrumented fclose. mysql_file_fclose is a replacement for my_fclose. Without the instrumentation, this call will have the same behavior as the undocumented and possibly platform specific my_fclose(NULL, ...) behavior. With the instrumentation, mysql_fclose(NULL, ...) will safely return 0, which is an extension compared to my_fclose and is therefore compliant. mysql_fclose is on purpose not implementing

, since doing so could introduce regressions.


mysql_file_fread

Defined in psi/mysql_file.h:239

Instrumented fread. mysql_file_fread is a replacement for my_fread.


mysql_file_fwrite

Defined in psi/mysql_file.h:252

Instrumented fwrite. mysql_file_fwrite is a replacement for my_fwrite.


mysql_file_fseek

Defined in psi/mysql_file.h:265

Instrumented fseek. mysql_file_fseek is a replacement for my_fseek.


mysql_file_ftell

Defined in psi/mysql_file.h:278

Instrumented ftell. mysql_file_ftell is a replacement for my_ftell.


mysql_file_create

Defined in psi/mysql_file.h:291

Instrumented create. mysql_file_create is a replacement for my_create.


mysql_file_create_temp

Defined in psi/mysql_file.h:304

Instrumented create_temp_file. mysql_file_create_temp is a replacement for create_temp_file.


mysql_file_open

Defined in psi/mysql_file.h:317

Instrumented open. mysql_file_open is a replacement for my_open.


mysql_file_close

Defined in psi/mysql_file.h:330

Instrumented close. mysql_file_close is a replacement for my_close.


mysql_file_read

Defined in psi/mysql_file.h:343

Instrumented read. mysql_read is a replacement for my_read.


mysql_file_write

Defined in psi/mysql_file.h:356

Instrumented write. mysql_file_write is a replacement for my_write.


mysql_file_pread

Defined in psi/mysql_file.h:369

Instrumented pread. mysql_pread is a replacement for my_pread.


mysql_file_pwrite

Defined in psi/mysql_file.h:382

Instrumented pwrite. mysql_file_pwrite is a replacement for my_pwrite.


mysql_file_seek

Defined in psi/mysql_file.h:395

Instrumented seek. mysql_file_seek is a replacement for my_seek.


mysql_file_tell

Defined in psi/mysql_file.h:408

Instrumented tell. mysql_file_tell is a replacement for my_tell.


mysql_file_delete

Defined in psi/mysql_file.h:421

Instrumented delete. mysql_file_delete is a replacement for my_delete.


mysql_file_rename

Defined in psi/mysql_file.h:434

Instrumented rename. mysql_file_rename is a replacement for my_rename.


Defined in psi/mysql_file.h:449

Instrumented create with symbolic link. mysql_file_create_with_symlink is a replacement for my_create_with_symlink.


Defined in psi/mysql_file.h:463

Instrumented delete with symbolic link. mysql_file_delete_with_symlink is a replacement for my_handler_delete_with_symlink.


Defined in psi/mysql_file.h:477

Instrumented rename with symbolic link. mysql_file_rename_with_symlink is a replacement for my_rename_with_symlink.


mysql_file_sync

Defined in psi/mysql_file.h:490

Instrumented file sync. mysql_file_sync is a replacement for my_sync.

Typedefs

Return
Name
Description

Type of an instrumented file. MYSQL_FILE is a drop-in replacement for FILE. See also: mysql_file_open


MYSQL_FILE

Type: struct st_mysql_file

Defined in psi/mysql_file.h:515

Type of an instrumented file. MYSQL_FILE is a drop-in replacement for FILE. See also: mysql_file_open

Functions

Return
Name
Description

void

char *

int

int

int

int

int

int

int

MY_STAT *

int

int

size_t

size_t

my_off_t

my_off_t

File

File

int

size_t

size_t

size_t

size_t

my_off_t

my_off_t

int

int

int


inline_mysql_file_register

static inline

Defined in psi/mysql_file.h:517


inline_mysql_file_fgets

static inline

Defined in psi/mysql_file.h:535


inline_mysql_file_fgetc

static inline

Defined in psi/mysql_file.h:563


inline_mysql_file_fputs

static inline

Defined in psi/mysql_file.h:591


inline_mysql_file_fputc

static inline

Defined in psi/mysql_file.h:621


inline_mysql_file_fprintf

static inline

Defined in psi/mysql_file.h:649


inline_mysql_file_vfprintf

static inline

Defined in psi/mysql_file.h:681


inline_mysql_file_fflush

static inline

Defined in psi/mysql_file.h:709


inline_mysql_file_feof

static inline

Defined in psi/mysql_file.h:736


inline_mysql_file_fstat

static inline

Defined in psi/mysql_file.h:743


inline_mysql_file_stat

static inline

Defined in psi/mysql_file.h:768


inline_mysql_file_chsize

static inline

Defined in psi/mysql_file.h:793


inline_mysql_file_fopen

static inline

Defined in psi/mysql_file.h:819


inline_mysql_file_fclose

static inline

Defined in psi/mysql_file.h:861


inline_mysql_file_fread

static inline

Defined in psi/mysql_file.h:895


inline_mysql_file_fwrite

static inline

Defined in psi/mysql_file.h:928


inline_mysql_file_fseek

static inline

Defined in psi/mysql_file.h:961


inline_mysql_file_ftell

static inline

Defined in psi/mysql_file.h:989


inline_mysql_file_create

static inline

Defined in psi/mysql_file.h:1017


inline_mysql_file_create_temp

static inline

Defined in psi/mysql_file.h:1043


inline_mysql_file_open

static inline

Defined in psi/mysql_file.h:1070


inline_mysql_file_close

static inline

Defined in psi/mysql_file.h:1096


inline_mysql_file_read

static inline

Defined in psi/mysql_file.h:1121


inline_mysql_file_write

static inline

Defined in psi/mysql_file.h:1151


inline_mysql_file_pread

static inline

Defined in psi/mysql_file.h:1181


inline_mysql_file_pwrite

static inline

Defined in psi/mysql_file.h:1211


inline_mysql_file_seek

static inline

Defined in psi/mysql_file.h:1241


inline_mysql_file_tell

static inline

Defined in psi/mysql_file.h:1266


inline_mysql_file_delete

static inline

Defined in psi/mysql_file.h:1291


inline_mysql_file_rename

static inline

Defined in psi/mysql_file.h:1316


static inline

Defined in psi/mysql_file.h:1343


static inline

Defined in psi/mysql_file.h:1373


static inline

Defined in psi/mysql_file.h:1402


inline_mysql_file_sync

static inline

Defined in psi/mysql_file.h:1428

Class Definitions

st_mysql_file

Defined in psi/mysql_file.h:498

An instrumented FILE structure. See also: MYSQL_FILE

Public Attributes

Return
Name
Description

FILE *

The real file.

struct PSI_file *

The instrumentation hook. Note that this hook is not conditionally defined, for binary compatibility of the MYSQL_FILE interface.


m_file

Defined in psi/mysql_file.h:501

The real file.


m_psi

Type: struct PSI_file *

Defined in psi/mysql_file.h:507

The instrumentation hook. Note that this hook is not conditionally defined, for binary compatibility of the MYSQL_FILE interface.

Last updated

Was this helpful?