summaryrefslogtreecommitdiff
path: root/extra/mariabackup/xtrabackup.h
diff options
context:
space:
mode:
Diffstat (limited to 'extra/mariabackup/xtrabackup.h')
-rw-r--r--extra/mariabackup/xtrabackup.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/extra/mariabackup/xtrabackup.h b/extra/mariabackup/xtrabackup.h
index 2dbdd442f95..827def4be5b 100644
--- a/extra/mariabackup/xtrabackup.h
+++ b/extra/mariabackup/xtrabackup.h
@@ -25,6 +25,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
#include "datasink.h"
#include "xbstream.h"
#include "changed_page_bitmap.h"
+#include <set>
struct xb_delta_info_t
{
@@ -35,6 +36,32 @@ struct xb_delta_info_t
ulint space_id;
};
+class CorruptedPages
+{
+public:
+ CorruptedPages();
+ ~CorruptedPages();
+ void add_page(const char *file_name, ulint space_id, ulint page_no);
+ bool contains(ulint space_id, ulint page_no) const;
+ void drop_space(ulint space_id);
+ void rename_space(ulint space_id, const std::string &new_name);
+ bool print_to_file(const char *file_name) const;
+ void read_from_file(const char *file_name);
+ bool empty() const;
+ void zero_out_free_pages();
+
+private:
+ void add_page_no_lock(const char *space_name, ulint space_id, ulint page_no,
+ bool convert_space_name);
+ struct space_info_t {
+ std::string space_name;
+ std::set<ulint> pages;
+ };
+ typedef std::map<ulint, space_info_t> container_t;
+ mutable pthread_mutex_t m_mutex;
+ container_t m_spaces;
+};
+
/* value of the --incremental option */
extern lsn_t incremental_lsn;
@@ -110,6 +137,7 @@ extern my_bool opt_remove_original;
extern my_bool opt_extended_validation;
extern my_bool opt_encrypted_backup;
extern my_bool opt_lock_ddl_per_table;
+extern my_bool opt_log_innodb_page_corruption;
extern char *opt_incremental_history_name;
extern char *opt_incremental_history_uuid;