mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 10:56:12 +01:00 
			
		
		
		
	 1c55b845e0
			
		
	
	
	1c55b845e0
	
	
	
		
			
			Added support to BACKUP STAGE to maria-backup
This is a port of the code from ES 10.6
See MDEV-5336 for backup stages description.
The following old options are not supported by the new code:
--rsync             ; This is because rsync will not work on tables
                      that are in used.
--no-backup-locks   ; This is disabled as mariadb-backup will always
                      use backup locks for better performance.
		
	
			
		
			
				
	
	
		
			38 lines
		
	
	
	
		
			941 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
	
		
			941 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| #pragma once
 | |
| #include "my_global.h"
 | |
| #include "datasink.h"
 | |
| #include "backup_mysql.h"
 | |
| #include "thread_pool.h"
 | |
| #include "xtrabackup.h"
 | |
| 
 | |
| namespace aria {
 | |
| 
 | |
| bool prepare(const char *target_dir);
 | |
| 
 | |
| class BackupImpl;
 | |
| 
 | |
| class Backup {
 | |
| 	public:
 | |
| 		Backup(const char *datadir_path,
 | |
| 		       const char *aria_log_path,
 | |
| 		       ds_ctxt_t *datasink,
 | |
| 			std::vector<MYSQL *> &con_pool, ThreadPool &thread_pool);
 | |
| 		~Backup();
 | |
| 		Backup (Backup &&other) = delete;
 | |
| 		Backup & operator= (Backup &&other) = delete;
 | |
| 		Backup(const Backup &) = delete;
 | |
| 		Backup & operator= (const Backup &) = delete;
 | |
| 		bool init();
 | |
| 		bool start(bool no_lock);
 | |
| 		bool wait_for_finish();
 | |
| 		bool copy_offline_tables(
 | |
| 			const std::unordered_set<table_key_t> *exclude_tables, bool no_lock,
 | |
| 			bool copy_stats);
 | |
| 		bool finalize();
 | |
| 		bool copy_log_tail();
 | |
| 		void set_post_copy_table_hook(const post_copy_table_hook_t &hook);
 | |
| 	private:
 | |
| 		BackupImpl *m_backup_impl;
 | |
| };
 | |
| 
 | |
| } // namespace aria
 |