MySQL Internals Manual  /  Important Algorithms and Structures  /  Functions in the mysys Library

10.13 Functions in the mysys Library

Functions in mysys: (For flags see my_sys.h)

  • int my_copy _A((const char *from, const char *to, myf MyFlags));

Copy file from from to to.

  • int my_rename _A((const char *from, const char *to, myf MyFlags));

Rename file from from to to.

  • int my_delete _A((const char *name, myf MyFlags));

Delete file name.

  • int my_redel _A((const char *from, const char *to, int MyFlags));

Delete from before rename of to to from. Copies state from old file to new file. If MY_COPY_TIME is set, sets old time.

  • int my_getwd _A((string buf, uint size, myf MyFlags)); , int my_setwd _A((const char *dir, myf MyFlags));

Get and set working directory.

  • string my_tempnam _A((const char *dir, const char *pfx, myf MyFlags));

Make a unique temporary file name by using dir and adding something after pfx to make the name unique. The file name is made by adding a unique six character string and TMP_EXT after pfx. Returns pointer to malloc()'ed area for filename. Should be freed by free().

  • File my_open _A((const char *FileName,int Flags,myf MyFlags)); , File my_create _A((const char *FileName, int CreateFlags, int AccsesFlags, myf MyFlags)); , int my_close _A((File Filedes, myf MyFlags)); , uint my_read _A((File Filedes, byte *Buffer, uint Count, myf MyFlags)); , uint my_write _A((File Filedes, const byte *Buffer, uint Count, myf MyFlags)); , ulong my_seek _A((File fd,ulong pos,int whence,myf MyFlags)); , ulong my_tell _A((File fd,myf MyFlags));

Use instead of open, open-with-create-flag, close, read, and write to get automatic error messages (flag MYF_WME) and only have to test for != MY_NABP</code>).

  • FILE *my_fopen _A((const char *FileName,int Flags,myf MyFlags)); , FILE *my_fdopen _A((File Filedes,int Flags,myf MyFlags)); , int my_fclose _A((FILE *fd,myf MyFlags)); , uint my_fread _A((FILE *stream,byte *Buffer,uint Count,myf MyFlags)); , uint my_fwrite _A((FILE *stream,const byte *Buffer,uint Count, myf MyFlags)); , ulong my_fseek _A((FILE *stream,ulong pos,int whence,myf MyFlags)); , ulong my_ftell _A((FILE *stream,myf MyFlags));

Same read-interface for streams as for files.

  • gptr _mymalloc _A((uint uSize,const char *sFile,uint uLine, myf MyFlag)); , gptr _myrealloc _A((string pPtr,uint uSize,const char *sFile,uint uLine, myf MyFlag)); , void _myfree _A((gptr pPtr,const char *sFile,uint uLine)); , int _sanity _A((const char *sFile,unsigned int uLine)); , gptr _myget_copy_of_memory _A((const byte *from,uint length,const char *sFile, uint uLine,myf MyFlag));

malloc(size,myflag) is mapped to these functions if not compiled with -DSAFEMALLOC.

  • void TERMINATE _A((void));

Writes malloc() info on stdout if compiled with -DSAFEMALLOC.

  • int my_chsize _A((File fd, ulong newlength, myf MyFlags));

Change size of file fd to newlength.

  • void my_error _D((int nr, myf MyFlags, ...));

Writes message using error number (see mysys/errors.h) on stdout, or using curses, if MYSYS_PROGRAM_USES_CURSES() has been called.

  • void my_message _A((const char *str, myf MyFlags));

Writes str on stdout, or using curses, if MYSYS_PROGRAM_USES_CURSES() has been called.

  • void my_init _A((void ));

Start each program (in main()) with this.

  • void my_end _A((int infoflag));

Gives info about program. If infoflag & MY_CHECK_ERROR, prints if some files are left open. If infoflag & MY_GIVE_INFO, prints timing info and malloc() info about program.

  • int my_copystat _A((const char *from, const char *to, int MyFlags));

Copy state from old file to new file. If MY_COPY_TIME is set, sets old time.

  • string my_filename _A((File fd));

Returns filename of open file.

  • int dirname _A((string to, const char *name));

Copy name of directory from filename.

  • int test_if_hard_path _A((const char *dir_name));

Test if dir_name is a hard path (starts from root).

  • void convert_dirname _A((string name));

Convert dirname according to system. On Windows, changes all characters to capitals and changes '/' to '\'.

  • string fn_ext _A((const char *name));

Returns pointer to extension in filename.

  • string fn_format _A((string to,const char *name,const char *dsk,const char *form,int flag));

Format a filename with replacement of library and extension and convert between different systems. The to and name parameters may be identical. Function doesn't change name if name != to. flag may be:


Force replace filenames library with 'dsk'


Force replace extension with 'form' */


Force unpack filename (replace ~ with home directory)


Pack filename as short as possible for output to user

All open requests should always use at least open(fn_format(temp_buffer, name, " ", " ", 4), ...) to unpack home and convert filename to system-form.

  • string fn_same _A((string toname, const char *name, int flag));

Copies directory and extension from name to toname if needed. Copying can be forced by same flags used in fn_format().

  • int wild_compare _A((const char *str, const char *wildstr));

Compare if str matches wildstr. wildstr can contain '*' and '?' as wildcard characters. Returns 0 if str and wildstr match.

  • void get_date _A((string to, int timeflag));

Get current date in a form ready for printing.

  • void soundex _A((string out_pntr, string in_pntr))

Makes in_pntr to a 5 char long string. All words that sound alike have the same string.

  • int init_key_cache _A((ulong use_mem, ulong leave_this_much_mem));

Use caching of keys in MISAM, PISAM, and ISAM. KEY_CACHE_SIZE is a good size. Remember to lock databases for optimal caching.

  • void end_key_cache _A((void));

End key caching.

User Comments
User comments in this section are, as the name implies, provided by MySQL users. The MySQL documentation team is not responsible for, nor do they endorse, any of the information provided here.
Sign Up Login You must be logged in to post a comment.