• Michael Widenius's avatar
    Fixed: MDEV-4352; LOAD DATA was not multi-source safe · 8cdb118a
    Michael Widenius authored
    - Calls to cleanup_load_tmpdir() could delete temporary files for another master connection
    - Concurrent LOAD DATA commands from two master connections could use the same file name
    
    Other bug fixes:
    - Enlarge buffer for connection names with 'special characters' one can't store in filenames
    
    Optimization:
    - Don't do 'lower case' of connection names. We can use cmp_connection_name, where we already have the connection name in lower case.
    
    
    mysql-test/suite/multi_source/load_data.result:
      Test case for MDEV-4352
    mysql-test/suite/multi_source/load_data.test:
      Test case for MDEV-4352
    sql/log_event.cc:
      Fixed: MDEV-4352
      - Calls to cleanup_load_tmpdir() could delete temporary files for another master connection
      - Concurrent LOAD DATA commands from two master connections could use the same file name
      
      The fix was to add the connection name (if one exists) to all slave temporary files used by LOAD DATA
    sql/rpl_mi.cc:
      Enlarge buffer for connection names with 'special characters' one can't store in filenames
      Use mi->cmp_connection_name for connection file names.
    sql/rpl_rli.cc:
      Use mi->cmp_connection_name for connection file names.
    sql/slave.cc:
      Removed not needed empty line
    sql/sql_const.h:
      Added MAX_FILENAME_MBWIDTH to be able to calculate buffer length for connection_names stored in file names
    sql/sql_repl.cc:
      Use mi->cmp_connection_name for connection file names.
    8cdb118a
slave.cc 202 KB