mariadb/sql/sql_repl.cc

1075 lines
27 KiB
C++
Raw Normal View History

Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
/* 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 */
// Sasha Pachev <sasha@mysql.com> is currently in charge of this file
#include "mysql_priv.h"
#include "sql_repl.h"
#include "sql_acl.h"
#include "log_event.h"
#include "mini_client.h"
#include <thr_alarm.h>
2000-10-02 06:52:36 +02:00
#include <my_dir.h>
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
#include <assert.h>
extern const char* any_db;
int max_binlog_dump_events = 0; // unlimited
bool opt_sporadic_binlog_dump_fail = 0;
static int binlog_dump_count = 0;
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
int check_binlog_magic(IO_CACHE* log, const char** errmsg)
{
char magic[4];
DBUG_ASSERT(my_b_tell(log) == 0);
if (my_b_read(log, (byte*) magic, sizeof(magic)))
{
*errmsg = "I/O error reading the header from the binary log";
sql_print_error("%s, errno=%d, io cache code=%d", *errmsg, my_errno,
log->error);
return 1;
}
if (memcmp(magic, BINLOG_MAGIC, sizeof(magic)))
{
*errmsg = "Binlog has bad magic number; It's not a binary log file that can be used by this version of MySQL";
return 1;
}
return 0;
}
rpl000016.test sync rpl000001.result BitKeeper file /home/sasha/src/bk/mysql/mysql-test/r/rpl000001.result ignore Added BitKeeper/tmp/bkr3sAHD to the ignore list slave.h MASTER_POS_WAIT lex.h MASTER_POS_WAIT slave.cc MASTER_POS_WAIT, do automagic restart on debugging abort, skip rotate events in slave.cc debug abort count sql_repl.cc announce the log name at the start of the log with a fake rotate event item_create.h MASTER_POS_WAIT item_func.cc MASTER_POS_WAIT item_func.h MASTER_POS_WAIT sql_class.h enter_cond(), exit_cond() helper inliners item_create.cc added MASTER_POS_WAIT mysql-test-run.sh speed improvement fixes rpl000007.test sync rpl000003.test sleep -> sync rpl000004.test sleep -> sync, fixed clean up bug rpl000014.test sync rpl000009.test sync rpl000013.test sync rpl000001.test sleep -> sync rpl000008.test sync rpl000006.test sync on cleanup rpl000011.test sync rpl000012.test sync rpl000005.test sleep -> sync rpl000010.test sync rpl000015.test sync rpl000002.test sleep -> sync rpl000014.result we now know the master log name as soon as we connect mysql.cc added optional agrument to --wait mysqltest.c added save_master_pos and sync_with_master commands client/mysql.cc: added optional agrument to --wait client/mysqltest.c: added save_master_pos and sync_with_master commands mysql-test/mysql-test-run.sh: speed improvement fixes mysql-test/r/rpl000014.result: we now know the master log name as soon as we connect mysql-test/t/rpl000001.test: sleep -> sync mysql-test/t/rpl000002.test: sleep -> sync mysql-test/t/rpl000003.test: sleep -> sync mysql-test/t/rpl000004.test: sleep -> sync, fixed clean up bug mysql-test/t/rpl000005.test: sleep -> sync mysql-test/t/rpl000006.test: sync on cleanup mysql-test/t/rpl000007.test: sync mysql-test/t/rpl000008.test: sync mysql-test/t/rpl000009.test: sync mysql-test/t/rpl000010.test: sync mysql-test/t/rpl000011.test: sync mysql-test/t/rpl000012.test: sync mysql-test/t/rpl000013.test: sync mysql-test/t/rpl000014.test: sync mysql-test/t/rpl000015.test: sync BitKeeper/etc/ignore: Added BitKeeper/tmp/bkr3sAHD to the ignore list mysql-test/t/rpl000016.test: sync sql/item_create.cc: added MASTER_POS_WAIT sql/item_create.h: MASTER_POS_WAIT sql/item_func.cc: MASTER_POS_WAIT sql/item_func.h: MASTER_POS_WAIT sql/lex.h: MASTER_POS_WAIT sql/slave.cc: MASTER_POS_WAIT, do automagic restart on debugging abort, skip rotate events in debug abort count sql/slave.h: MASTER_POS_WAIT sql/sql_class.h: enter_cond(), exit_cond() helper inliners sql/sql_repl.cc: announce the log name at the start of the log with a fake rotate event
2001-01-17 13:47:33 +01:00
static int fake_rotate_event(NET* net, String* packet, char* log_file_name,
const char**errmsg)
{
char header[LOG_EVENT_HEADER_LEN], buf[ROTATE_HEADER_LEN];
rpl000016.test sync rpl000001.result BitKeeper file /home/sasha/src/bk/mysql/mysql-test/r/rpl000001.result ignore Added BitKeeper/tmp/bkr3sAHD to the ignore list slave.h MASTER_POS_WAIT lex.h MASTER_POS_WAIT slave.cc MASTER_POS_WAIT, do automagic restart on debugging abort, skip rotate events in slave.cc debug abort count sql_repl.cc announce the log name at the start of the log with a fake rotate event item_create.h MASTER_POS_WAIT item_func.cc MASTER_POS_WAIT item_func.h MASTER_POS_WAIT sql_class.h enter_cond(), exit_cond() helper inliners item_create.cc added MASTER_POS_WAIT mysql-test-run.sh speed improvement fixes rpl000007.test sync rpl000003.test sleep -> sync rpl000004.test sleep -> sync, fixed clean up bug rpl000014.test sync rpl000009.test sync rpl000013.test sync rpl000001.test sleep -> sync rpl000008.test sync rpl000006.test sync on cleanup rpl000011.test sync rpl000012.test sync rpl000005.test sleep -> sync rpl000010.test sync rpl000015.test sync rpl000002.test sleep -> sync rpl000014.result we now know the master log name as soon as we connect mysql.cc added optional agrument to --wait mysqltest.c added save_master_pos and sync_with_master commands client/mysql.cc: added optional agrument to --wait client/mysqltest.c: added save_master_pos and sync_with_master commands mysql-test/mysql-test-run.sh: speed improvement fixes mysql-test/r/rpl000014.result: we now know the master log name as soon as we connect mysql-test/t/rpl000001.test: sleep -> sync mysql-test/t/rpl000002.test: sleep -> sync mysql-test/t/rpl000003.test: sleep -> sync mysql-test/t/rpl000004.test: sleep -> sync, fixed clean up bug mysql-test/t/rpl000005.test: sleep -> sync mysql-test/t/rpl000006.test: sync on cleanup mysql-test/t/rpl000007.test: sync mysql-test/t/rpl000008.test: sync mysql-test/t/rpl000009.test: sync mysql-test/t/rpl000010.test: sync mysql-test/t/rpl000011.test: sync mysql-test/t/rpl000012.test: sync mysql-test/t/rpl000013.test: sync mysql-test/t/rpl000014.test: sync mysql-test/t/rpl000015.test: sync BitKeeper/etc/ignore: Added BitKeeper/tmp/bkr3sAHD to the ignore list mysql-test/t/rpl000016.test: sync sql/item_create.cc: added MASTER_POS_WAIT sql/item_create.h: MASTER_POS_WAIT sql/item_func.cc: MASTER_POS_WAIT sql/item_func.h: MASTER_POS_WAIT sql/lex.h: MASTER_POS_WAIT sql/slave.cc: MASTER_POS_WAIT, do automagic restart on debugging abort, skip rotate events in debug abort count sql/slave.h: MASTER_POS_WAIT sql/sql_class.h: enter_cond(), exit_cond() helper inliners sql/sql_repl.cc: announce the log name at the start of the log with a fake rotate event
2001-01-17 13:47:33 +01:00
memset(header, 0, 4); // when does not matter
header[EVENT_TYPE_OFFSET] = ROTATE_EVENT;
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
char* p = log_file_name+dirname_length(log_file_name);
rpl000016.test sync rpl000001.result BitKeeper file /home/sasha/src/bk/mysql/mysql-test/r/rpl000001.result ignore Added BitKeeper/tmp/bkr3sAHD to the ignore list slave.h MASTER_POS_WAIT lex.h MASTER_POS_WAIT slave.cc MASTER_POS_WAIT, do automagic restart on debugging abort, skip rotate events in slave.cc debug abort count sql_repl.cc announce the log name at the start of the log with a fake rotate event item_create.h MASTER_POS_WAIT item_func.cc MASTER_POS_WAIT item_func.h MASTER_POS_WAIT sql_class.h enter_cond(), exit_cond() helper inliners item_create.cc added MASTER_POS_WAIT mysql-test-run.sh speed improvement fixes rpl000007.test sync rpl000003.test sleep -> sync rpl000004.test sleep -> sync, fixed clean up bug rpl000014.test sync rpl000009.test sync rpl000013.test sync rpl000001.test sleep -> sync rpl000008.test sync rpl000006.test sync on cleanup rpl000011.test sync rpl000012.test sync rpl000005.test sleep -> sync rpl000010.test sync rpl000015.test sync rpl000002.test sleep -> sync rpl000014.result we now know the master log name as soon as we connect mysql.cc added optional agrument to --wait mysqltest.c added save_master_pos and sync_with_master commands client/mysql.cc: added optional agrument to --wait client/mysqltest.c: added save_master_pos and sync_with_master commands mysql-test/mysql-test-run.sh: speed improvement fixes mysql-test/r/rpl000014.result: we now know the master log name as soon as we connect mysql-test/t/rpl000001.test: sleep -> sync mysql-test/t/rpl000002.test: sleep -> sync mysql-test/t/rpl000003.test: sleep -> sync mysql-test/t/rpl000004.test: sleep -> sync, fixed clean up bug mysql-test/t/rpl000005.test: sleep -> sync mysql-test/t/rpl000006.test: sync on cleanup mysql-test/t/rpl000007.test: sync mysql-test/t/rpl000008.test: sync mysql-test/t/rpl000009.test: sync mysql-test/t/rpl000010.test: sync mysql-test/t/rpl000011.test: sync mysql-test/t/rpl000012.test: sync mysql-test/t/rpl000013.test: sync mysql-test/t/rpl000014.test: sync mysql-test/t/rpl000015.test: sync BitKeeper/etc/ignore: Added BitKeeper/tmp/bkr3sAHD to the ignore list mysql-test/t/rpl000016.test: sync sql/item_create.cc: added MASTER_POS_WAIT sql/item_create.h: MASTER_POS_WAIT sql/item_func.cc: MASTER_POS_WAIT sql/item_func.h: MASTER_POS_WAIT sql/lex.h: MASTER_POS_WAIT sql/slave.cc: MASTER_POS_WAIT, do automagic restart on debugging abort, skip rotate events in debug abort count sql/slave.h: MASTER_POS_WAIT sql/sql_class.h: enter_cond(), exit_cond() helper inliners sql/sql_repl.cc: announce the log name at the start of the log with a fake rotate event
2001-01-17 13:47:33 +01:00
uint ident_len = (uint) strlen(p);
ulong event_len = ident_len + ROTATE_EVENT_OVERHEAD;
int4store(header + SERVER_ID_OFFSET, server_id);
rpl000016.test sync rpl000001.result BitKeeper file /home/sasha/src/bk/mysql/mysql-test/r/rpl000001.result ignore Added BitKeeper/tmp/bkr3sAHD to the ignore list slave.h MASTER_POS_WAIT lex.h MASTER_POS_WAIT slave.cc MASTER_POS_WAIT, do automagic restart on debugging abort, skip rotate events in slave.cc debug abort count sql_repl.cc announce the log name at the start of the log with a fake rotate event item_create.h MASTER_POS_WAIT item_func.cc MASTER_POS_WAIT item_func.h MASTER_POS_WAIT sql_class.h enter_cond(), exit_cond() helper inliners item_create.cc added MASTER_POS_WAIT mysql-test-run.sh speed improvement fixes rpl000007.test sync rpl000003.test sleep -> sync rpl000004.test sleep -> sync, fixed clean up bug rpl000014.test sync rpl000009.test sync rpl000013.test sync rpl000001.test sleep -> sync rpl000008.test sync rpl000006.test sync on cleanup rpl000011.test sync rpl000012.test sync rpl000005.test sleep -> sync rpl000010.test sync rpl000015.test sync rpl000002.test sleep -> sync rpl000014.result we now know the master log name as soon as we connect mysql.cc added optional agrument to --wait mysqltest.c added save_master_pos and sync_with_master commands client/mysql.cc: added optional agrument to --wait client/mysqltest.c: added save_master_pos and sync_with_master commands mysql-test/mysql-test-run.sh: speed improvement fixes mysql-test/r/rpl000014.result: we now know the master log name as soon as we connect mysql-test/t/rpl000001.test: sleep -> sync mysql-test/t/rpl000002.test: sleep -> sync mysql-test/t/rpl000003.test: sleep -> sync mysql-test/t/rpl000004.test: sleep -> sync, fixed clean up bug mysql-test/t/rpl000005.test: sleep -> sync mysql-test/t/rpl000006.test: sync on cleanup mysql-test/t/rpl000007.test: sync mysql-test/t/rpl000008.test: sync mysql-test/t/rpl000009.test: sync mysql-test/t/rpl000010.test: sync mysql-test/t/rpl000011.test: sync mysql-test/t/rpl000012.test: sync mysql-test/t/rpl000013.test: sync mysql-test/t/rpl000014.test: sync mysql-test/t/rpl000015.test: sync BitKeeper/etc/ignore: Added BitKeeper/tmp/bkr3sAHD to the ignore list mysql-test/t/rpl000016.test: sync sql/item_create.cc: added MASTER_POS_WAIT sql/item_create.h: MASTER_POS_WAIT sql/item_func.cc: MASTER_POS_WAIT sql/item_func.h: MASTER_POS_WAIT sql/lex.h: MASTER_POS_WAIT sql/slave.cc: MASTER_POS_WAIT, do automagic restart on debugging abort, skip rotate events in debug abort count sql/slave.h: MASTER_POS_WAIT sql/sql_class.h: enter_cond(), exit_cond() helper inliners sql/sql_repl.cc: announce the log name at the start of the log with a fake rotate event
2001-01-17 13:47:33 +01:00
int4store(header + EVENT_LEN_OFFSET, event_len);
int2store(header + FLAGS_OFFSET, 0);
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
// TODO: check what problems this may cause and fix them
int4store(header + LOG_POS_OFFSET, 0);
rpl000016.test sync rpl000001.result BitKeeper file /home/sasha/src/bk/mysql/mysql-test/r/rpl000001.result ignore Added BitKeeper/tmp/bkr3sAHD to the ignore list slave.h MASTER_POS_WAIT lex.h MASTER_POS_WAIT slave.cc MASTER_POS_WAIT, do automagic restart on debugging abort, skip rotate events in slave.cc debug abort count sql_repl.cc announce the log name at the start of the log with a fake rotate event item_create.h MASTER_POS_WAIT item_func.cc MASTER_POS_WAIT item_func.h MASTER_POS_WAIT sql_class.h enter_cond(), exit_cond() helper inliners item_create.cc added MASTER_POS_WAIT mysql-test-run.sh speed improvement fixes rpl000007.test sync rpl000003.test sleep -> sync rpl000004.test sleep -> sync, fixed clean up bug rpl000014.test sync rpl000009.test sync rpl000013.test sync rpl000001.test sleep -> sync rpl000008.test sync rpl000006.test sync on cleanup rpl000011.test sync rpl000012.test sync rpl000005.test sleep -> sync rpl000010.test sync rpl000015.test sync rpl000002.test sleep -> sync rpl000014.result we now know the master log name as soon as we connect mysql.cc added optional agrument to --wait mysqltest.c added save_master_pos and sync_with_master commands client/mysql.cc: added optional agrument to --wait client/mysqltest.c: added save_master_pos and sync_with_master commands mysql-test/mysql-test-run.sh: speed improvement fixes mysql-test/r/rpl000014.result: we now know the master log name as soon as we connect mysql-test/t/rpl000001.test: sleep -> sync mysql-test/t/rpl000002.test: sleep -> sync mysql-test/t/rpl000003.test: sleep -> sync mysql-test/t/rpl000004.test: sleep -> sync, fixed clean up bug mysql-test/t/rpl000005.test: sleep -> sync mysql-test/t/rpl000006.test: sync on cleanup mysql-test/t/rpl000007.test: sync mysql-test/t/rpl000008.test: sync mysql-test/t/rpl000009.test: sync mysql-test/t/rpl000010.test: sync mysql-test/t/rpl000011.test: sync mysql-test/t/rpl000012.test: sync mysql-test/t/rpl000013.test: sync mysql-test/t/rpl000014.test: sync mysql-test/t/rpl000015.test: sync BitKeeper/etc/ignore: Added BitKeeper/tmp/bkr3sAHD to the ignore list mysql-test/t/rpl000016.test: sync sql/item_create.cc: added MASTER_POS_WAIT sql/item_create.h: MASTER_POS_WAIT sql/item_func.cc: MASTER_POS_WAIT sql/item_func.h: MASTER_POS_WAIT sql/lex.h: MASTER_POS_WAIT sql/slave.cc: MASTER_POS_WAIT, do automagic restart on debugging abort, skip rotate events in debug abort count sql/slave.h: MASTER_POS_WAIT sql/sql_class.h: enter_cond(), exit_cond() helper inliners sql/sql_repl.cc: announce the log name at the start of the log with a fake rotate event
2001-01-17 13:47:33 +01:00
packet->append(header, sizeof(header));
Remove warnings and portability fixes New global read lock code Fixed bug in DATETIME with WHERE optimization Made UNION code more general. include/global.h: Remove warning on Linux Alpha include/mysql_com.h: Move some C variables inside extern "C" block. include/mysqld_error.h: New error mesages myisam/mi_write.c: cleanup mysql-test/r/select.result: Fix because of table lists now always has a database argument. mysql-test/r/type_datetime.result: Test for bug with datetime and where optimization mysql-test/r/union.result: Updated result mysql-test/t/type_datetime.test: New test for datetime mysql-test/t/union.test: More testing of error conditions sql/item_sum.cc: Remove warnings on Linux Alpha sql/item_sum.h: Cleanup sql/lock.cc: Cleaned up global lock handling sql/log_event.cc: Removed default arguments from declarations (not allowed in cxx) sql/mysql_priv.h: New prototypes sql/mysqld.cc: Fix for global locks sql/opt_range.cc: Cleanup sql/share/czech/errmsg.txt: New errors sql/share/danish/errmsg.txt: New errors sql/share/dutch/errmsg.txt: New errors sql/share/english/errmsg.txt: New errors sql/share/estonian/errmsg.txt: New errors sql/share/french/errmsg.txt: New errors sql/share/german/errmsg.txt: New errors sql/share/greek/errmsg.txt: New errors sql/share/hungarian/errmsg.txt: New errors sql/share/italian/errmsg.txt: New errors sql/share/japanese/errmsg.txt: New errors sql/share/korean/errmsg.txt: New errors sql/share/norwegian-ny/errmsg.txt: New errors sql/share/norwegian/errmsg.txt: New errors sql/share/polish/errmsg.txt: New errors sql/share/portuguese/errmsg.txt: New errors sql/share/romanian/errmsg.txt: New errors sql/share/russian/errmsg.txt: New errors sql/share/slovak/errmsg.txt: New errors sql/share/spanish/errmsg.txt: New errors sql/share/swedish/errmsg.OLD: New errors sql/share/swedish/errmsg.txt: New errors sql/sql_acl.cc: Use thd->host_or_ip sql/sql_class.cc: Use new global lock code sql/sql_class.h: host_or_ip sql/sql_db.cc: host_or_ip sql/sql_delete.cc: Use now global lock code sql/sql_lex.h: Cleanup of not used states and variables sql/sql_parse.cc: Use now global locks. Made UNION code more general. Change to use thd->hosts_or_ip. TABLE_LIST now always has 'db' set. sql/sql_repl.cc: Portability fixes. Changed wrong usage of my_vsnprintf -> my_snprintf sql/sql_select.cc: Changes for UNION sql/sql_show.cc: Cleanup sql/sql_union.cc: Handle 'select_result' outside of mysql_union(). sql/sql_yacc.yy: Fixes for union
2001-08-14 19:33:49 +02:00
/* We need to split the next statement because of problem with cxx */
int4store(buf,4); // tell slave to skip magic number
int4store(buf+4,0);
packet->append(buf, ROTATE_HEADER_LEN);
rpl000016.test sync rpl000001.result BitKeeper file /home/sasha/src/bk/mysql/mysql-test/r/rpl000001.result ignore Added BitKeeper/tmp/bkr3sAHD to the ignore list slave.h MASTER_POS_WAIT lex.h MASTER_POS_WAIT slave.cc MASTER_POS_WAIT, do automagic restart on debugging abort, skip rotate events in slave.cc debug abort count sql_repl.cc announce the log name at the start of the log with a fake rotate event item_create.h MASTER_POS_WAIT item_func.cc MASTER_POS_WAIT item_func.h MASTER_POS_WAIT sql_class.h enter_cond(), exit_cond() helper inliners item_create.cc added MASTER_POS_WAIT mysql-test-run.sh speed improvement fixes rpl000007.test sync rpl000003.test sleep -> sync rpl000004.test sleep -> sync, fixed clean up bug rpl000014.test sync rpl000009.test sync rpl000013.test sync rpl000001.test sleep -> sync rpl000008.test sync rpl000006.test sync on cleanup rpl000011.test sync rpl000012.test sync rpl000005.test sleep -> sync rpl000010.test sync rpl000015.test sync rpl000002.test sleep -> sync rpl000014.result we now know the master log name as soon as we connect mysql.cc added optional agrument to --wait mysqltest.c added save_master_pos and sync_with_master commands client/mysql.cc: added optional agrument to --wait client/mysqltest.c: added save_master_pos and sync_with_master commands mysql-test/mysql-test-run.sh: speed improvement fixes mysql-test/r/rpl000014.result: we now know the master log name as soon as we connect mysql-test/t/rpl000001.test: sleep -> sync mysql-test/t/rpl000002.test: sleep -> sync mysql-test/t/rpl000003.test: sleep -> sync mysql-test/t/rpl000004.test: sleep -> sync, fixed clean up bug mysql-test/t/rpl000005.test: sleep -> sync mysql-test/t/rpl000006.test: sync on cleanup mysql-test/t/rpl000007.test: sync mysql-test/t/rpl000008.test: sync mysql-test/t/rpl000009.test: sync mysql-test/t/rpl000010.test: sync mysql-test/t/rpl000011.test: sync mysql-test/t/rpl000012.test: sync mysql-test/t/rpl000013.test: sync mysql-test/t/rpl000014.test: sync mysql-test/t/rpl000015.test: sync BitKeeper/etc/ignore: Added BitKeeper/tmp/bkr3sAHD to the ignore list mysql-test/t/rpl000016.test: sync sql/item_create.cc: added MASTER_POS_WAIT sql/item_create.h: MASTER_POS_WAIT sql/item_func.cc: MASTER_POS_WAIT sql/item_func.h: MASTER_POS_WAIT sql/lex.h: MASTER_POS_WAIT sql/slave.cc: MASTER_POS_WAIT, do automagic restart on debugging abort, skip rotate events in debug abort count sql/slave.h: MASTER_POS_WAIT sql/sql_class.h: enter_cond(), exit_cond() helper inliners sql/sql_repl.cc: announce the log name at the start of the log with a fake rotate event
2001-01-17 13:47:33 +01:00
packet->append(p,ident_len);
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (my_net_write(net, (char*)packet->ptr(), packet->length()))
{
*errmsg = "failed on my_net_write()";
return -1;
}
rpl000016.test sync rpl000001.result BitKeeper file /home/sasha/src/bk/mysql/mysql-test/r/rpl000001.result ignore Added BitKeeper/tmp/bkr3sAHD to the ignore list slave.h MASTER_POS_WAIT lex.h MASTER_POS_WAIT slave.cc MASTER_POS_WAIT, do automagic restart on debugging abort, skip rotate events in slave.cc debug abort count sql_repl.cc announce the log name at the start of the log with a fake rotate event item_create.h MASTER_POS_WAIT item_func.cc MASTER_POS_WAIT item_func.h MASTER_POS_WAIT sql_class.h enter_cond(), exit_cond() helper inliners item_create.cc added MASTER_POS_WAIT mysql-test-run.sh speed improvement fixes rpl000007.test sync rpl000003.test sleep -> sync rpl000004.test sleep -> sync, fixed clean up bug rpl000014.test sync rpl000009.test sync rpl000013.test sync rpl000001.test sleep -> sync rpl000008.test sync rpl000006.test sync on cleanup rpl000011.test sync rpl000012.test sync rpl000005.test sleep -> sync rpl000010.test sync rpl000015.test sync rpl000002.test sleep -> sync rpl000014.result we now know the master log name as soon as we connect mysql.cc added optional agrument to --wait mysqltest.c added save_master_pos and sync_with_master commands client/mysql.cc: added optional agrument to --wait client/mysqltest.c: added save_master_pos and sync_with_master commands mysql-test/mysql-test-run.sh: speed improvement fixes mysql-test/r/rpl000014.result: we now know the master log name as soon as we connect mysql-test/t/rpl000001.test: sleep -> sync mysql-test/t/rpl000002.test: sleep -> sync mysql-test/t/rpl000003.test: sleep -> sync mysql-test/t/rpl000004.test: sleep -> sync, fixed clean up bug mysql-test/t/rpl000005.test: sleep -> sync mysql-test/t/rpl000006.test: sync on cleanup mysql-test/t/rpl000007.test: sync mysql-test/t/rpl000008.test: sync mysql-test/t/rpl000009.test: sync mysql-test/t/rpl000010.test: sync mysql-test/t/rpl000011.test: sync mysql-test/t/rpl000012.test: sync mysql-test/t/rpl000013.test: sync mysql-test/t/rpl000014.test: sync mysql-test/t/rpl000015.test: sync BitKeeper/etc/ignore: Added BitKeeper/tmp/bkr3sAHD to the ignore list mysql-test/t/rpl000016.test: sync sql/item_create.cc: added MASTER_POS_WAIT sql/item_create.h: MASTER_POS_WAIT sql/item_func.cc: MASTER_POS_WAIT sql/item_func.h: MASTER_POS_WAIT sql/lex.h: MASTER_POS_WAIT sql/slave.cc: MASTER_POS_WAIT, do automagic restart on debugging abort, skip rotate events in debug abort count sql/slave.h: MASTER_POS_WAIT sql/sql_class.h: enter_cond(), exit_cond() helper inliners sql/sql_repl.cc: announce the log name at the start of the log with a fake rotate event
2001-01-17 13:47:33 +01:00
return 0;
}
static int send_file(THD *thd)
{
NET* net = &thd->net;
int fd = -1,bytes, error = 1;
char fname[FN_REFLEN+1];
const char *errmsg = 0;
int old_timeout;
uint packet_len;
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
char buf[IO_SIZE]; // It's safe to alloc this
DBUG_ENTER("send_file");
// the client might be slow loading the data, give him wait_timeout to do
// the job
old_timeout = thd->net.timeout;
thd->net.timeout = thd->inactive_timeout;
// we need net_flush here because the client will not know it needs to send
// us the file name until it has processed the load event entry
if (net_flush(net) || (packet_len = my_net_read(net)) == packet_error)
{
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
errmsg = "while reading file name";
goto err;
}
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
// terminate with \0 for fn_format
*((char*)net->read_pos + packet_len) = 0;
fn_format(fname, (char*) net->read_pos + 1, "", "", 4);
// this is needed to make replicate-ignore-db
if (!strcmp(fname,"/dev/null"))
goto end;
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if ((fd = my_open(fname, O_RDONLY, MYF(0))) < 0)
{
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
errmsg = "on open of file";
goto err;
}
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
while ((bytes = (int) my_read(fd, (byte*) buf, IO_SIZE, MYF(0))) > 0)
{
if (my_net_write(net, buf, bytes))
{
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
errmsg = "while writing data to client";
goto err;
}
}
end:
if (my_net_write(net, "", 0) || net_flush(net) ||
(my_net_read(net) == packet_error))
{
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
errmsg = "while negotiating file transfer close";
goto err;
}
error = 0;
err:
thd->net.timeout = old_timeout;
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (fd >= 0)
(void) my_close(fd, MYF(0));
if (errmsg)
{
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
sql_print_error("Failed in send_file() %s", errmsg);
DBUG_PRINT("error", (errmsg));
}
DBUG_RETURN(error);
}
File open_binlog(IO_CACHE *log, const char *log_file_name,
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
const char **errmsg)
{
File file;
DBUG_ENTER("open_binlog");
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if ((file = my_open(log_file_name, O_RDONLY | O_BINARY, MYF(MY_WME))) < 0 ||
init_io_cache(log, file, IO_SIZE*2, READ_CACHE, 0, 0,
MYF(MY_WME | MY_DONT_CHECK_FILESIZE)))
{
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
*errmsg = "Could not open log file"; // This will not be sent
goto err;
}
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
if (check_binlog_magic(log,errmsg))
goto err;
DBUG_RETURN(file);
err:
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (file >= 0)
{
my_close(file,MYF(0));
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
end_io_cache(log);
}
DBUG_RETURN(-1);
}
void adjust_linfo_offsets(my_off_t purge_offset)
{
THD *tmp;
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
pthread_mutex_lock(&LOCK_thread_count);
I_List_iterator<THD> it(threads);
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
while ((tmp=it++))
{
LOG_INFO* linfo;
if ((linfo = tmp->current_linfo))
{
pthread_mutex_lock(&linfo->lock);
/* index file offset can be less that purge offset
only if we just started reading the index file. In that case
we have nothing to adjust
*/
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (linfo->index_file_offset < purge_offset)
linfo->fatal = (linfo->index_file_offset != 0);
else
linfo->index_file_offset -= purge_offset;
pthread_mutex_unlock(&linfo->lock);
}
}
pthread_mutex_unlock(&LOCK_thread_count);
}
bool log_in_use(const char* log_name)
{
int log_name_len = strlen(log_name) + 1;
THD *tmp;
bool result = 0;
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
pthread_mutex_lock(&LOCK_thread_count);
I_List_iterator<THD> it(threads);
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
while ((tmp=it++))
{
LOG_INFO* linfo;
if ((linfo = tmp->current_linfo))
{
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
pthread_mutex_lock(&linfo->lock);
result = !memcmp(log_name, linfo->log_file_name, log_name_len);
pthread_mutex_unlock(&linfo->lock);
if (result) break;
}
}
pthread_mutex_unlock(&LOCK_thread_count);
return result;
}
int purge_master_logs(THD* thd, const char* to_log)
{
char search_file_name[FN_REFLEN];
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
const char* errmsg = 0;
mysql_bin_log.make_log_name(search_file_name, to_log);
int res = mysql_bin_log.purge_logs(thd, search_file_name);
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
switch(res) {
case 0: break;
case LOG_INFO_EOF: errmsg = "Target log not found in binlog index"; break;
case LOG_INFO_IO: errmsg = "I/O error reading log index file"; break;
case LOG_INFO_INVALID: errmsg = "Server configuration does not permit \
binlog purge"; break;
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
case LOG_INFO_SEEK: errmsg = "Failed on fseek()"; break;
case LOG_INFO_PURGE_NO_ROTATE: errmsg = "Cannot purge unrotatable log";
break;
case LOG_INFO_MEM: errmsg = "Out of memory"; break;
case LOG_INFO_FATAL: errmsg = "Fatal error during purge"; break;
case LOG_INFO_IN_USE: errmsg = "A purgeable log is in use, will not purge";
break;
default: errmsg = "Unknown error during purge"; break;
}
if (errmsg)
{
send_error(&thd->net, 0, errmsg);
return 1;
}
else
send_ok(&thd->net);
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
return 0;
}
void mysql_binlog_send(THD* thd, char* log_ident, ulong pos, ushort flags)
{
LOG_INFO linfo;
char *log_file_name = linfo.log_file_name;
char search_file_name[FN_REFLEN];
IO_CACHE log;
File file = -1;
String* packet = &thd->packet;
int error;
const char *errmsg = "Unknown error";
NET* net = &thd->net;
#ifndef DBUG_OFF
int left_events = max_binlog_dump_events;
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
#endif
DBUG_ENTER("mysql_binlog_send");
bzero((char*) &log,sizeof(log));
2001-06-29 03:17:04 +02:00
#ifndef DBUG_OFF
if (opt_sporadic_binlog_dump_fail && (binlog_dump_count++ % 2))
{
errmsg = "Master failed COM_BINLOG_DUMP to test if slave can recover";
goto err;
}
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
#endif
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (!mysql_bin_log.is_open())
{
errmsg = "Binary log is not open";
goto err;
}
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (!server_id_supplied)
{
errmsg = "Misconfigured master - server id was not set";
goto err;
}
if (log_ident[0])
mysql_bin_log.make_log_name(search_file_name, log_ident);
else
search_file_name[0] = 0;
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
linfo.index_file_offset = 0;
thd->current_linfo = &linfo;
if (mysql_bin_log.find_first_log(&linfo, search_file_name))
{
errmsg = "Could not find first log";
goto err;
}
if ((file=open_binlog(&log, log_file_name, &errmsg)) < 0)
goto err;
if (pos < 4)
{
errmsg= "Client requested master to start replication from \
impossible position";
goto err;
}
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
my_b_seek(&log, pos); // Seek will done on next read
packet->length(0);
// we need to start a packet with something other than 255
// to distiquish it from error
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
packet->append("\0", 1);
// if we are at the start of the log
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (pos == 4)
{
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
// tell the client log name with a fake rotate_event
if (fake_rotate_event(net, packet, log_file_name, &errmsg))
goto err;
packet->length(0);
packet->append("\0", 1);
}
rpl000016.test sync rpl000001.result BitKeeper file /home/sasha/src/bk/mysql/mysql-test/r/rpl000001.result ignore Added BitKeeper/tmp/bkr3sAHD to the ignore list slave.h MASTER_POS_WAIT lex.h MASTER_POS_WAIT slave.cc MASTER_POS_WAIT, do automagic restart on debugging abort, skip rotate events in slave.cc debug abort count sql_repl.cc announce the log name at the start of the log with a fake rotate event item_create.h MASTER_POS_WAIT item_func.cc MASTER_POS_WAIT item_func.h MASTER_POS_WAIT sql_class.h enter_cond(), exit_cond() helper inliners item_create.cc added MASTER_POS_WAIT mysql-test-run.sh speed improvement fixes rpl000007.test sync rpl000003.test sleep -> sync rpl000004.test sleep -> sync, fixed clean up bug rpl000014.test sync rpl000009.test sync rpl000013.test sync rpl000001.test sleep -> sync rpl000008.test sync rpl000006.test sync on cleanup rpl000011.test sync rpl000012.test sync rpl000005.test sleep -> sync rpl000010.test sync rpl000015.test sync rpl000002.test sleep -> sync rpl000014.result we now know the master log name as soon as we connect mysql.cc added optional agrument to --wait mysqltest.c added save_master_pos and sync_with_master commands client/mysql.cc: added optional agrument to --wait client/mysqltest.c: added save_master_pos and sync_with_master commands mysql-test/mysql-test-run.sh: speed improvement fixes mysql-test/r/rpl000014.result: we now know the master log name as soon as we connect mysql-test/t/rpl000001.test: sleep -> sync mysql-test/t/rpl000002.test: sleep -> sync mysql-test/t/rpl000003.test: sleep -> sync mysql-test/t/rpl000004.test: sleep -> sync, fixed clean up bug mysql-test/t/rpl000005.test: sleep -> sync mysql-test/t/rpl000006.test: sync on cleanup mysql-test/t/rpl000007.test: sync mysql-test/t/rpl000008.test: sync mysql-test/t/rpl000009.test: sync mysql-test/t/rpl000010.test: sync mysql-test/t/rpl000011.test: sync mysql-test/t/rpl000012.test: sync mysql-test/t/rpl000013.test: sync mysql-test/t/rpl000014.test: sync mysql-test/t/rpl000015.test: sync BitKeeper/etc/ignore: Added BitKeeper/tmp/bkr3sAHD to the ignore list mysql-test/t/rpl000016.test: sync sql/item_create.cc: added MASTER_POS_WAIT sql/item_create.h: MASTER_POS_WAIT sql/item_func.cc: MASTER_POS_WAIT sql/item_func.h: MASTER_POS_WAIT sql/lex.h: MASTER_POS_WAIT sql/slave.cc: MASTER_POS_WAIT, do automagic restart on debugging abort, skip rotate events in debug abort count sql/slave.h: MASTER_POS_WAIT sql/sql_class.h: enter_cond(), exit_cond() helper inliners sql/sql_repl.cc: announce the log name at the start of the log with a fake rotate event
2001-01-17 13:47:33 +01:00
while (!net->error && net->vio != 0 && !thd->killed)
{
pthread_mutex_t *log_lock = mysql_bin_log.get_log_lock();
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
while (!(error = Log_event::read_log_event(&log, packet, log_lock)))
{
#ifndef DBUG_OFF
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (max_binlog_dump_events && !left_events--)
{
net_flush(net);
errmsg = "Debugging binlog dump abort";
goto err;
}
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
#endif
if (my_net_write(net, (char*)packet->ptr(), packet->length()) )
{
errmsg = "Failed on my_net_write()";
goto err;
}
DBUG_PRINT("info", ("log event code %d",
(*packet)[LOG_EVENT_OFFSET+1] ));
if ((*packet)[LOG_EVENT_OFFSET+1] == LOAD_EVENT)
{
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (send_file(thd))
{
errmsg = "failed in send_file()";
goto err;
}
}
packet->length(0);
packet->append("\0",1);
}
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
// TODO: now that we are logging the offset, check to make sure
// the recorded offset and the actual match
if (error != LOG_READ_EOF)
{
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
switch(error) {
case LOG_READ_BOGUS:
errmsg = "bogus data in log event";
break;
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
case LOG_READ_TOO_LARGE:
errmsg = "log event entry exceeded max_allowed_packet -\
increase max_allowed_packet on master";
break;
case LOG_READ_IO:
errmsg = "I/O error reading log event";
break;
case LOG_READ_MEM:
errmsg = "memory allocation failed reading log event";
break;
case LOG_READ_TRUNC:
errmsg = "binlog truncated in the middle of event";
break;
default:
errmsg = "unknown error reading log event on the master";
break;
}
goto err;
}
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (!(flags & BINLOG_DUMP_NON_BLOCK) &&
mysql_bin_log.is_active(log_file_name))
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
{
// block until there is more data in the log
// unless non-blocking mode requested
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (net_flush(net))
{
errmsg = "failed on net_flush()";
goto err;
}
// we may have missed the update broadcast from the log
// that has just happened, let's try to catch it if it did
// if we did not miss anything, we just wait for other threads
// to signal us
{
log.error=0;
bool read_packet = 0, fatal_error = 0;
#ifndef DBUG_OFF
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (max_binlog_dump_events && !left_events--)
{
net_flush(net);
errmsg = "Debugging binlog dump abort";
goto err;
}
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
#endif
// no one will update the log while we are reading
// now, but we'll be quick and just read one record
pthread_mutex_lock(log_lock);
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
switch (Log_event::read_log_event(&log, packet, (pthread_mutex_t*)0))
{
case 0:
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
pthread_mutex_unlock(log_lock);
read_packet = 1;
// we read successfully, so we'll need to send it to the
// slave
break;
case LOG_READ_EOF:
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
DBUG_PRINT("wait",("waiting for data in binary log"));
// wait_for_update unlocks the log lock - needed to avoid race
if (!thd->killed)
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
mysql_bin_log.wait_for_update(thd);
else
pthread_mutex_unlock(log_lock);
DBUG_PRINT("wait",("binary log received update"));
break;
default:
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
pthread_mutex_unlock(log_lock);
fatal_error = 1;
break;
}
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (read_packet)
{
thd->proc_info = "sending update to slave";
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (my_net_write(net, (char*)packet->ptr(), packet->length()) )
{
errmsg = "Failed on my_net_write()";
goto err;
}
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if ((*packet)[LOG_EVENT_OFFSET+1] == LOAD_EVENT)
{
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (send_file(thd))
{
errmsg = "failed in send_file()";
goto err;
}
}
packet->length(0);
packet->append("\0",1);
// no need to net_flush because we will get to flush later when
// we hit EOF pretty quick
}
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (fatal_error)
{
errmsg = "error reading log entry";
goto err;
}
log.error=0;
}
}
else
{
bool loop_breaker = 0;
// need this to break out of the for loop from switch
thd->proc_info = "switching to next log";
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
switch (mysql_bin_log.find_next_log(&linfo)) {
case LOG_INFO_EOF:
loop_breaker = (flags & BINLOG_DUMP_NON_BLOCK);
break;
case 0:
break;
default:
errmsg = "could not find next log";
goto err;
}
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (loop_breaker)
break;
end_io_cache(&log);
(void) my_close(file, MYF(MY_WME));
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
// fake Rotate_log event just in case it did not make it to the log
// otherwise the slave make get confused about the offset
if ((file=open_binlog(&log, log_file_name, &errmsg)) < 0 ||
rpl000016.test sync rpl000001.result BitKeeper file /home/sasha/src/bk/mysql/mysql-test/r/rpl000001.result ignore Added BitKeeper/tmp/bkr3sAHD to the ignore list slave.h MASTER_POS_WAIT lex.h MASTER_POS_WAIT slave.cc MASTER_POS_WAIT, do automagic restart on debugging abort, skip rotate events in slave.cc debug abort count sql_repl.cc announce the log name at the start of the log with a fake rotate event item_create.h MASTER_POS_WAIT item_func.cc MASTER_POS_WAIT item_func.h MASTER_POS_WAIT sql_class.h enter_cond(), exit_cond() helper inliners item_create.cc added MASTER_POS_WAIT mysql-test-run.sh speed improvement fixes rpl000007.test sync rpl000003.test sleep -> sync rpl000004.test sleep -> sync, fixed clean up bug rpl000014.test sync rpl000009.test sync rpl000013.test sync rpl000001.test sleep -> sync rpl000008.test sync rpl000006.test sync on cleanup rpl000011.test sync rpl000012.test sync rpl000005.test sleep -> sync rpl000010.test sync rpl000015.test sync rpl000002.test sleep -> sync rpl000014.result we now know the master log name as soon as we connect mysql.cc added optional agrument to --wait mysqltest.c added save_master_pos and sync_with_master commands client/mysql.cc: added optional agrument to --wait client/mysqltest.c: added save_master_pos and sync_with_master commands mysql-test/mysql-test-run.sh: speed improvement fixes mysql-test/r/rpl000014.result: we now know the master log name as soon as we connect mysql-test/t/rpl000001.test: sleep -> sync mysql-test/t/rpl000002.test: sleep -> sync mysql-test/t/rpl000003.test: sleep -> sync mysql-test/t/rpl000004.test: sleep -> sync, fixed clean up bug mysql-test/t/rpl000005.test: sleep -> sync mysql-test/t/rpl000006.test: sync on cleanup mysql-test/t/rpl000007.test: sync mysql-test/t/rpl000008.test: sync mysql-test/t/rpl000009.test: sync mysql-test/t/rpl000010.test: sync mysql-test/t/rpl000011.test: sync mysql-test/t/rpl000012.test: sync mysql-test/t/rpl000013.test: sync mysql-test/t/rpl000014.test: sync mysql-test/t/rpl000015.test: sync BitKeeper/etc/ignore: Added BitKeeper/tmp/bkr3sAHD to the ignore list mysql-test/t/rpl000016.test: sync sql/item_create.cc: added MASTER_POS_WAIT sql/item_create.h: MASTER_POS_WAIT sql/item_func.cc: MASTER_POS_WAIT sql/item_func.h: MASTER_POS_WAIT sql/lex.h: MASTER_POS_WAIT sql/slave.cc: MASTER_POS_WAIT, do automagic restart on debugging abort, skip rotate events in debug abort count sql/slave.h: MASTER_POS_WAIT sql/sql_class.h: enter_cond(), exit_cond() helper inliners sql/sql_repl.cc: announce the log name at the start of the log with a fake rotate event
2001-01-17 13:47:33 +01:00
fake_rotate_event(net, packet, log_file_name, &errmsg))
goto err;
packet->length(0);
packet->append("\0",1);
}
}
end_io_cache(&log);
(void)my_close(file, MYF(MY_WME));
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
send_eof(&thd->net);
thd->proc_info = "waiting to finalize termination";
pthread_mutex_lock(&LOCK_thread_count);
thd->current_linfo = 0;
pthread_mutex_unlock(&LOCK_thread_count);
DBUG_VOID_RETURN;
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
err:
thd->proc_info = "waiting to finalize termination";
end_io_cache(&log);
pthread_mutex_lock(&LOCK_thread_count);
// exclude iteration through thread list
// this is needed for purge_logs() - it will iterate through
// thread list and update thd->current_linfo->index_file_offset
// this mutex will make sure that it never tried to update our linfo
// after we return from this stack frame
thd->current_linfo = 0;
pthread_mutex_unlock(&LOCK_thread_count);
if (file >= 0)
(void) my_close(file, MYF(MY_WME));
send_error(&thd->net, my_errno, errmsg);
DBUG_VOID_RETURN;
}
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
int start_slave(THD* thd , MASTER_INFO* mi, bool net_report)
{
Added last_errno and last_error to show slave status slave will skip the first SQL_SLAVE_SKIP_COUNTER events on start - this is needed to recover from broken replication when the next log event(s) should just be skipped. Rotate binlogs when max_binlog_size is reached include/my_sys.h: added my_snprintf() include/mysqld_error.h: more error messages mysql-test/r/rpl000014.result: updated results for new SHOW SLAVE STATUS format mysql-test/r/rpl000015.result: update for SHOW SLAVE STATUS mysql-test/r/rpl000016.result: update for additions to the test mysql-test/t/rpl000016.test: test max_binlog_size and slave_skip_counter mysys/my_vsnprintf.c: added my_snprintf() sql/gen_lex_hash.cc: old values could not do it sql/lex.h: updates for SQL_SLAVE_SKIP_COUNTER sql/log.cc: rotate binlogs when max_binlog_size is reached sql/mysqld.cc: added max_binlog_size sql/share/czech/errmsg.txt: new errors sql/share/danish/errmsg.txt: new errors sql/share/dutch/errmsg.txt: new errors sql/share/english/errmsg.txt: new errors sql/share/estonian/errmsg.txt: new errors sql/share/french/errmsg.txt: new errors sql/share/german/errmsg.txt: new errors sql/share/greek/errmsg.txt: new errors sql/share/hungarian/errmsg.txt: new errors sql/share/italian/errmsg.txt: new errors sql/share/japanese/errmsg.txt: new errors sql/share/korean/errmsg.txt: new errors sql/share/norwegian-ny/errmsg.txt: new errors sql/share/norwegian/errmsg.txt: new errors sql/share/polish/errmsg.txt: new errors sql/share/portuguese/errmsg.txt: new errors sql/share/romanian/errmsg.txt: new errors sql/share/russian/errmsg.txt: new errors, translated untranslated messages sql/share/slovak/errmsg.txt: new errors sql/share/spanish/errmsg.txt: new errors sql/share/swedish/errmsg.txt: new errors sql/slave.cc: updates for slave_skip_counter and extension to show slave status sql/slave.h: slave_skip_counter sql/sql_repl.cc: use error messages from errmsg.txt sql/sql_yacc.yy: skip_slave_counter
2001-01-24 17:15:34 +01:00
int slave_errno = 0;
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (!thd) thd = current_thd;
NET* net = &thd->net;
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
int thread_mask;
if (check_access(thd, PROCESS_ACL, any_db))
return 1;
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
lock_slave_threads(mi); // this allows us to cleanly read slave_running
init_thread_mask(&thread_mask,mi,1 /* inverse */);
if (thd->lex.slave_thd_opt)
thread_mask &= thd->lex.slave_thd_opt;
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
if (thread_mask)
{
if (server_id_supplied && (!mi->inited || (mi->inited && *mi->host)))
slave_errno = start_slave_threads(0 /*no mutex */,
1 /* wait for start */,
mi,
master_info_file,relay_log_info_file,
thread_mask);
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
else
slave_errno = ER_BAD_SLAVE;
}
else
Added last_errno and last_error to show slave status slave will skip the first SQL_SLAVE_SKIP_COUNTER events on start - this is needed to recover from broken replication when the next log event(s) should just be skipped. Rotate binlogs when max_binlog_size is reached include/my_sys.h: added my_snprintf() include/mysqld_error.h: more error messages mysql-test/r/rpl000014.result: updated results for new SHOW SLAVE STATUS format mysql-test/r/rpl000015.result: update for SHOW SLAVE STATUS mysql-test/r/rpl000016.result: update for additions to the test mysql-test/t/rpl000016.test: test max_binlog_size and slave_skip_counter mysys/my_vsnprintf.c: added my_snprintf() sql/gen_lex_hash.cc: old values could not do it sql/lex.h: updates for SQL_SLAVE_SKIP_COUNTER sql/log.cc: rotate binlogs when max_binlog_size is reached sql/mysqld.cc: added max_binlog_size sql/share/czech/errmsg.txt: new errors sql/share/danish/errmsg.txt: new errors sql/share/dutch/errmsg.txt: new errors sql/share/english/errmsg.txt: new errors sql/share/estonian/errmsg.txt: new errors sql/share/french/errmsg.txt: new errors sql/share/german/errmsg.txt: new errors sql/share/greek/errmsg.txt: new errors sql/share/hungarian/errmsg.txt: new errors sql/share/italian/errmsg.txt: new errors sql/share/japanese/errmsg.txt: new errors sql/share/korean/errmsg.txt: new errors sql/share/norwegian-ny/errmsg.txt: new errors sql/share/norwegian/errmsg.txt: new errors sql/share/polish/errmsg.txt: new errors sql/share/portuguese/errmsg.txt: new errors sql/share/romanian/errmsg.txt: new errors sql/share/russian/errmsg.txt: new errors, translated untranslated messages sql/share/slovak/errmsg.txt: new errors sql/share/spanish/errmsg.txt: new errors sql/share/swedish/errmsg.txt: new errors sql/slave.cc: updates for slave_skip_counter and extension to show slave status sql/slave.h: slave_skip_counter sql/sql_repl.cc: use error messages from errmsg.txt sql/sql_yacc.yy: skip_slave_counter
2001-01-24 17:15:34 +01:00
slave_errno = ER_SLAVE_MUST_STOP;
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
unlock_slave_threads(mi);
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (slave_errno)
{
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
if (net_report)
send_error(net, slave_errno);
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
return 1;
}
else if (net_report)
send_ok(net);
return 0;
}
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
int stop_slave(THD* thd, MASTER_INFO* mi, bool net_report )
{
Added last_errno and last_error to show slave status slave will skip the first SQL_SLAVE_SKIP_COUNTER events on start - this is needed to recover from broken replication when the next log event(s) should just be skipped. Rotate binlogs when max_binlog_size is reached include/my_sys.h: added my_snprintf() include/mysqld_error.h: more error messages mysql-test/r/rpl000014.result: updated results for new SHOW SLAVE STATUS format mysql-test/r/rpl000015.result: update for SHOW SLAVE STATUS mysql-test/r/rpl000016.result: update for additions to the test mysql-test/t/rpl000016.test: test max_binlog_size and slave_skip_counter mysys/my_vsnprintf.c: added my_snprintf() sql/gen_lex_hash.cc: old values could not do it sql/lex.h: updates for SQL_SLAVE_SKIP_COUNTER sql/log.cc: rotate binlogs when max_binlog_size is reached sql/mysqld.cc: added max_binlog_size sql/share/czech/errmsg.txt: new errors sql/share/danish/errmsg.txt: new errors sql/share/dutch/errmsg.txt: new errors sql/share/english/errmsg.txt: new errors sql/share/estonian/errmsg.txt: new errors sql/share/french/errmsg.txt: new errors sql/share/german/errmsg.txt: new errors sql/share/greek/errmsg.txt: new errors sql/share/hungarian/errmsg.txt: new errors sql/share/italian/errmsg.txt: new errors sql/share/japanese/errmsg.txt: new errors sql/share/korean/errmsg.txt: new errors sql/share/norwegian-ny/errmsg.txt: new errors sql/share/norwegian/errmsg.txt: new errors sql/share/polish/errmsg.txt: new errors sql/share/portuguese/errmsg.txt: new errors sql/share/romanian/errmsg.txt: new errors sql/share/russian/errmsg.txt: new errors, translated untranslated messages sql/share/slovak/errmsg.txt: new errors sql/share/spanish/errmsg.txt: new errors sql/share/swedish/errmsg.txt: new errors sql/slave.cc: updates for slave_skip_counter and extension to show slave status sql/slave.h: slave_skip_counter sql/sql_repl.cc: use error messages from errmsg.txt sql/sql_yacc.yy: skip_slave_counter
2001-01-24 17:15:34 +01:00
int slave_errno = 0;
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (!thd) thd = current_thd;
NET* net = &thd->net;
if (check_access(thd, PROCESS_ACL, any_db))
return 1;
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
thd->proc_info = "Killing slave";
int thread_mask;
lock_slave_threads(mi);
init_thread_mask(&thread_mask,mi,0 /* not inverse*/);
if (thd->lex.slave_thd_opt)
thread_mask &= thd->lex.slave_thd_opt;
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
slave_errno = (thread_mask) ?
terminate_slave_threads(mi,thread_mask,
1 /*skip lock */) : ER_SLAVE_NOT_RUNNING;
unlock_slave_threads(mi);
thd->proc_info = 0;
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (slave_errno)
{
if (net_report)
send_error(net, slave_errno);
return 1;
}
else if (net_report)
send_ok(net);
return 0;
}
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
int reset_slave(MASTER_INFO* mi)
{
MY_STAT stat_area;
char fname[FN_REFLEN];
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
int restart_thread_mask = 0,error=0;
const char* errmsg=0;
DBUG_ENTER("reset_slave");
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
lock_slave_threads(mi);
init_thread_mask(&restart_thread_mask,mi,0 /* not inverse */);
if ((error=terminate_slave_threads(mi,restart_thread_mask,1 /*skip lock*/))
|| (error=purge_relay_logs(&mi->rli,1 /*just reset*/,&errmsg)))
goto err;
end_master_info(mi);
fn_format(fname, master_info_file, mysql_data_home, "", 4+32);
if (my_stat(fname, &stat_area, MYF(0)) && my_delete(fname, MYF(MY_WME)))
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
{
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
error=1;
goto err;
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
}
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
fn_format(fname, relay_log_info_file, mysql_data_home, "", 4+32);
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (my_stat(fname, &stat_area, MYF(0)) && my_delete(fname, MYF(MY_WME)))
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
{
error=1;
goto err;
}
if (restart_thread_mask)
error=start_slave_threads(0 /* mutex not needed */,
1 /* wait for start*/,
mi,master_info_file,relay_log_info_file,
restart_thread_mask);
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
// TODO: fix error messages so they get to the client
err:
unlock_slave_threads(mi);
DBUG_RETURN(error);
}
void kill_zombie_dump_threads(uint32 slave_server_id)
{
pthread_mutex_lock(&LOCK_thread_count);
I_List_iterator<THD> it(threads);
THD *tmp;
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
while ((tmp=it++))
{
if (tmp->command == COM_BINLOG_DUMP &&
tmp->server_id == slave_server_id)
{
merge with 3.23.42 config.guess: Auto merged config.sub: Auto merged ltconfig: Auto merged BitKeeper/deleted/.del-violite.c~d7b85be615595ace: Auto merged BitKeeper/deleted/.del-violite.c~984c09cffe14a11b: Auto merged client/Makefile.am: Auto merged include/errmsg.h: Auto merged include/global.h: Auto merged include/heap.h: Auto merged include/my_sys.h: Auto merged include/mysql_com.h: Auto merged isam/isamlog.c: Auto merged libmysql/libmysql.c: Auto merged merge/open.c: Auto merged myisam/ft_search.c: Auto merged myisam/ftdefs.h: Auto merged myisam/mi_test_all.sh: Auto merged myisam/myisamchk.c: Auto merged myisam/myisamlog.c: Auto merged myisam/myisampack.c: Auto merged myisam/sort.c: Auto merged myisammrg/myrg_open.c: Auto merged mysys/hash.c: Auto merged mysys/mf_casecnv.c: Auto merged mysys/mf_format.c: Auto merged mysys/my_lib.c: Auto merged mysys/tree.c: Auto merged sql-bench/bench-init.pl.sh: Auto merged sql/filesort.cc: Auto merged sql/ha_myisam.cc: Auto merged sql/ha_myisammrg.cc: Auto merged sql/handler.cc: Auto merged sql/handler.h: Auto merged sql/item_func.cc: Auto merged sql/item_strfunc.cc: Auto merged sql/lex.h: Auto merged sql/log.cc: Auto merged sql/log_event.cc: Auto merged sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged sql/net_serv.cc: Auto merged sql/slave.cc: Auto merged sql/sql_acl.cc: Auto merged sql/sql_base.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_db.cc: Auto merged sql/sql_delete.cc: Auto merged sql/sql_insert.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_show.cc: Auto merged mysql-test/r/func_time.result: Auto merged mysql-test/r/innodb.result: Auto merged mysql-test/t/bdb.test: Auto merged mysql-test/t/err000001.test: Auto merged mysql-test/t/func_time.test: Auto merged mysql-test/t/innodb.test: Auto merged mysql-test/t/overflow.test: Auto merged mysql-test/t/show_check.test: Auto merged sql/sql_table.cc: Auto merged sql/sql_test.cc: Auto merged sql/sql_update.cc: Auto merged sql/sql_yacc.yy: Auto merged strings/ctype.c: Auto merged Docs/manual.texi: Change to 3.23 manual. (I will later add the changes for 4.0 to this copy) client/mysql.cc: merge client/mysqlbinlog.cc: merge client/mysqldump.c: merge client/mysqltest.c: merge client/thread_test.c: merge configure.in: merge include/my_pthread.h: merge include/mysqld_error.h: merge libmysql/net.c: merge myisam/mi_cache.c: merge myisam/mi_check.c: merge mysql-test/t/fulltext.test: merge mysys/mf_qsort.c: merge sql/lock.cc: merge sql/md5.c: merge sql/mini_client.cc: merge sql/share/czech/errmsg.txt: merge sql/share/danish/errmsg.txt: merge sql/share/dutch/errmsg.txt: merge sql/share/english/errmsg.txt: merge sql/share/estonian/errmsg.txt: merge sql/share/french/errmsg.txt: merge sql/share/german/errmsg.txt: merge sql/share/greek/errmsg.txt: merge sql/share/hungarian/errmsg.txt: merge sql/share/italian/errmsg.txt: merge sql/share/japanese/errmsg.txt: merge sql/share/korean/errmsg.txt: merge sql/share/norwegian-ny/errmsg.txt: merge sql/share/norwegian/errmsg.txt: merge sql/share/polish/errmsg.txt: merge sql/share/portuguese/errmsg.txt: merge sql/share/romanian/errmsg.txt: merge sql/share/russian/errmsg.txt: merge sql/share/slovak/errmsg.txt: merge sql/share/spanish/errmsg.txt: merge sql/share/swedish/errmsg.txt: merge sql/sql_load.cc: merge sql/sql_repl.cc: merge
2001-09-02 18:38:33 +02:00
/*
Here we do not call kill_one_thread() as
it will be slow because it will iterate through the list
again. Plus it double-locks LOCK_tread_count, which
make safe_mutex complain and abort.
We just to do kill the thread ourselves.
*/
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
tmp->awake(1/*prepare to die*/);
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
}
}
pthread_mutex_unlock(&LOCK_thread_count);
}
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
int change_master(THD* thd, MASTER_INFO* mi)
{
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
int error=0,restart_thread_mask;
const char* errmsg=0;
bool need_relay_log_purge=1;
DBUG_ENTER("change_master");
// kill slave thread
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
lock_slave_threads(mi);
init_thread_mask(&restart_thread_mask,mi,0 /*not inverse*/);
if (restart_thread_mask &&
(error=terminate_slave_threads(mi,
restart_thread_mask,
1 /*skip lock*/)))
{
send_error(&thd->net,error);
unlock_slave_threads(mi);
DBUG_RETURN(1);
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
}
thd->proc_info = "changing master";
LEX_MASTER_INFO* lex_mi = &thd->lex.mi;
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
// TODO: see if needs re-write
if (init_master_info(mi,master_info_file,relay_log_info_file))
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
{
send_error(&thd->net, 0, "Could not initialize master info");
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
unlock_slave_threads(mi);
DBUG_RETURN(1);
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
}
/* data lock not needed since we have already stopped the running threads,
and we have the hold on the run locks which will keep all threads that
could possibly modify the data structures from running
*/
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if ((lex_mi->host || lex_mi->port) && !lex_mi->log_file_name && !lex_mi->pos)
{
// if we change host or port, we must reset the postion
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
mi->master_log_name[0] = 0;
mi->master_log_pos= BIN_LOG_HEADER_SIZE;
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
mi->rli.pending = 0;
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
}
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (lex_mi->log_file_name)
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
strmake(mi->master_log_name, lex_mi->log_file_name,
sizeof(mi->master_log_name));
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (lex_mi->pos)
2001-06-01 00:54:16 +02:00
{
mi->master_log_pos= lex_mi->pos;
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
mi->rli.pending = 0;
2001-06-01 00:54:16 +02:00
}
DBUG_PRINT("info", ("master_log_pos: %d", (ulong) mi->master_log_pos));
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (lex_mi->host)
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
strmake(mi->host, lex_mi->host, sizeof(mi->host));
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (lex_mi->user)
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
strmake(mi->user, lex_mi->user, sizeof(mi->user));
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (lex_mi->password)
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
strmake(mi->password, lex_mi->password, sizeof(mi->password));
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (lex_mi->port)
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
mi->port = lex_mi->port;
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (lex_mi->connect_retry)
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
mi->connect_retry = lex_mi->connect_retry;
if (lex_mi->relay_log_name)
{
need_relay_log_purge = 0;
mi->rli.skip_log_purge=1;
strnmov(mi->rli.relay_log_name,lex_mi->relay_log_name,
sizeof(mi->rli.relay_log_name)-1);
}
if (lex_mi->relay_log_pos)
{
need_relay_log_purge=0;
mi->rli.relay_log_pos=lex_mi->relay_log_pos;
}
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
flush_master_info(mi);
if (need_relay_log_purge)
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
{
mi->rli.skip_log_purge=0;
thd->proc_info="purging old relay logs";
if (purge_relay_logs(&mi->rli,0 /* not only reset, but also reinit*/,
&errmsg))
{
net_printf(&thd->net, 0, "Failed purging old relay logs: %s",errmsg);
DBUG_RETURN(1);
}
}
else
{
const char* msg;
if (init_relay_log_pos(&mi->rli,0/*log already inited*/,
0 /*pos already inited*/,
0 /*no data lock*/,
&msg))
{
//Sasha: note that I had to change net_printf() to make this work
net_printf(&thd->net,0,"Failed initializing relay log position: %s",msg);
unlock_slave_threads(mi);
DBUG_RETURN(1);
}
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
}
mi->rli.master_log_pos = mi->master_log_pos;
DBUG_PRINT("info", ("master_log_pos: %d", (ulong) mi->master_log_pos));
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
strnmov(mi->rli.master_log_name,mi->master_log_name,
sizeof(mi->rli.master_log_name));
if (!mi->rli.master_log_name[0]) // uninitialized case
mi->rli.master_log_pos=0;
pthread_mutex_lock(&mi->rli.data_lock);
mi->rli.abort_pos_wait = 1;
pthread_cond_broadcast(&mi->data_cond);
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
pthread_mutex_unlock(&mi->rli.data_lock);
thd->proc_info = "starting slave";
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
if (restart_thread_mask)
error=start_slave_threads(0 /* mutex not needed*/,
1 /* wait for start*/,
mi,master_info_file,relay_log_info_file,
restart_thread_mask);
unlock_slave_threads(mi);
thd->proc_info = 0;
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
if (error)
send_error(&thd->net,error);
else
send_ok(&thd->net);
DBUG_RETURN(0);
}
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
int reset_master(THD* thd)
{
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (!mysql_bin_log.is_open())
{
my_error(ER_FLUSH_MASTER_BINLOG_CLOSED, MYF(ME_BELL+ME_WAITTANG));
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
return 1;
}
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
return mysql_bin_log.reset_logs(thd);
}
int cmp_master_pos(const char* log_file_name1, ulonglong log_pos1,
const char* log_file_name2, ulonglong log_pos2)
{
int res;
if ((res = strcmp(log_file_name1, log_file_name2)))
return res;
if (log_pos1 > log_pos2)
return 1;
else if (log_pos1 == log_pos2)
return 0;
return -1;
}
int show_binlog_events(THD* thd)
{
DBUG_ENTER("show_binlog_events");
List<Item> field_list;
const char* errmsg = 0;
IO_CACHE log;
File file = -1;
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
Log_event::init_show_field_list(&field_list);
if (send_fields(thd, field_list, 1))
DBUG_RETURN(-1);
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (mysql_bin_log.is_open())
{
LOG_INFO linfo;
char search_file_name[FN_REFLEN];
LEX_MASTER_INFO* lex_mi = &thd->lex.mi;
uint event_count, limit_start, limit_end;
const char* log_file_name = lex_mi->log_file_name;
Log_event* ev;
my_off_t pos = lex_mi->pos;
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
limit_start = thd->lex.select->offset_limit;
limit_end = thd->lex.select->select_limit + limit_start;
if (log_file_name)
mysql_bin_log.make_log_name(search_file_name, log_file_name);
else
search_file_name[0] = 0;
linfo.index_file_offset = 0;
thd->current_linfo = &linfo;
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (mysql_bin_log.find_first_log(&linfo, search_file_name))
{
errmsg = "Could not find target log";
goto err;
}
if ((file=open_binlog(&log, linfo.log_file_name, &errmsg)) < 0)
goto err;
if (pos < 4)
{
errmsg = "Invalid log position";
goto err;
}
pthread_mutex_lock(mysql_bin_log.get_log_lock());
my_b_seek(&log, pos);
for (event_count = 0;
(ev = Log_event::read_log_event(&log,(pthread_mutex_t*)0,0)); )
{
if (event_count >= limit_start &&
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
ev->net_send(thd, linfo.log_file_name, pos))
{
errmsg = "Net error";
delete ev;
pthread_mutex_unlock(mysql_bin_log.get_log_lock());
goto err;
}
pos = my_b_tell(&log);
delete ev;
if (++event_count >= limit_end)
break;
}
if (event_count < limit_end && log.error)
{
errmsg = "Wrong offset or I/O error";
Here comes a nasty patch, although I am not ready to push it yet. I will first pull, merge,test, and get it to work. The main change is the new replication code - now we have two slave threads SQL thread and I/O thread. I have also re-written a lot of the code to prepare for multi-master implementation. I also documented IO_CACHE quite extensively and to some extend, THD class. Makefile.am: moved tags target script into a separate file include/my_sys.h: fixes in IO_CACHE for SEQ_READ_APPEND + some documentation libmysqld/lib_sql.cc: updated replication locks, but now I see I did it wrong and it won't compile. Will fix before the push. mysql-test/r/rpl000014.result: test result update mysql-test/r/rpl000015.result: test result update mysql-test/r/rpl000016.result: test result update mysql-test/r/rpl_log.result: test result update mysql-test/t/rpl000016-slave.sh: remove relay logs mysql-test/t/rpl000017-slave.sh: remove relay logs mysql-test/t/rpl_log.test: updated test mysys/mf_iocache.c: IO_CACHE updates to make replication work mysys/mf_iocache2.c: IO_CACHE update to make replication work mysys/thr_mutex.c: cosmetic change sql/item_func.cc: new replication code sql/lex.h: new replication sql/log.cc: new replication sql/log_event.cc: new replication sql/log_event.h: new replication sql/mini_client.cc: new replication sql/mini_client.h: new replication sql/mysql_priv.h: new replication sql/mysqld.cc: new replication sql/repl_failsafe.cc: new replication sql/slave.cc: new replication sql/slave.h: new replication sql/sql_class.cc: new replication sql/sql_class.h: new replication sql/sql_lex.h: new replication sql/sql_parse.cc: new replication sql/sql_repl.cc: new replication sql/sql_repl.h: new replication sql/sql_show.cc: new replication sql/sql_yacc.yy: new replication sql/stacktrace.c: more robust stack tracing sql/structs.h: new replication code BitKeeper/etc/ignore: Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-20 03:16:52 +01:00
pthread_mutex_unlock(mysql_bin_log.get_log_lock());
goto err;
}
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
pthread_mutex_unlock(mysql_bin_log.get_log_lock());
}
err:
if (file >= 0)
{
end_io_cache(&log);
(void) my_close(file, MYF(MY_WME));
}
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (errmsg)
{
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
net_printf(&thd->net, ER_ERROR_WHEN_EXECUTING_COMMAND,
"SHOW BINLOG EVENTS", errmsg);
DBUG_RETURN(1);
}
send_eof(&thd->net);
DBUG_RETURN(0);
}
int show_binlog_info(THD* thd)
{
DBUG_ENTER("show_binlog_info");
List<Item> field_list;
field_list.push_back(new Item_empty_string("File", FN_REFLEN));
field_list.push_back(new Item_empty_string("Position",20));
field_list.push_back(new Item_empty_string("Binlog_do_db",20));
field_list.push_back(new Item_empty_string("Binlog_ignore_db",20));
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (send_fields(thd, field_list, 1))
DBUG_RETURN(-1);
String* packet = &thd->packet;
packet->length(0);
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (mysql_bin_log.is_open())
{
LOG_INFO li;
mysql_bin_log.get_current_log(&li);
int dir_len = dirname_length(li.log_file_name);
net_store_data(packet, li.log_file_name + dir_len);
net_store_data(packet, (longlong)li.pos);
net_store_data(packet, &binlog_do_db);
net_store_data(packet, &binlog_ignore_db);
}
else
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
{
net_store_null(packet);
net_store_null(packet);
net_store_null(packet);
net_store_null(packet);
}
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (my_net_write(&thd->net, (char*)thd->packet.ptr(), packet->length()))
DBUG_RETURN(-1);
send_eof(&thd->net);
DBUG_RETURN(0);
}
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
int show_binlogs(THD* thd)
{
const char* errmsg = 0;
File index_file;
char fname[FN_REFLEN];
NET* net = &thd->net;
List<Item> field_list;
String* packet = &thd->packet;
IO_CACHE io_cache;
uint length;
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (!mysql_bin_log.is_open())
{
errmsg = "binlog is not open";
goto err;
}
field_list.push_back(new Item_empty_string("Log_name", 128));
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (send_fields(thd, field_list, 1))
{
sql_print_error("Failed in send_fields");
return 1;
}
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
mysql_bin_log.lock_index();
index_file = mysql_bin_log.get_index_file();
if (index_file < 0)
{
errmsg = "Uninitialized index file pointer";
goto err2;
}
if (init_io_cache(&io_cache, index_file, IO_SIZE, READ_CACHE, 0, 0,
MYF(MY_WME)))
{
errmsg = "Failed on init_io_cache()";
goto err2;
}
while ((length=my_b_gets(&io_cache, fname, sizeof(fname))))
{
fname[--length]=0;
int dir_len = dirname_length(fname);
packet->length(0);
net_store_data(packet, fname + dir_len, length-dir_len);
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
if (my_net_write(net, (char*) packet->ptr(), packet->length()))
{
sql_print_error("Failed in my_net_write");
end_io_cache(&io_cache);
mysql_bin_log.unlock_index();
return 1;
}
}
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
mysql_bin_log.unlock_index();
end_io_cache(&io_cache);
Redefinition of myisam_bulk_insert_tree_size Removed new error message Fixed test case for varbinary Threads are again killable in "merge_buffers" Cleanup of sql_repl.cc SHOW OPEN TABLES now works when no tables are opened Docs/manual.texi: Redefinition of myisam_bulk_insert_tree_size client/insert_test.c: Changed to use mysql_real_connect() include/mysql.h: Moved things in mysql_options to optimize these for 64 bit processors include/mysqld_error.h: Removed new error message myisam/mi_write.c: Use myisam_bulk_insert_tree_size per table instead of per index mysql-test/t/varbinary.test: Fixed test case for varbinary mysys/tree.c: Fixed missing if sql/filesort.cc: Threads are again killable in "merge_buffers" sql/log_event.h: cleanup sql/share/czech/errmsg.txt: Removed new error message sql/share/danish/errmsg.txt: Removed new error message sql/share/dutch/errmsg.txt: Removed new error message sql/share/english/errmsg.txt: Removed new error message sql/share/estonian/errmsg.txt: Removed new error message sql/share/french/errmsg.txt: Removed new error message sql/share/german/errmsg.txt: Removed new error message sql/share/greek/errmsg.txt: Removed new error message sql/share/hungarian/errmsg.txt: Removed new error message sql/share/italian/errmsg.txt: Removed new error message sql/share/japanese/errmsg.txt: Removed new error message sql/share/korean/errmsg.txt: Removed new error message sql/share/norwegian-ny/errmsg.txt: Removed new error message sql/share/norwegian/errmsg.txt: Removed new error message sql/share/polish/errmsg.txt: Removed new error message sql/share/portuguese/errmsg.txt: Removed new error message sql/share/romanian/errmsg.txt: Removed new error message sql/share/russian/errmsg.txt: Removed new error message sql/share/slovak/errmsg.txt: Removed new error message sql/share/spanish/errmsg.txt: Removed new error message sql/share/swedish/errmsg.txt: Removed new error message sql/sql_class.h: Cleanup sql/sql_delete.cc: Cleanup sql/sql_repl.cc: Cleanup sql/sql_show.cc: SHOW OPEN TABLES now works when no tables are opened sql/sql_sort.h: Threads are again killable in "merge_buffers" sql/uniques.cc: Threads are again killable in "merge_buffers"
2001-07-10 14:53:08 +02:00
send_eof(net);
return 0;
err2:
mysql_bin_log.unlock_index();
end_io_cache(&io_cache);
err:
send_error(net, 0, errmsg);
return 1;
}
LOAD DATA INFILE is now replicated properly, except for cleanup on Stop event and bugs the test suite could not catch Did some big restructuring of binlog event classes - most important change is that now each event class has exec_event method and one does not need to modify slave core code to add a new event. Slave code is now much smaller and easier to read include/my_sys.h: pre_code and arg in IO_CACHE mysql-test/r/rpl_log.result: updated result for LOAD DATA INFILE fix mysys/mf_iocache.c: pre_close routine and arg pointer for callback magic sql/log.cc: changed MYSQL_LOG so that write() method is for generic Log_event - removed redundant code sql/log_event.cc: added classes for file events added exec_event() method to all classes restructured/cleaned up event classes sql/log_event.h: added classes for file events added exec_event() method to all classes restructured/cleaned up event classes sql/mf_iocache.cc: pre_close/arg sql/mysqld.cc: added slave-load-tmpdir and old-rpl-compat options sql/slave.cc: changed exec_event() to use Log_event::exec_event() some routines are now needed in log_event.cc and cannot be static/inline general cleanup sql/slave.h: some routines are now extern because they are called from log_event.cc sql/sql_class.cc: added slave_net sql/sql_class.h: added slave_net to THD MYSQL_LOG::write now handles generic Log_event sql/sql_load.cc: changes for new handling of LOAD DATA INFILE replication sql/sql_repl.cc: added log_loaded_block() callback for IO_CACHE sql/sql_repl.h: added structure to pass args to IO_CACHE callback from mysql_load
2001-08-03 23:57:53 +02:00
int log_loaded_block(IO_CACHE* file)
{
LOAD_FILE_INFO* lf_info;
uint block_len ;
/* file->request_pos contains position where we started last read */
char* buffer = (char*) file->request_pos;
New error messages Test of unsigned BIGINT values Fixes for queries-per-hour Cleanup of replication code (comments and portability fixes) Make most of the binary log code 4G clean Changed syntax for GRANT ... QUERIES PER HOUR Docs/manual.texi: Fixed Changelog, upgrading to 4.0 and 4.1 TODO sections. Docs/mysqld_error.txt: Added error message. configure.in: Fix for autoconf 2.52 include/my_getopt.h: Portability fix. include/my_global.h: Portablity fix. include/mysqld_error.h: New error messages mysql-test/r/bigint.result: Test of unsigned BIGINT values. mysql-test/r/func_op.result: Test of unsigned BIGINT values. mysql-test/r/varbinary.result: Test of unsigned BIGINT values. mysql-test/t/bigint.test: Test of unsigned BIGINT values. sql/item_func.h: Optimized Item_int_func() usage. sql/lock.cc: Cleanup comments sql/log.cc: Cleanup sql/log_event.cc: Cleanup and portability fixes. sql/log_event.h: Cleanup and portability fixes. sql/mini_client.cc: Cleanup and portability fixes. sql/mysqld.cc: Fix for queries-per-hour sql/repl_failsafe.cc: Prepare for making binary log 2G clean. sql/share/czech/errmsg.txt: New error messages sql/share/danish/errmsg.txt: New error messages sql/share/dutch/errmsg.txt: New error messages sql/share/english/errmsg.txt: New error messages sql/share/estonian/errmsg.txt: New error messages sql/share/french/errmsg.txt: New error messages sql/share/german/errmsg.txt: New error messages sql/share/greek/errmsg.txt: New error messages sql/share/hungarian/errmsg.txt: New error messages sql/share/italian/errmsg.txt: New error messages sql/share/japanese/errmsg.txt: New error messages sql/share/korean/errmsg.txt: New error messages sql/share/norwegian-ny/errmsg.txt: New error messages sql/share/norwegian/errmsg.txt: New error messages sql/share/polish/errmsg.txt: New error messages sql/share/portuguese/errmsg.txt: New error messages sql/share/romanian/errmsg.txt: New error messages sql/share/russian/errmsg.txt: New error messages sql/share/slovak/errmsg.txt: New error messages sql/share/spanish/errmsg.txt: New error messages sql/share/swedish/errmsg.txt: New error messages sql/share/ukrainian/errmsg.txt: New error messages sql/slave.cc: Cleanup sql/slave.h: Cleanup sql/sql_acl.cc: Cleanup and removal of possible reserved words sql/sql_base.cc: More DBUG sql/sql_cache.cc: Cleanup & portability fixes sql/sql_class.h: Make binary log 4G clean sql/sql_delete.cc: More DBUG sql/sql_handler.cc: Cleanup & portability fixes sql/sql_parse.cc: Cleanup of queries-per-hours code sql/sql_rename.cc: Add missing DBUG_RETURN sql/sql_repl.cc: Cleanup & portability fixes sql/sql_select.cc: Cleanup & portability fixes sql/sql_show.cc: Cleanup & portability fixes sql/sql_update.cc: Small cleanup of multi-update-code (need second pass) sql/sql_yacc.yy: Changed syntax for GRANT ... QUERIES PER HOUR strings/str2int.c: Cleanup & portability fixes
2002-01-29 17:32:16 +01:00
if (!(block_len = (char*) file->read_end - (char*) buffer))
LOAD DATA INFILE is now replicated properly, except for cleanup on Stop event and bugs the test suite could not catch Did some big restructuring of binlog event classes - most important change is that now each event class has exec_event method and one does not need to modify slave core code to add a new event. Slave code is now much smaller and easier to read include/my_sys.h: pre_code and arg in IO_CACHE mysql-test/r/rpl_log.result: updated result for LOAD DATA INFILE fix mysys/mf_iocache.c: pre_close routine and arg pointer for callback magic sql/log.cc: changed MYSQL_LOG so that write() method is for generic Log_event - removed redundant code sql/log_event.cc: added classes for file events added exec_event() method to all classes restructured/cleaned up event classes sql/log_event.h: added classes for file events added exec_event() method to all classes restructured/cleaned up event classes sql/mf_iocache.cc: pre_close/arg sql/mysqld.cc: added slave-load-tmpdir and old-rpl-compat options sql/slave.cc: changed exec_event() to use Log_event::exec_event() some routines are now needed in log_event.cc and cannot be static/inline general cleanup sql/slave.h: some routines are now extern because they are called from log_event.cc sql/sql_class.cc: added slave_net sql/sql_class.h: added slave_net to THD MYSQL_LOG::write now handles generic Log_event sql/sql_load.cc: changes for new handling of LOAD DATA INFILE replication sql/sql_repl.cc: added log_loaded_block() callback for IO_CACHE sql/sql_repl.h: added structure to pass args to IO_CACHE callback from mysql_load
2001-08-03 23:57:53 +02:00
return 0;
New error messages Test of unsigned BIGINT values Fixes for queries-per-hour Cleanup of replication code (comments and portability fixes) Make most of the binary log code 4G clean Changed syntax for GRANT ... QUERIES PER HOUR Docs/manual.texi: Fixed Changelog, upgrading to 4.0 and 4.1 TODO sections. Docs/mysqld_error.txt: Added error message. configure.in: Fix for autoconf 2.52 include/my_getopt.h: Portability fix. include/my_global.h: Portablity fix. include/mysqld_error.h: New error messages mysql-test/r/bigint.result: Test of unsigned BIGINT values. mysql-test/r/func_op.result: Test of unsigned BIGINT values. mysql-test/r/varbinary.result: Test of unsigned BIGINT values. mysql-test/t/bigint.test: Test of unsigned BIGINT values. sql/item_func.h: Optimized Item_int_func() usage. sql/lock.cc: Cleanup comments sql/log.cc: Cleanup sql/log_event.cc: Cleanup and portability fixes. sql/log_event.h: Cleanup and portability fixes. sql/mini_client.cc: Cleanup and portability fixes. sql/mysqld.cc: Fix for queries-per-hour sql/repl_failsafe.cc: Prepare for making binary log 2G clean. sql/share/czech/errmsg.txt: New error messages sql/share/danish/errmsg.txt: New error messages sql/share/dutch/errmsg.txt: New error messages sql/share/english/errmsg.txt: New error messages sql/share/estonian/errmsg.txt: New error messages sql/share/french/errmsg.txt: New error messages sql/share/german/errmsg.txt: New error messages sql/share/greek/errmsg.txt: New error messages sql/share/hungarian/errmsg.txt: New error messages sql/share/italian/errmsg.txt: New error messages sql/share/japanese/errmsg.txt: New error messages sql/share/korean/errmsg.txt: New error messages sql/share/norwegian-ny/errmsg.txt: New error messages sql/share/norwegian/errmsg.txt: New error messages sql/share/polish/errmsg.txt: New error messages sql/share/portuguese/errmsg.txt: New error messages sql/share/romanian/errmsg.txt: New error messages sql/share/russian/errmsg.txt: New error messages sql/share/slovak/errmsg.txt: New error messages sql/share/spanish/errmsg.txt: New error messages sql/share/swedish/errmsg.txt: New error messages sql/share/ukrainian/errmsg.txt: New error messages sql/slave.cc: Cleanup sql/slave.h: Cleanup sql/sql_acl.cc: Cleanup and removal of possible reserved words sql/sql_base.cc: More DBUG sql/sql_cache.cc: Cleanup & portability fixes sql/sql_class.h: Make binary log 4G clean sql/sql_delete.cc: More DBUG sql/sql_handler.cc: Cleanup & portability fixes sql/sql_parse.cc: Cleanup of queries-per-hours code sql/sql_rename.cc: Add missing DBUG_RETURN sql/sql_repl.cc: Cleanup & portability fixes sql/sql_select.cc: Cleanup & portability fixes sql/sql_show.cc: Cleanup & portability fixes sql/sql_update.cc: Small cleanup of multi-update-code (need second pass) sql/sql_yacc.yy: Changed syntax for GRANT ... QUERIES PER HOUR strings/str2int.c: Cleanup & portability fixes
2002-01-29 17:32:16 +01:00
lf_info = (LOAD_FILE_INFO*) file->arg;
LOAD DATA INFILE is now replicated properly, except for cleanup on Stop event and bugs the test suite could not catch Did some big restructuring of binlog event classes - most important change is that now each event class has exec_event method and one does not need to modify slave core code to add a new event. Slave code is now much smaller and easier to read include/my_sys.h: pre_code and arg in IO_CACHE mysql-test/r/rpl_log.result: updated result for LOAD DATA INFILE fix mysys/mf_iocache.c: pre_close routine and arg pointer for callback magic sql/log.cc: changed MYSQL_LOG so that write() method is for generic Log_event - removed redundant code sql/log_event.cc: added classes for file events added exec_event() method to all classes restructured/cleaned up event classes sql/log_event.h: added classes for file events added exec_event() method to all classes restructured/cleaned up event classes sql/mf_iocache.cc: pre_close/arg sql/mysqld.cc: added slave-load-tmpdir and old-rpl-compat options sql/slave.cc: changed exec_event() to use Log_event::exec_event() some routines are now needed in log_event.cc and cannot be static/inline general cleanup sql/slave.h: some routines are now extern because they are called from log_event.cc sql/sql_class.cc: added slave_net sql/sql_class.h: added slave_net to THD MYSQL_LOG::write now handles generic Log_event sql/sql_load.cc: changes for new handling of LOAD DATA INFILE replication sql/sql_repl.cc: added log_loaded_block() callback for IO_CACHE sql/sql_repl.h: added structure to pass args to IO_CACHE callback from mysql_load
2001-08-03 23:57:53 +02:00
if (lf_info->last_pos_in_file != HA_POS_ERROR &&
lf_info->last_pos_in_file >= file->pos_in_file)
return 0;
lf_info->last_pos_in_file = file->pos_in_file;
if (lf_info->wrote_create_file)
{
Append_block_log_event a(lf_info->thd, buffer, block_len);
LOAD DATA INFILE is now replicated properly, except for cleanup on Stop event and bugs the test suite could not catch Did some big restructuring of binlog event classes - most important change is that now each event class has exec_event method and one does not need to modify slave core code to add a new event. Slave code is now much smaller and easier to read include/my_sys.h: pre_code and arg in IO_CACHE mysql-test/r/rpl_log.result: updated result for LOAD DATA INFILE fix mysys/mf_iocache.c: pre_close routine and arg pointer for callback magic sql/log.cc: changed MYSQL_LOG so that write() method is for generic Log_event - removed redundant code sql/log_event.cc: added classes for file events added exec_event() method to all classes restructured/cleaned up event classes sql/log_event.h: added classes for file events added exec_event() method to all classes restructured/cleaned up event classes sql/mf_iocache.cc: pre_close/arg sql/mysqld.cc: added slave-load-tmpdir and old-rpl-compat options sql/slave.cc: changed exec_event() to use Log_event::exec_event() some routines are now needed in log_event.cc and cannot be static/inline general cleanup sql/slave.h: some routines are now extern because they are called from log_event.cc sql/sql_class.cc: added slave_net sql/sql_class.h: added slave_net to THD MYSQL_LOG::write now handles generic Log_event sql/sql_load.cc: changes for new handling of LOAD DATA INFILE replication sql/sql_repl.cc: added log_loaded_block() callback for IO_CACHE sql/sql_repl.h: added structure to pass args to IO_CACHE callback from mysql_load
2001-08-03 23:57:53 +02:00
mysql_bin_log.write(&a);
}
else
{
Create_file_log_event c(lf_info->thd,lf_info->ex,lf_info->db,
lf_info->table_name, *lf_info->fields,
lf_info->handle_dup, buffer,
block_len);
LOAD DATA INFILE is now replicated properly, except for cleanup on Stop event and bugs the test suite could not catch Did some big restructuring of binlog event classes - most important change is that now each event class has exec_event method and one does not need to modify slave core code to add a new event. Slave code is now much smaller and easier to read include/my_sys.h: pre_code and arg in IO_CACHE mysql-test/r/rpl_log.result: updated result for LOAD DATA INFILE fix mysys/mf_iocache.c: pre_close routine and arg pointer for callback magic sql/log.cc: changed MYSQL_LOG so that write() method is for generic Log_event - removed redundant code sql/log_event.cc: added classes for file events added exec_event() method to all classes restructured/cleaned up event classes sql/log_event.h: added classes for file events added exec_event() method to all classes restructured/cleaned up event classes sql/mf_iocache.cc: pre_close/arg sql/mysqld.cc: added slave-load-tmpdir and old-rpl-compat options sql/slave.cc: changed exec_event() to use Log_event::exec_event() some routines are now needed in log_event.cc and cannot be static/inline general cleanup sql/slave.h: some routines are now extern because they are called from log_event.cc sql/sql_class.cc: added slave_net sql/sql_class.h: added slave_net to THD MYSQL_LOG::write now handles generic Log_event sql/sql_load.cc: changes for new handling of LOAD DATA INFILE replication sql/sql_repl.cc: added log_loaded_block() callback for IO_CACHE sql/sql_repl.h: added structure to pass args to IO_CACHE callback from mysql_load
2001-08-03 23:57:53 +02:00
mysql_bin_log.write(&c);
lf_info->wrote_create_file = 1;
DBUG_SYNC_POINT("debug_lock.created_file_event",10);
LOAD DATA INFILE is now replicated properly, except for cleanup on Stop event and bugs the test suite could not catch Did some big restructuring of binlog event classes - most important change is that now each event class has exec_event method and one does not need to modify slave core code to add a new event. Slave code is now much smaller and easier to read include/my_sys.h: pre_code and arg in IO_CACHE mysql-test/r/rpl_log.result: updated result for LOAD DATA INFILE fix mysys/mf_iocache.c: pre_close routine and arg pointer for callback magic sql/log.cc: changed MYSQL_LOG so that write() method is for generic Log_event - removed redundant code sql/log_event.cc: added classes for file events added exec_event() method to all classes restructured/cleaned up event classes sql/log_event.h: added classes for file events added exec_event() method to all classes restructured/cleaned up event classes sql/mf_iocache.cc: pre_close/arg sql/mysqld.cc: added slave-load-tmpdir and old-rpl-compat options sql/slave.cc: changed exec_event() to use Log_event::exec_event() some routines are now needed in log_event.cc and cannot be static/inline general cleanup sql/slave.h: some routines are now extern because they are called from log_event.cc sql/sql_class.cc: added slave_net sql/sql_class.h: added slave_net to THD MYSQL_LOG::write now handles generic Log_event sql/sql_load.cc: changes for new handling of LOAD DATA INFILE replication sql/sql_repl.cc: added log_loaded_block() callback for IO_CACHE sql/sql_repl.h: added structure to pass args to IO_CACHE callback from mysql_load
2001-08-03 23:57:53 +02:00
}
return 0;
}