• unknown's avatar
    Fixed Bug#2123, mysqld segmentation faulted when it tried to · 484cf319
    unknown authored
    open a file that already existed. The problem was that end_io_cache()
    was called even if init_io_cache() was not. This affected both
    OUTFILE and DUMPFILE (both fixed). Sometimes wrongly aligned pointer was freed,
    sometimes mysqld core dumped.
    
    Other problem was that select_dump::send_error removed the dumpfile,
    even if it was created by an earlier run, or by some other program, if
    the file permissions just permitted it. Fixed it so that the file will
    only be deleted, if an error occurred, but the file was created by mysqld
    just a moment ago, in that thread.
    
    On the other hand, select_export did not handle the corresponding garbage
    file at all. Both fixed.
    
    After these fixes, a big part of the select_export::prepare and select_dump::prepare
    code became identical. Merged the code into a new function called create_file(),
    which is now called by the two latter functions.
    
    Regards,
    Jani
    
    
    mysys/mf_iocache.c:
      Fixed a bug in comment.
    484cf319
mf_iocache.c 37.5 KB