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.
		
	
			
		
			
				
	
	
		
			39 lines
		
	
	
	
		
			1,004 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
	
		
			1,004 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| #pragma once
 | |
| #include "my_global.h"
 | |
| #include "backup_mysql.h"
 | |
| #include "datasink.h"
 | |
| #include "thread_pool.h"
 | |
| #include "xtrabackup.h"
 | |
| 
 | |
| #include <unordered_set>
 | |
| #include <string>
 | |
| #include <vector>
 | |
| 
 | |
| namespace common_engine {
 | |
| 
 | |
| class BackupImpl;
 | |
| 
 | |
| class Backup {
 | |
| 	public:
 | |
| 		Backup(const char *datadir_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 scan(
 | |
| 				const std::unordered_set<table_key_t> &exclude_tables,
 | |
| 				std::unordered_set<table_key_t> *out_processed_tables,
 | |
| 				bool no_lock, bool collect_log_and_stats);
 | |
| 		bool copy_log_tables(bool finalize);
 | |
| 		bool copy_stats_tables();
 | |
| 		bool wait_for_finish();
 | |
| 		bool close_log_tables();
 | |
| 		void set_post_copy_table_hook(const post_copy_table_hook_t &hook);
 | |
| 	private:
 | |
| 		BackupImpl *m_backup_impl;
 | |
| };
 | |
| 
 | |
| } // namespace common_engine
 | |
| 
 |