- 18 Nov, 2003 1 commit
-
-
unknown authored
"CHANGE MASTER makes SQL thread restart from coordinates of I/O thread". So, in CHANGE MASTER: when it seems reasonable that the user did not want to discontinue its replication (i.e. when he is not specifying host or port or master_log_file or master_log_pos; this will be documented), set the coordinates of the I/O thread to those of the SQL thread. This way, the SQL thread will see no discontinuity in the relay log (i.e. will skip no events), because the I/O thread will fill the brand new relay log with the events which are just after the position where the SQL thread had stopped (before CHANGE MASTER was issued). And a new test for this bug. mysql-test/r/rpl_loaddata.result: Now, after CHANGE MASTER the coordinates of the I/O thread are the last ones of the SQL thread, so result update. sql/sql_repl.cc: Fix for BUG#1870 "CHANGE MASTER makes SQL thread restart from coordinates of I/O thread". So, in CHANGE MASTER: when it seems reasonable that the user did not want to discontinue its replication (i.e. when he is not specifying host or port or master_log_file or master_log_pos; this will be documented), set the coordinates of the I/O thread to those of the SQL thread. This way, the SQL thread will see no discontinuity in the relay log (i.e. will skip no events), because the I/O thread will fill the brand new relay log with the events which are just after the position where the SQL thread had stopped (before CHANGE MASTER was issued).
-
- 03 Nov, 2003 2 commits
-
-
unknown authored
into mysql.com:/home/mysql_src/mysql-4.0
-
unknown authored
rli->save_temporary_tables and slave_open_temp_tables (in old 4.0 you could make "SHOW STATUS LIKE 'slave_open_temp_tables'" grow indefinitely by doing RESET SLAVE and replicating always the same CREATE TEMPORARY TABLE). It's critical to reset save_temporary_tables to 0 (otherwise you may later read memory which has been freed) so this changeset should go into 4.1. mysql-test/r/rpl_reset_slave.result: result update mysql-test/t/rpl_reset_slave.test: test for RESET SLAVE and creating twice the same temp table in the slave. sql/slave.cc: when we delete the slave's temp tables (when slave server shuts down and when RESET SLAVE), we reset 2 variables: rli->save_temporary_tables & slave_open_temp_tables.
-
- 02 Nov, 2003 3 commits
-
-
unknown authored
-
unknown authored
into mysql.com:/my/mysql-4.0
-
unknown authored
Added my_sync() to mysys which will do fsync/fdatasync/_commit() on a file. VC++Files/mysys/mysys.dsp: Added my_sync.c configure.in: Added testing of fsync and fdatasync include/my_sys.h: Added my_sync() include/mysys_err.h: Added my_sync() isam/extra.c: Added my_sync() myisam/mi_extra.c: Added my_sync() myisam/mi_locking.c: Added my_sync() mysql-test/mysql-test-run.sh: Added option --valgrind-all mysys/Makefile.am: Added my_sync.c mysys/errors.c: Added my_sync() mysys/my_symlink.c: Removed compiler warning mysys/thr_alarm.c: Fix for link error on windows sql/unireg.cc: Call my_sync() after all data is written to .frm file BitKeeper/etc/logging_ok: Logging to logging@openlogging.org accepted
-
- 31 Oct, 2003 3 commits
-
-
unknown authored
- when we don't have in_addr_t, use uint32. - a forgotten initialization of slave_proxy_id in sql/log_event.cc (was not really "forgot", was "we needn't init it there", but there was one case where we needed...). - made slave_proxy_id always meaningful in THD and Log_event, so we can rely more on it (no need to test if it's meaningful). THD::slave_proxy_id is equal to THD::thread_id except for the slave SQL thread. - clean up the slave's temporary table (i.e. free their memory) when slave server shuts down. extra/resolveip.c: removed #define as it is simpler to put it in my_net.h (because we need the #define elsewhere) include/my_net.h: When in_addr_t is not defined, use uint32. libmysql/libmysql.c: using in_addr_t is more generic. libmysql/manager.c: using in_addr_t is more generic. mysql-test/t/rpl_chain_temp_table.test: comments sql/log_event.cc: * Had forgot to initialize slave_proxy_id in the event constructor (char* buf...). Initializing is in fact only needed for Create_file_log_event, because it uses slave_proxy_id even if it does not write an event to the binlog (it uses slave_proxy_id to write it to SQL-LOAD.info). * When we write events we now always write slave_proxy_id, which is now always meaningful (as thd->slave_proxy_id is now always meaningful, see change in sql_class.cc). sql/mini_client.cc: in_addr_t is more generic. sql/slave.cc: A RELAY_LOG_INFO method to free the slave's temporary tables from memory at slave's server shutdown. It is called by end_slave(), which is called by close_connections(), which is called when the server terminates (close_connections() is just before clean_up(); putting the call in clean_up() was buggy, as active_mi is already deleted by close_connections(). sql/slave.h: new method sql/sql_class.cc: By default we set THD::slave_proxy_id to THD::thread_id, so THD::slave_proxy_id is always meaningful (not 0). It's always the same as the thread id except for the slave SQL thread.
-
unknown authored
libmysqld/Makefile.am: minor fix for rm
-
unknown authored
of lock scope
-
- 30 Oct, 2003 6 commits
-
-
unknown authored
into mysql.com:/home/kostja/mysql/mysql-4.0-root
-
unknown authored
thd->proc_info added sql/sql_class.h: comments about thd->where and thd->proc_info added
-
unknown authored
into mysql.com:/home/mysql_src/mysql-4.0
-
unknown authored
mysql-test-run --manager --valgrind (without this fix, the manager fails to start mysqld and the tests hang). mysql-test/mysql-test-run.sh: When running with --manager: the MySQL manager wants the complete path of the executable (it uses execv(), not execvp(), so does not search in the $PATH, so telling him to start 'valgrind' is not enough, it wants '/usr/bin/valgrind' or so). So this is a fix to be able to mysql-test-run --manager --valgrind Plus a warning (previously, if valgrind was not installed, tests silently hanged when run with --valgrind).
-
unknown authored
into mysql.com:/home/kostja/mysql/mysql-4.0-root
-
unknown authored
BitKeeper/etc/logging_ok: Logging to logging@openlogging.org accepted
-
- 29 Oct, 2003 5 commits
-
-
unknown authored
-
unknown authored
Don't add service name to read config file segments if it's "MySQL" Fixed possible memory leak when CHANGE USER failed. include/mysql_com.h: Change back service name to MySQL (With new, better spelling) myisam/myisamchk.c: Improved --help sql/mysqld.cc: Don't add service name to read config file segments if it's "MySQL" sql/sql_parse.cc: Fixed possible memory leak when CHANGE USER failed.
-
unknown authored
"If 2 master threads with same-name temp table, slave makes bad binlog" and (two birds with one stone) for BUG#1240 "slave of slave breaks when STOP SLAVE was issud on parent slave and temp tables". Here is the design change: in a slave running with --log-slave-updates, events are now logged with the thread id they had on the master. So no more id conflicts between master threads, but introduces id conflicts between one master thread and one normal client thread connected to the slave. This is solved by storing the server id in the temp table's name. New test which requires mysql-test-run to be run with --manager, otherwise it will be skipped. Undoing a Monty's change (hum, a chill runs down my spine ;) which was "Cleanup temporary tables when slave ends" in ChangeSet 1.1572.1.1. mysql-test/mysql-test-run.sh: One new test which needs more than one slave so must be hardcoded in mysql-test-run.sh. sql/log_event.cc: The event needs to carry a slave_proxy_id (which is set at event's creation and used at event's logging). This is used for events created by ::exec_event() in the slave SQL thread: now we want to log these events with the thread id they had on the master. This is so that several same-name temp tables simultaneously created on the master end up with not the same thread id in the slave's binlog. sql/log_event.h: Query and Load need to carry a slave_proxy_id, like they carried a thread_id (to replicate temp tables well). sql/slave.cc: Do not free temp tables in the slave SQL thread. Or they will be lost when one does STOP SLAVE / START SLAVE. We even save them in rli->save_temporary_tables and set thd->temporary_tables=0 to prevent them to be freed. sql/sql_base.cc: Put the server id in the table cache key name for temp tables (we already put the slave_proxy_id, but we also need the server id in case normal clients (not slave threads) are using temp tables on the slave). sql/unireg.h: 4 more bytes, to store the server id.
-
unknown authored
into serg.mylan:/usr/home/serg/Abk/mysql-4.0
-
unknown authored
-
- 28 Oct, 2003 3 commits
-
-
unknown authored
into narttu.mysql.fi:/my/mysql-4.0
-
unknown authored
mysql --install mysql --defualts-file=path-to-file (Bug #1643) include/mysql_com.h: MySQL should install as default service "mysqld" sql/mysqld.cc: Fix for problem of installing MySQL as a service with mysql --install mysql --defualts-file=path-to-file
-
unknown authored
If innodb_force_recovery >= 5, do not try to fetch an old version of a clustered index record: this reduces crashes when dumping tables from a corrupt database innobase/row/row0sel.c: If innodb_force_recovery >= 5, do not try to fetch an old version of a clustered index record: this reduces crashes when dumping tables from a corrupt database
-
- 27 Oct, 2003 2 commits
- 25 Oct, 2003 4 commits
- 24 Oct, 2003 3 commits
- 23 Oct, 2003 4 commits
-
-
unknown authored
into mysql.com:/home/pem/work/mysql-4.0
-
unknown authored
-
unknown authored
-
unknown authored
BitKeeper/etc/logging_ok: auto-union sql/mini_client.cc: Auto merged client/mysqlbinlog.cc: use local file mysql-test/t/myisam.test: Remove uncessesary drop table sql/sql_parse.cc: Use local sql/sql_repl.cc: use local
-
- 22 Oct, 2003 4 commits