mirror of
https://github.com/MariaDB/server.git
synced 2025-01-31 11:01:52 +01:00
f095274fe8
BitKeeper/etc/ignore: auto-union BitKeeper/etc/logging_ok: auto-union BitKeeper/triggers/post-commit: Auto merged Docs/Support/texi2html: Auto merged Makefile.am: Auto merged client/Makefile.am: Auto merged client/mysql.cc: Auto merged client/mysqldump.c: Auto merged include/my_base.h: Auto merged include/my_global.h: Auto merged include/my_pthread.h: Auto merged include/my_sys.h: Auto merged include/my_time.h: Auto merged include/mysql.h: Auto merged include/mysql_com.h: Auto merged innobase/buf/buf0buf.c: Auto merged innobase/include/row0mysql.h: Auto merged innobase/row/row0sel.c: Auto merged libmysql/libmysql.c: Auto merged libmysqld/examples/Makefile.am: Auto merged myisam/mi_check.c: Auto merged mysql-test/include/ps_modify.inc: Auto merged mysql-test/install_test_db.sh: Auto merged mysql-test/r/alter_table.result: Auto merged mysql-test/r/auto_increment.result: Auto merged mysql-test/r/bdb.result: Auto merged mysql-test/r/ctype_latin1_de.result: Auto merged mysql-test/r/ctype_recoding.result: Auto merged mysql-test/r/fulltext.result: Auto merged mysql-test/r/func_gconcat.result: Auto merged mysql-test/r/func_group.result: Auto merged mysql-test/r/func_if.result: Auto merged mysql-test/t/derived.test: Auto merged mysql-test/t/insert.test: merge with 4.1 Fixed test case to not use 'if exists' when it shouldn't mysql-test/t/range.test: merge with 4.1 Added missing drop table sql/ha_ndbcluster.cc: merge with 4.1 Simple optimization: use max() instead of ? : sql/item_func.cc: merge with 4.1 (Added back old variable names for easier merges) sql/opt_range.cc: merge with 4.1 Removed argument 'parent_alloc' from QUICK_RANGE_SELECT as this was not used Added assert if using QUICK_GROUP_MIN_MAX_SELECT with parent_alloc as the init() function can't handle this Changed back get_quick_select_for_ref() to use it's own alloc root becasue this function may be called several times for one query sql/sql_handler.cc: merge with 4.1 change variable 'err' to 'error' as same function had a label named 'err' sql/sql_update.cc: Use multi-update code from 5.0 instead of 4.1 We will fix the locking code shortly in 5.0 to be faster than in 4.1
76 lines
2.6 KiB
C
76 lines
2.6 KiB
C
/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB & Sasha
|
|
|
|
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 */
|
|
|
|
#ifdef HAVE_REPLICATION
|
|
#include "slave.h"
|
|
|
|
typedef struct st_slave_info
|
|
{
|
|
uint32 server_id;
|
|
uint32 rpl_recovery_rank, master_id;
|
|
char host[HOSTNAME_LENGTH+1];
|
|
char user[USERNAME_LENGTH+1];
|
|
char password[MAX_PASSWORD_LENGTH+1];
|
|
uint16 port;
|
|
THD* thd;
|
|
} SLAVE_INFO;
|
|
|
|
extern my_bool opt_show_slave_auth_info;
|
|
extern char *master_host, *master_info_file;
|
|
extern bool server_id_supplied;
|
|
extern I_List<i_string> binlog_do_db, binlog_ignore_db;
|
|
|
|
extern int max_binlog_dump_events;
|
|
extern my_bool opt_sporadic_binlog_dump_fail;
|
|
|
|
#define KICK_SLAVE(thd) { pthread_mutex_lock(&(thd)->LOCK_delete); (thd)->awake(THD::NOT_KILLED); pthread_mutex_unlock(&(thd)->LOCK_delete); }
|
|
|
|
File open_binlog(IO_CACHE *log, const char *log_file_name,
|
|
const char **errmsg);
|
|
|
|
int start_slave(THD* thd, MASTER_INFO* mi, bool net_report);
|
|
int stop_slave(THD* thd, MASTER_INFO* mi, bool net_report);
|
|
int change_master(THD* thd, MASTER_INFO* mi);
|
|
int show_binlog_events(THD* thd);
|
|
int cmp_master_pos(const char* log_file_name1, ulonglong log_pos1,
|
|
const char* log_file_name2, ulonglong log_pos2);
|
|
int reset_slave(THD *thd, MASTER_INFO* mi);
|
|
int reset_master(THD* thd);
|
|
int purge_master_logs(THD* thd, const char* to_log);
|
|
int purge_master_logs_before_date(THD* thd, time_t purge_time);
|
|
bool log_in_use(const char* log_name);
|
|
void adjust_linfo_offsets(my_off_t purge_offset);
|
|
int show_binlogs(THD* thd);
|
|
extern int init_master_info(MASTER_INFO* mi);
|
|
void kill_zombie_dump_threads(uint32 slave_server_id);
|
|
int check_binlog_magic(IO_CACHE* log, const char** errmsg);
|
|
|
|
typedef struct st_load_file_info
|
|
{
|
|
THD* thd;
|
|
my_off_t last_pos_in_file;
|
|
sql_exchange* ex;
|
|
List <Item> *fields;
|
|
enum enum_duplicates handle_dup;
|
|
char* db;
|
|
char* table_name;
|
|
bool wrote_create_file, log_delayed;
|
|
} LOAD_FILE_INFO;
|
|
|
|
int log_loaded_block(IO_CACHE* file);
|
|
|
|
#endif /* HAVE_REPLICATION */
|
|
|