• Monty's avatar
    Optimize flush tables with read lock (FTWRL) to not wait for select's · 163b34fe
    Monty authored
    Part of MDEV-5336 Implement LOCK FOR BACKUP
    
    The idea is that instead of waiting in close_cached_tables() for all
    tables to be closed, we instead call flush_tables() that does:
    - Flush not used objects in table cache to free memory
    - Collect all tables that are open
    - Call HA_EXTRA_FLUSH on the objects, to get them into "closed state"
    - Added HA_EXTRA_FLUSH support to archive and CSV
    - Added multi-user protection to HA_EXTRA_FLUSH in MyISAM and Aria
    
    The benefit compared to old code is:
    - FTWRL doesn't have to wait for long running read operations or
      open HANDLER's
    163b34fe
flush.test 16.5 KB