mirror of
https://github.com/MariaDB/server.git
synced 2025-01-20 22:12:30 +01:00
0d55af3f0e
kernel includes needed by ndb_restore changed link order moved LocalConfig to mgmapi Moved NdbConfig to Portlib mgmapi to use LocalConfig for connectstring parsing instead of it's own enable usage of "NULL" connectstring for default new ndbmgmclient lib that can be used by e.g. mysqladmin later LocalConfig no longer needed here, now in mgmapi Send connectstring to mgmapi instead added valid connectstring to be with only host without port i.e. valid connectstring =host1,host2,host3 default port will be added
92 lines
2.5 KiB
C++
92 lines
2.5 KiB
C++
/* Copyright (C) 2003 MySQL AB
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 2 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, write to the Free Software
|
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
|
|
|
#ifndef CONSUMER_RESTORE_HPP
|
|
#define CONSUMER_RESTORE_HPP
|
|
|
|
#include "consumer.hpp"
|
|
|
|
struct restore_callback_t {
|
|
class BackupRestore *restore;
|
|
class TupleS *tup;
|
|
class NdbConnection *connection;
|
|
int retries;
|
|
restore_callback_t *next;
|
|
};
|
|
|
|
|
|
class BackupRestore : public BackupConsumer
|
|
{
|
|
public:
|
|
BackupRestore(Uint32 parallelism=1)
|
|
{
|
|
m_ndb = 0;
|
|
m_logCount = m_dataCount = 0;
|
|
m_restore = false;
|
|
m_restore_meta = false;
|
|
m_parallelism = parallelism;
|
|
m_callback = 0;
|
|
m_tuples = 0;
|
|
m_free_callback = 0;
|
|
m_transactions = 0;
|
|
m_cache.m_old_table = 0;
|
|
}
|
|
|
|
virtual ~BackupRestore();
|
|
virtual bool init();
|
|
virtual void release();
|
|
virtual bool table(const TableS &);
|
|
virtual bool endOfTables();
|
|
virtual void tuple(const TupleS &);
|
|
virtual void tuple_free();
|
|
virtual void tuple_a(restore_callback_t *cb);
|
|
virtual void cback(int result, restore_callback_t *cb);
|
|
virtual bool errorHandler(restore_callback_t *cb);
|
|
virtual void exitHandler();
|
|
virtual void endOfTuples();
|
|
virtual void logEntry(const LogEntry &);
|
|
virtual void endOfLogEntrys();
|
|
virtual bool finalize_table(const TableS &);
|
|
void connectToMysql();
|
|
Ndb * m_ndb;
|
|
bool m_restore;
|
|
bool m_restore_meta;
|
|
Uint32 m_logCount;
|
|
Uint32 m_dataCount;
|
|
|
|
Uint32 m_parallelism;
|
|
Uint32 m_transactions;
|
|
|
|
TupleS *m_tuples;
|
|
restore_callback_t *m_callback;
|
|
restore_callback_t *m_free_callback;
|
|
|
|
/**
|
|
* m_new_table_ids[X] = Y;
|
|
* X - old table id
|
|
* Y != 0 - new table
|
|
*/
|
|
Vector<const NdbDictionary::Table*> m_new_tables;
|
|
struct {
|
|
const NdbDictionary::Table* m_old_table;
|
|
const NdbDictionary::Table* m_new_table;
|
|
} m_cache;
|
|
const NdbDictionary::Table* get_table(const NdbDictionary::Table* );
|
|
|
|
Vector<const NdbDictionary::Table*> m_indexes;
|
|
};
|
|
|
|
#endif
|