• Vladislav Vaintroub's avatar
    MDEV-9566 Prepare xtradb for xtrabackup · 9c4b7cad
    Vladislav Vaintroub authored
    These changes are comparable to Percona's modifications in innodb in the
    Percona Xtrabackup repository.
    
    - If functions are used in backup as well as in innodb, make them non-static.
    
    - Define IS_XTRABACKUP() macro for special handling of innodb running
      inside backup.
    
    - Extend some functions for backup.
      fil_space_for_table_exists_in_mem() gets additional parameter
      'remove_from_data_dict_if_does_not_exist', for partial backups
    
      fil_load_single_table_tablespaces() gets an optional parameter predicate
      which tells whether to load tablespace based on database or table name,
      also for partial backups.
    
      srv_undo_tablespaces_init() gets an optional parameter 'backup_mode'
    
    - Allow single redo log file (for backup "prepare")
    
    - Do not read doublewrite buffer pages in backup, they are outdated
    
    - Add function fil_remove_invalid_table_from_data_dict(), to remove non-existing
       tables from data dictionary in case of partial backups.
    
    - On Windows, fix file share modes when opening tablespaces,
    to allow mariabackup to read tablespaces while server is online.
    
    - Avoid access to THDVARs in backup, because innodb plugin is not loaded,
    and THDVAR would crash in this case.
    9c4b7cad
log0log.cc 104 KB