An error occurred fetching the project authors.
- 29 Jul, 2005 1 commit
-
-
unknown authored
sql/slave.cc: bug 10780 sql/slave.h: bug 10780 mysql-test/r/rpl_slave_status.result: New BitKeeper file ``mysql-test/r/rpl_slave_status.result''
-
- 23 Mar, 2005 1 commit
-
-
unknown authored
"After Monty's review" changes to the fix for BUG#8325 "Deadlock in replication thread stops replication": s/sleep/safe_sleep (thread safe); sleep 0/1/2/3/4/5/5/5 (get slave less late); no message on error log (deadlock is too common sometimes), a global counter instead (SHOW STATUS LIKE 'slave_retried_transactions'). Plus a fix for libmysql/Makefile.shared libmysql/Makefile.shared: When we "make clean" in libmysql/ we remove the symlinks there, so we need to mark that they have to be recreated later: this is done by removing ../linked_libmysql_sources. If we don't do this, 'make' will fail after 'cd libmysql;make clean'. This Makefile.shared is used by libmysql_r too. No reason to remove linked_client_sources as we don't remove the links in client/. mysql-test/r/rpl_deadlock.result: result fix mysql-test/t/rpl_deadlock.test: small test addition sql/mysqld.cc: if active_mi could not be alloced, die. New SHOW STATUS LIKE "slave_retried_transactions". sql/slave.cc: If slave retries automatically a transaction, no message on error log (too common situation); sleep 0 secs at first retry, then 1, 2, 3, 4, 5, 5, 5... Sleeping 0 is to get the least possible late, as deadlocks are usually resolved at first try. New global counter rli->retried_trans (for SHOW STATUS: total number of times the slave had to retry any transaction). safe_sleep() is thread-safe, sleep() was not. I change the rli->trans_retries counter to go from 0 to max instead of the other way (better for new sleep()). sql/slave.h: new global counter rli->retried_trans sql/sql_show.cc: SHOW STATUS LIKE "slave_retried_transactions"; needs replication mutexes. Can't be a simple SHOW_LONG, because active_mi is unset (not alloced yet) when the static global status_vars is created (active_mi is set in init_slave()). sql/structs.h: new SHOW_SLAVE_RETRIED_TRANS BitKeeper/etc/logging_ok: Logging to logging@openlogging.org accepted
-
- 02 Mar, 2005 1 commit
-
-
unknown authored
in slave SQL thread: if a transaction fails because of InnoDB deadlock or innodb_lock_wait_timeout exceeded, optionally retry the transaction a certain number of times (new variable --slave_transaction_retries). sql/mysql_priv.h: new var slave_transaction_retries sql/mysqld.cc: new variable slave_transaction_retries. Plus fixing a typo. sql/set_var.cc: new global variable slave_transaction_retries (will be one per subslave, when we have multimaster). sql/slave.cc: Slave SQL thread: if a transaction fails because of InnoDB deadlock or innodb_lock_wait_timeout exceeded, optionally retry the transaction a certain number of times (--slave_transaction_retries). sql/slave.h: new RELAY_LOG_INFO::trans_retries.
-
- 16 Dec, 2004 1 commit
-
-
unknown authored
because old behaviour was somewhat nonsensical (kind of bug). Changes are that if repl threads are down or disconnected the column will be NULL, and if master is idle the column will not grow indefinitely anymore. sql/slave.cc: mi->slave_running and rli->slave_running now uints (was needed only for mi but because of start_slave_thread() usage, had to change both). So mi->slave_running can now take 3 values: not running, running & not connected, running and connected. The last value serves for calculation of Seconds_Behind_Master in SHOW SLAVE STATUS. Changing this column's behaviour: if SQL or I/O thread is not running, or if I/O thread is not connected (for example if it is reconnecting), it's NULL (to mean "unknown"). And if master is idle, the column will not grow indefinitely like it used to (that was meaningless); this is fixed by forcing a value of 0 when the slave SQL thread has hit EOF of relay log (which has only a limited number of caveats explained in comments in code). sql/slave.h: slave_running used to be bool but we need to distinguish, for the I/O slave thread, between "running & connected" and "running & not connected" ("running" means the thread exists). sql/sql_repl.cc: we don't need anymore to set rli->last_master_timestamp to 0 (we used that to make Seconds_Behind_Master be NULL) in RESET SLAVE and CHANGE MASTER, as these commands imply that slave threads are not running and so Seconds_Behind_Master is already NULL because of that.
-
- 03 Dec, 2004 1 commit
-
-
unknown authored
1 if the return type is int or int_fast8_t. The test case that showed this problem is rpl000001 and the tested version was MySQL 5.0.2. The compiler with the problem is GCC 3.0.4 runing on "Linux bitch 2.4.18 #2 Thu Apr 11 14:37:17 EDT 2002 sparc64 unknown". By changing the return type to bool the problem disappear. (Another way to make the problem disappear is to simply print the returned value with printf("%d",?). The printed returned value is always 0 in the test cases I have run.) This is only a partial solution to the problem, since someone could later change the return type of the function back to int or some other type that does not work. sql/slave.cc: Changed type sql/slave.h: Changed type
-
- 25 Nov, 2004 1 commit
-
-
unknown authored
slave SQL thread is started. sql/slave.cc: Adding threads to init as parameter to init_master_info. Only rewind read position when starting SQL thread. sql/slave.h: Adding threads to init as parameter to init_master_info. Only rewind read position when starting SQL thread. sql/sql_repl.cc: Adding threads to init as parameter to init_master_info. Only rewind read position when starting SQL thread. sql/repl_failsafe.cc: Adding threads to init as parameter to init_master_info. Only rewind read position when starting SQL thread.
-
- 17 Nov, 2004 1 commit
-
-
unknown authored
Moving the part of user_var.test using UCS2 to ctype_ucs.test mysql-test/r/ctype_ucs.result: result update mysql-test/r/user_var.result: result update mysql-test/t/ctype_ucs.test: importing test piece from user_var.test mysql-test/t/user_var.test: using UCS2 in this test fails on non-USC2-capable binaries, so let's move this piece to ctype_ucs.test. sql/slave.cc: changing arg type to uint32* (as what is used in this arg is &thd->db_length which is uint32*) sql/slave.h: changing arg type to uint32* sql/sql_parse.cc: changing arg types to uint32, as what is used in these args is a create_field::length which is uint32.
-
- 19 Oct, 2004 1 commit
-
-
unknown authored
as we already have db_len in Log_event. Only if rewrite_db() changed the db we need a strlen (so we now do the strlen() in rewrite_db). Plus a test (we had none for --replicate-rewrite-db :( ). sql/log_event.cc: The goal is to get of rid of one strlen() per replication event in slave: we don't need to compute strlen(thd->db) as we already have db_len in the event; only case where we need to do a strlen() is if rewrite_db() changed the db. Note that db_len is always a meaningful value. It's 0 if event's db is 0. sql/slave.cc: rewrite_db now returns the len of the returned db. print_slave_db_safe() needn't call rewrite_db() as rewrite_db() is already called by caller. sql/slave.h: declaration updates for slave.cc
-
- 09 Sep, 2004 1 commit
-
-
unknown authored
sql/repl_failsafe.cc: Removed reference to old maintainer. sql/repl_failsafe.h: Added license header. sql/slave.h: Added license header. sql/sql_repl.cc: Removed old maintainer. sql/sql_repl.h: Added license header BitKeeper/etc/logging_ok: Logging to logging@openlogging.org accepted
-
- 28 Apr, 2004 1 commit
-
-
unknown authored
(WL#794). This can be of interest in some recovery-from-backup scenarios, and also when you have two databases in one mysqld, having a certain similarity and you want one db to be updated when the other is (some sort of trigger). Plus small fix for BUG#3568 "MySQL server crashes when built --with-debug and CHANGE MASTER +MASTER_POS_WAIT" sql/mysqld.cc: new option --replicate-same-server-id sql/slave.cc: new option replicate_same_server_id, to force a slave to execute its own queries. Small fix for BUG#3568 "MySQL server crashes when built --with-debug and CHANGE MASTER +MASTER_POS_WAIT" sql/slave.h: new option --replicate-same-server-id
-
- 27 Apr, 2004 1 commit
-
-
unknown authored
Changed 'SHOW FIELD STATUS' to use 'Engine' instead of 'Type' client/client_priv.h: Added option 'create_options' for mysqldump client/mysqldump.c: Changed '--all' to '--create-options' as the old name was meaningless innobase/buf/buf0buf.c: After merge fixes innobase/buf/buf0lru.c: After merge fixes innobase/buf/buf0rea.c: After merge fixes innobase/dict/dict0load.c: After merge fixes innobase/fil/fil0fil.c: After merge fixes innobase/ibuf/ibuf0ibuf.c: After merge fixes innobase/include/fil0fil.h: After merge fixes innobase/include/row0mysql.h: After merge fixes innobase/include/ut0mem.h: After merge fixes innobase/log/log0recv.c: After merge fixes innobase/row/row0mysql.c: After merge fixes innobase/row/row0sel.c: After merge fixes innobase/srv/srv0start.c: After merge fixes innobase/sync/sync0rw.c: After merge fixes innobase/sync/sync0sync.c: After merge fixes myisam/ft_boolean_search.c: After merge fixes myisam/ft_nlq_search.c: After merge fixes mysql-test/r/mysqldump.result: After merge fixes mysql-test/t/mysqldump.test: Make result file smaller Some new tests sql/ha_innodb.cc: After merge fixes sql/set_var.cc: Removed compiler warning sql/slave.cc: After merge fixes sql/slave.h: After merge fixes sql/sql_show.cc: Type -> Engine
-
- 06 Apr, 2004 1 commit
-
-
unknown authored
too big by 6 bytes. So I add code to substract 6 bytes if the master is 3.23. This is not perfect (because it won't work if the slave I/O thread has not noticed yet that the master is 3.23), but as long as the slave I/O thread starts Exec_master_log_pos will be ok. It must be merged to 4.1 but not to 5.0 (or it can be, because of #if MYSQL_VERSION_ID), because 5.0 already works if the master is 3.23 (and in a more natural way: in 5.0 we store the end_log_pos in the binlog and relay log). I had to move functions from slave.h to slave.cc to satisfy gcc. sql/log_event.cc: make the event's length 6 bytes shorter if the master is 3.23 sql/slave.cc: Moving several st_relay_log_info methods out of the declaration of the struct, because gcc complained that 'mi' was not declared. Substracting 6 bytes from the event's length in inc_pos() if the master is 3.23. sql/slave.h: moving several methods out of the declaration of st_relay_log_info. Removing 'inline', let's have the compiler decide.
-
- 17 Mar, 2004 1 commit
-
-
unknown authored
-
- 11 Mar, 2004 1 commit
-
-
unknown authored
re-using unused LOCK_active_mi to serialize all administrative commands related to replication: START SLAVE, STOP SLAVE, RESET SLAVE, CHANGE MASTER, init_slave() (replication autostart at server startup), end_slave() (replication autostop at server shutdown), LOAD DATA FROM MASTER. This protects us against a handful of deadlocks (like BUG#2921 when two START SLAVE, but when two STOP SLAVE too). Removing unused variables. sql/item_func.cc: We don't need LOCK_active_mi just to MASTER_POS_WAIT(). sql/repl_failsafe.cc: no need for macro sql/set_var.cc: no need for macro sql/slave.cc: Re-using unused LOCK_active_mi to serialize all administrative commands related to replication: START SLAVE, STOP SLAVE, RESET SLAVE, CHANGE MASTER, init_slave() (replication autostart at server startup), end_slave() (replication autostop at server shutdown), LOAD DATA FROM MASTER. This protects us against a handful of deadlocks. Removing unused variables. sql/slave.h: Re-using LOCK_active_mi to serialize administrative replication commands. Macros unneeded. Removing unneeded variables. sql/sql_parse.cc: found unused variable. Replacing macros. sql/sql_show.cc: replacing macros
-
- 10 Mar, 2004 3 commits
-
-
unknown authored
ChangeSet 1.1620.12.1 and ChangeSet 1.1625.2.1 from 4.1. This makes the slave I/O thread flush the relay log after every event, which provides additional safety in case of brutal crash (reduces chances to lose a part of the relay log). sql/repl_failsafe.cc: update for new prototype sql/slave.cc: The slave I/O thread now flushes the relay log after writing every event to it, like we already do in 4.1. sql/slave.h: new prototype sql/sql_repl.cc: update for new prototype
-
unknown authored
- the one about BUG#2921 - the one about relay log flushing Both will be rewritten in a next changeset (this one will not be pushed before the next changeset). sql/log.cc: undo sql/log_event.cc: undo sql/repl_failsafe.cc: undo sql/slave.cc: undo sql/slave.h: undo sql/sql_repl.cc: undo
-
unknown authored
BUILD/compile-pentium-debug-max: Added --with-raid configure.in: Removed -DFN_NO_CASE_SENCE for Mac OS X as this is not always true mysql-test/install_test_db.sh: Added --skip-warnings mysql-test/mysql-test-run.sh: Fixes to get --gdb and --ddd to work mysql-test/r/lowercase_table2.result: Test for lower_case_table_names=2 and temporary tables mysql-test/r/lowercase_table3.result: Fixed error message mysql-test/r/multi_update.result: Test of behaviour of multi-table-delete and alias mysql-test/t/lowercase_table2.test: Test for lower_case_table_names=2 and temporary tables mysql-test/t/lowercase_table3.test: Fixed error mysql-test/t/multi_update.test: Test of behaviour of multi-table-delete and alias (Bug #2940) mysys/mf_iocache.c: Renamed _flush_io_cache to my_b_flush_io_cache sql/ha_myisam.cc: Added comment sql/lock.cc: Extra debugging sql/log.cc: New parameter to flush_relay_log_info sql/log_event.cc: New parameter to flush_relay_log_info sql/mf_iocache.cc: Removed not used header files sql/mysqld.cc: More debugging info Less warnings when run with --skip-warnings sql/opt_range.cc: More debug information sql/repl_failsafe.cc: New parameter to flush_relay_log_info sql/slave.cc: First start SQL thread, then start IO thread. This fixed a raze condition in SLAVE START (Bug #2921) Ensure that we have a lock on the IO thread before flushing a relay log file that. The original code could core dump when a relay log rotated. sql/slave.h: New parameter to flush_relay_log_info sql/sql_base.cc: Added warning sql/sql_handler.cc: Indentation fix sql/sql_repl.cc: New parameter to flush_relay_log_info sql/sql_select.cc: Fixed problem with deleting temporary tables when using lower_case_table_names=2. (Bug #2858) sql/sql_table.cc: Fixed comment sql/sql_yacc.yy: Removed compiler warning include/my_sys.h: Fixed usage of unpack_filename mysys/mf_pack.c: Changed unpack_filename() to return length of result string. mysys/test_fn.c: Fixed usage of unpack_filename sql/sql_db.cc: Fixed memory leak with raid tables sql/table.cc: Fixed usage of unpack_filename
-
- 01 Mar, 2004 1 commit
-
-
unknown authored
"(binlog, position) stored by InnoDB for a replication slave can be wrong". This code contains conditional #if to distinguish between versions; it should be merged into 4.1 and 5.0. sql/ha_innodb.cc: correcting the binlog position stored in InnoDB in a slave. sql/log_event.cc: better code to store the binlog position in InnoDB for a slave. sql/slave.h: Better code for storing the binlog position in InnoDB for a slave.
-
- 26 Dec, 2003 1 commit
-
-
unknown authored
Portability fixes mysql-test/r/rpl_until.result: Portability fix mysql-test/t/rpl_until.test: Portability fix sql/slave.cc: Write UNTIL position to logs (for debugging) sql/slave.h: Write UNTIL position to logs (for debugging) sql/sql_acl.cc: Fixed bug in table level privilege GRANT handling. (Bug #2178)
-
- 23 Nov, 2003 1 commit
-
-
unknown authored
Now the I/O thread (in flush_master_info()) flushes the relay log to disk after reading every event. Slower but provides additionnal safety in case of brutal crash. I had to make the flush optional (i.e. add a if(some_bool_argument) in the function) because sometimes flush_master_info() is called when there is no usable relay log (the relay log's IO_CACHE is not initialized so can't be flushed). mysql-test/r/rpl_loaddata_rule_m.result: avoid a harmless error in the .err file; we don't need a slave in this test (even though it's called 'rpl' because it's testing binlog-ignore-db). mysql-test/t/rpl_loaddata_rule_m.test: result update sql/repl_failsafe.cc: update call to flush_master_info() according to new prototype. sql/slave.cc: - Now the I/O thread (in flush_master_info()) flushes the relay log to disk after reading every event. Slower but provides additionnal safety in case of brutal crash. I had to make the flush optional (i.e. add a if(some_bool_argument) in the function) because sometimes flush_master_info() is called when there is no usable relay log (the relay log's IO_CACHE is not initialized so can't be flushed). - Update version in message. - Remove warning about bug as it's not true anymore (since this changeset). sql/slave.h: new prototype sql/sql_repl.cc: update call to flush_master_info() according to new prototype.
-
- 02 Nov, 2003 1 commit
-
-
unknown authored
-
- 31 Oct, 2003 1 commit
-
-
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.
-
- 08 Oct, 2003 1 commit
-
-
unknown authored
"Add a column "Timestamp_of_last_master_event_executed" in SHOW SLAVE STATUS". Finally this is adding - Slave_IO_State (a copy of the State column of SHOW PROCESSLIST for the I/O thread, so that the users, most of the time, has enough info with only SHOW SLAVE STATUS). - Seconds_behind_master. When the slave connects to the master it does SELECT UNIX_TIMESTAMP() on the master, computes the absolute difference between the master's and the slave's clock. It records the timestamp of the last event executed by the SQL thread, and does a small computation to find the number of seconds by which the slave is late. mysql-test/r/rpl000015.result: result update mysql-test/r/rpl_empty_master_crash.result: result update mysql-test/r/rpl_error_ignored_table.result: result update mysql-test/r/rpl_flush_log_loop.result: result update mysql-test/r/rpl_loaddata.result: result update mysql-test/r/rpl_log.result: result update mysql-test/r/rpl_log_pos.result: result update mysql-test/r/rpl_max_relay_size.result: result update mysql-test/r/rpl_redirect.result: result update mysql-test/r/rpl_replicate_do.result: result update mysql-test/r/rpl_reset_slave.result: result update mysql-test/r/rpl_rotate_logs.result: result update mysql-test/r/rpl_trunc_binlog.result: result update mysql-test/r/rpl_until.result: result update mysql-test/t/rpl000015.test: update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS mysql-test/t/rpl_empty_master_crash.test: update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS mysql-test/t/rpl_error_ignored_table.test: update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS mysql-test/t/rpl_flush_log_loop.test: update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS mysql-test/t/rpl_loaddata.test: update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS mysql-test/t/rpl_log.test: update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS mysql-test/t/rpl_log_pos.test: update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS mysql-test/t/rpl_max_relay_size.test: update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS mysql-test/t/rpl_openssl.test: update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS mysql-test/t/rpl_redirect.test: update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS mysql-test/t/rpl_replicate_do.test: update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS mysql-test/t/rpl_reset_slave.test: update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS mysql-test/t/rpl_rotate_logs.test: update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS mysql-test/t/rpl_trunc_binlog.test: update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS mysql-test/t/rpl_until.test: update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS sql/log_event.cc: when the SQL thread executes an event, we record its timestamp sql/slave.cc: in check_master_version() we know read the master's clock, to know the clock difference with the slave. In show_master_info() we send the state of the I/O thread, and compute the number of seconds by which the slave is late. sql/slave.h: timestamp of the last master's event executed by the SQL thread, and difference between the clocks of the master and slave. sql/sql_repl.cc: clear the Seconds_behind_master column of SHOW SLAVE STATUS when RESET SLAVE or CHANGE MASTER.
-
- 02 Oct, 2003 1 commit
-
-
unknown authored
sql/slave.h: Reverting changeset 1.1590.
-
- 01 Oct, 2003 1 commit
-
-
unknown authored
and a comment to explain why. sql/slave.h: Declaring ignore_log_space_limit volatile, and a comment to explain why.
-
- 13 Sep, 2003 1 commit
-
-
unknown authored
include/mysqld_error.h: Added error codes for warnings and error messages for START SLAVE UNTIL mysql-test/r/rpl000015.result: Fixed test because 3 new columns to SHOW SLAVE STATUS output were added mysql-test/r/rpl_empty_master_crash.result: Fixed test because 3 new columns to SHOW SLAVE STATUS output were added mysql-test/r/rpl_flush_log_loop.result: Fixed test because 3 new columns to SHOW SLAVE STATUS output were added mysql-test/r/rpl_log.result: Fixed test because 3 new columns to SHOW SLAVE STATUS output were added mysql-test/r/rpl_log_pos.result: Fixed test because 3 new columns to SHOW SLAVE STATUS output were added mysql-test/r/rpl_redirect.result: Fixed test because 3 new columns to SHOW SLAVE STATUS output were added mysql-test/r/rpl_replicate_do.result: Fixed test because 3 new columns to SHOW SLAVE STATUS output were added mysql-test/r/rpl_rotate_logs.result: Fixed test because 3 new columns to SHOW SLAVE STATUS output were added sql/lex.h: Added UNTIL symbol sql/log.cc: Invalidating until_log_name comparison result if group_relay_log_name is changed sql/log_event.cc: Invalidating until_log_name comparison result if group_master_log_name is changed sql/repl_failsafe.cc: Cancel until condition if LOAD MASTER DATA is executed sql/share/czech/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/danish/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/dutch/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/english/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/estonian/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/french/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/german/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/greek/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/hungarian/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/italian/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/japanese/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/korean/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/norwegian-ny/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/norwegian/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/polish/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/portuguese/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/romanian/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/russian/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/serbian/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/slovak/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/spanish/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/swedish/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/share/ukrainian/errmsg.txt: Added error and warning message for START SLAVE UNTIL sql/slave.cc: Fixed wrong locking order in init_relay_log_pos() Added until condition fields to SHOW SLAVE STATUS Added checking if UNTIL condition is reached (added proper method, added its invocation, reorganized locking in exec_relay_log_event() and next_event()) sql/slave.h: Members in RELAY_LOG_INFO for storing UNTIL condition. Also methods for for invalidation of cached UNTIL condition comparison results sql/sql_repl.cc: Now honoring UNTIL clause then starting slave thread. Proper errors and warnings. sql/sql_yacc.yy: Added support for UNTIL clause in START SLAVE. This involved extraction of some of master_defs to separate master_file_def non-terminal.
-
- 11 Sep, 2003 1 commit
-
-
unknown authored
Now LOAD DATA FROM MASTER does not drop the database, instead it only tries to create it, and drops/creates table-by-table. * replicate_wild_ignore_table='db1.%' is now considered as "ignore the 'db1' database as a whole", as it already works for CREATE DATABASE and DROP DATABASE. mysql-test/r/rpl000009.result: result update mysql-test/t/rpl000009.test: test that LOAD DATA FROM MASTER does not drop databases, but rather table by table, thus preserving non-replicated tables. Test that LOAD DATA FROM MASTER reports the error when a table could not be dropped (system's "permission denied" for example). Test that LOAD TABLE FROM MASTER reports the error when the table already exists. sql/repl_failsafe.cc: * replicate_wild_ignore_table='db1.%' is now considered as "ignore the 'db1' database as a whole", as it already works for CREATE DATABASE and DROP DATABASE. * If a db matches replicate_*_db rules, we don't drop/recreate it because this could drop some tables in this db which could be slave-specific. Instead, we do a CREATE DATABASE IF EXISTS, and we will drop each table which has an equivalent on the master, table-by-table. sql/slave.cc: New argument to drop the table in create_table_from_dump() (LOAD TABLE/DATA FROM MASTER are the only places where this function is used). This is needed because LOAD DATA FROM MASTER does not drop the database anymore. The behaviour when the table exists is unchanged: LOAD DATA silently replaces the table, LOAD TABLE gives error. sql/slave.h: new argument to drop the table in fetch_master_table sql/sql_parse.cc: do not drop the table in LOAD TABLE FROM MASTER (this behaviour is already true; but changes in LOAD DATA FROM MASTER made the argument needed).
-
- 01 Sep, 2003 1 commit
-
-
unknown authored
Added proper options to CHANGE MASTER TO, new fields to SHOW SLAVE STATUS, Honoring this parameters during connection to master. Introduced new format of master.info file include/mysqld_error.h: Added error code for "slave without SSL ignored SSL params warning" mysql-test/Makefile.am: Copy files required for rpl_openssl test during the make process mysql-test/r/rpl000015.result: Added fields to SHOW SLAVE STATUS for replication over SSL mysql-test/r/rpl_empty_master_crash.result: Added fields to SHOW SLAVE STATUS for replication over SSL mysql-test/r/rpl_flush_log_loop.result: Added fields to SHOW SLAVE STATUS for replication over SSL mysql-test/r/rpl_log.result: Added fields to SHOW SLAVE STATUS for replication over SSL mysql-test/r/rpl_log_pos.result: Added fields to SHOW SLAVE STATUS for replication over SSL mysql-test/r/rpl_redirect.result: Added fields to SHOW SLAVE STATUS for replication over SSL mysql-test/r/rpl_replicate_do.result: Added fields to SHOW SLAVE STATUS for replication over SSL mysql-test/r/rpl_rotate_logs.result: Added fields to SHOW SLAVE STATUS for replication over SSL sql/lex.h: Added MASTER_SSL lexems for CHANGE MASTER sql/mysqld.cc: Added --master-ssl-ca parameter. Fixed description of other master-ssl parameters sql/repl_failsafe.cc: Added SSL support to connect_to_master() sql/share/czech/errmsg.txt: Added "slave without SSL ignored SSL params" warning sql/share/danish/errmsg.txt: Added "slave without SSL ignored SSL params" warning sql/share/dutch/errmsg.txt: Added "slave without SSL ignored SSL params" warning sql/share/english/errmsg.txt: Added "slave without SSL ignored SSL params" warning sql/share/estonian/errmsg.txt: Added "slave without SSL ignored SSL params" warning sql/share/french/errmsg.txt: Added "slave without SSL ignored SSL params" warning sql/share/german/errmsg.txt: Added "slave without SSL ignored SSL params" warning sql/share/greek/errmsg.txt: Added "slave without SSL ignored SSL params" warning sql/share/hungarian/errmsg.txt: Added "slave without SSL ignored SSL params" warning sql/share/italian/errmsg.txt: Added "slave without SSL ignored SSL params" warning sql/share/japanese/errmsg.txt: Added "slave without SSL ignored SSL params" warning sql/share/korean/errmsg.txt: Added "slave without SSL ignored SSL params" warning sql/share/norwegian-ny/errmsg.txt: Added "slave without SSL ignored SSL params" warning sql/share/norwegian/errmsg.txt: Added "slave without SSL ignored SSL params" warning sql/share/polish/errmsg.txt: Added "slave without SSL ignored SSL params" warning sql/share/portuguese/errmsg.txt: Added "slave without SSL ignored SSL params" warning sql/share/romanian/errmsg.txt: Added "slave without SSL ignored SSL params" warning sql/share/russian/errmsg.txt: Added "slave without SSL ignored SSL params" warning sql/share/serbian/errmsg.txt: Added "slave without SSL ignored SSL params" warning sql/share/slovak/errmsg.txt: Added "slave without SSL ignored SSL params" warning sql/share/spanish/errmsg.txt: Added "slave without SSL ignored SSL params" warning sql/share/swedish/errmsg.txt: Added "slave without SSL ignored SSL params" warning sql/share/ukrainian/errmsg.txt: Added "slave without SSL ignored SSL params" warning sql/slave.cc: Introduced new format of master.info file Added support of SSL params in master.info and SHOW SLAVE STATUS Added support of SSL connections sql/slave.h: Added SSL parameters to MASTER_INFO sql/sql_lex.h: Added SSL parameters for CHANGE MASTER TO sql/sql_repl.cc: Added SSL parameters for CHANGE MASTER TO sql/sql_yacc.yy: Added SSL parameters for CHANGE MASTER TO
-
- 25 Aug, 2003 1 commit
-
-
unknown authored
Don't start the SQL slave thread with SQL_BIG_SELECTS; it's better to inhibate max_join_size instead. sql/slave.cc: OPTION_BIG_SELECTS does more than ignoring max_join_size (talks to the optimiser), just ignore max_join_size. sql/slave.h: comments
-
- 07 Aug, 2003 1 commit
-
-
unknown authored
(Mostly code cleanups) include/my_sys.h: Removed not used define myisam/mi_check.c: Indentation change mysql-test/t/rpl_insert_id.test: Add test if server supports innodb mysys/mf_format.c: Remove QUOTE handling from fn_format() (fn_format() should not have anything to do with quoting things) sql/log_event.cc: Removed some unnecessary casts (by changing functions to use const char *) Cleaned up some error messages to make them shorter and (hopefully) more readable. Fixed wrong format strings Restored 'thd->options' on error. sql/mini_client.cc: Changed order of include files to remove compilation warning sql/mysqld.cc: Add proper quoting of service arguments (don't use fn_format) sql/slave.cc: Simple optimization and cleanup. Changed rewrite_db() and print_slave_db_safe() to use const char* to avoid casting of arguments when calling functions. Cleanup of some error messages. sql/slave.h: Changed protypes to use const char * sql/sql_acl.cc: Simple optimization vio/viosslfactories.c: Changed order of include files to remove compilation warning
-
- 04 Aug, 2003 1 commit
-
-
unknown authored
- Bug #985: "Between RESET SLAVE and START SLAVE, SHOW SLAVE STATUS is wrong." Now RESET SLAVE puts correct info in mi->host etc. A new test rpl_reset_slave for that. - Bug #986: "CHANGE MASTER & START SLAVE do not reset error columns in SHOW SLAVE STATUS". Now these reset the errors. mysql-test/r/rpl_loaddata.result: result update. mysql-test/t/rpl_loaddata.test: Test that RESET SLAVE, START SLAVE and CHANGE MASTER all reset Last_slave_error and Last_slave_errno (columns of SHOW SLAVE STATUS). We do it in this test because that's one of tests which have an intentional query error on the slave. sql/slave.cc: As we need TWICE the code to copy command-line options (--master-host etc) to mi (we already had it in init_master_info, but we also need it in RESET SLAVE to fix bug#985), I make a function of this code. And a function to reset Last_slave_error and Last_slave_errno (we need it in CHANGE MASTER, RESET SLAVE, and at the start of the SQL thread). sql/slave.h: declarations for new functions. sql/sql_repl.cc: copy --master-host etc to mi in RESET SLAVE, so that SHOW SLAVE STATUS shows correct information.
-
- 24 Jul, 2003 1 commit
-
-
unknown authored
I extended the task to cleaning error messages, making them look nicer, and making the output of SHOW SLAVE STATUS (column Last_error) be as complete as what's printed on the .err file; previously we would have, for a failure of a replicated LOAD DATA INFILE: - in the .err, 2 lines: "duplicate entry 2708 for key 1" "failed loading SQL_LOAD-5-2-2.info" - and in SHOW SLAVE STATUS, only: "failed loading SQL_LOAD-5-2-2.info". Now SHOW SLAVE STATUS will contain the concatenation of the 2 messages. sql/log_event.cc: Print the default database when replication stops because of an error. Previously, we had: "error "Duplicate entry 87987 for key 1", query 'insert into t values(87987)'", ie the db was not mentioned, making it hard for cases where the same table name is used in several databases. Lengthened some error messages (for failing replication of LOAD DATA: mention the table and the db). Changes so that SHOW SLAVE STATUS reports as complete errors as the .err file. sql/slave.cc: Removed a useless declaration (the rewrite_db() function is already declared in slave.h). Added missing ')' in error messages. Tried to make error messages look nicer (previously we had "do START SLAVE;, error_code=1062" now we'll have "do START SLAVE; . Error_code=1062". This form has been discussed, I agree it's no panacea, but it's still more readable like this. To be improved in the future :) sql/slave.h: declarations.
-
- 23 Jul, 2003 1 commit
-
-
unknown authored
and other replicate-*-table options in SHOW SLAVE STATUS. Seems like it had not been done, so I push it now: there's 4 new columns to SHOW SLAVE STATUS. mysql-test/r/rpl000015.result: Result update (more columns) mysql-test/r/rpl_empty_master_crash.result: Result update (more columns) mysql-test/r/rpl_flush_log_loop.result: Result update (more columns) mysql-test/r/rpl_log.result: Result update (more columns) mysql-test/r/rpl_log_pos.result: Result update (more columns) mysql-test/r/rpl_redirect.result: Result update (more columns) mysql-test/r/rpl_replicate_do.result: Result update (more columns) mysql-test/r/rpl_rotate_logs.result: Result update (more columns) mysql-test/t/rpl_replicate_do.test: Result update (more columns) sql/slave.cc: Print replicate_*_table options in SHOW SLAVE STATUS sql/slave.h: two functions to make a string of replicate_*_table lists.
-
- 06 Jul, 2003 1 commit
-
-
unknown authored
FLUSH LOGS now rotates relay logs, and a new variable max_relay_log_size. Plus a very small bit of code cleaning. libmysqld/lib_sql.cc: open_log has no default arguments anymore. mysql-test/r/rpl_flush_log_loop.result: result update now that FLUSH LOGS rotates relay logs. mysql-test/r/rpl_log.result: result update now that FLUSH LOGS rotates relay logs. mysql-test/r/rpl_rotate_logs.result: result update now that max_binlog_size is 4096. mysql-test/t/rpl_rotate_logs-master.opt: now max_binlog_size must be a multiple of 4096 (see change in mysqld.cc) sql/log.cc: Got rid of default arguments of various MYSQL_LOG methods (the default arguments made code reading uneasy). Set max_size in ::init(). New function set_max_size() to set max_size of a MYSQL_LOG on-the-fly. More DBUG info. sql/mysql_priv.h: no defaults in open_log(). New variables max_relay_log_size. sql/mysqld.cc: New variable and option max_relay_log_size. max_binlog_size and max_relay_log_size are multiples of IO_SIZE. No more default arguments for log functions. sql/set_var.cc: New variable max_relay_log_size. If it is 0, then max_binlog_size will apply to relay logs. When one of these variables is changed, fix_max_%log_size is called to update max_size of the binary and/or relay logs. sql/slave.cc: New function rotate_relay_log(). sql/slave.h: New function rotate_relay_log(). sql/sql_class.h: New member max_size of MYSQL_LOG (for automatic rotation). New method set_max_size() for setting on-the-fly. sql/sql_parse.cc: Flush the relay log in FLUSH LOGS.
-
- 04 Jul, 2003 1 commit
-
-
unknown authored
Added MAX_PASSWORD_LENGTH. This increased master-slave passwords to 32 bytes (Bug #766) Fixed server crash on purge master logs or show master logs when binlog is off. (Bug #733) client/mysql.cc: status query on killed mysql connection results in segmentation fault (Bug #738) configure.in: Portability fix for Unixware include/my_global.h: Removed wrong patch from previous changeset sql/mysql_priv.h: Added MAX_PASSWORD_LENGTH. This increased master-slave passwords to 32 bytes sql/slave.h: Optimized structure sql/sql_repl.cc: Memory overrun safety fixes (not critical) Fixed server crash on purge master logs or show master logs when binlog is off. (Bug #733) sql/sql_repl.h: Fixed to use right define strings/strmake.c: Fixed comment
-
- 02 Jul, 2003 1 commit
-
-
unknown authored
(Needed for platforms with the traditional bzero prototype.) Fixes BUG#460.
-
- 01 Jul, 2003 1 commit
-
-
unknown authored
First version of new authentification procedure: now authentification is one-stage (instead of two-stage in 4.1) For now following tasks have been done: - PASSWORD() function was rewritten. PASSWORD() now returns SHA1 hash_stage2; for new passwords user.password contains '*'hash_stage2; sql_yacc.yy also fixed; - password.c: new functions were implemented, old rolled back to 4.0 state - server code was rewritten to use new authorization algorithm (check_user(), change user, and other stuff in sql/sql_parse.cc) - client code was rewritten to use new authorization algorithm (mysql_real_connect, myslq_authenticate in sql-common/client.c) - now server barks on 45-byte-length 4.1.0 passwords and refuses 4.1.0-style authentification. Users with 4.1.0 passwords are blocked (sql/sql_acl.cc) - mysqladmin.c was fixed to work correctly with new passwords Tests for 4.0-4.1.1, 4.1.1-4.1.1 (with or without db/password) logons was performed; mysqladmin also was tested. Additional check are nevertheless necessary. BitKeeper/etc/ignore: Added start_mysqld.sh mysys/main.cc to the ignore list client/mysqladmin.c: fixed with new password api include/mysql.h: So as scramble_323 accepts only null-terminated message, two scramble buffs are necessary. gotta be fixed include/mysql_com.h: new constants and password.c api changes libmysql/libmysql.c: mysql_change_user rewritten to work with new password api scripts/mysql_create_system_tables.sh: fixed 'Password' column length to 41 scripts/mysql_fix_privilege_tables.sql: fixed 'Password' column length to 41 sql-common/client.c: mysql_real_connect rewritten to support new handshake procedure sql/item_strfunc.cc: Item_func_password and Item_func_old_password rewritten with new password api sql/item_strfunc.h: bit commented, numbers replaced with #defined constants sql/mysql_priv.h: removed unnecessary declaration as now all constants defined is in mysql_com.h sql/mysqld.cc: scramble initialization moved to sql_parce.cc:check_connection sql/password.c: All 4.1 functions were rolled back to 4.0 with attempt to save all possible 4.0-4.1 changes. Names for 4.0 functions were suffixed with '_323' Functions for new handshake were added. sql/slave.cc: Fixed to new constant; Bug #766 remains to be fixed sql/slave.h: fixed to new constant; Buf #766 remains to be fixed sql/sql_acl.cc: rewritten to support new passwords (41 byte-long) and password api sql/sql_acl.h: ditto sql/sql_class.cc: initialization for new members added sql/sql_class.h: same thing as in struct mysql - scramble is used for new family of functions, scramble_323 - for old sql/sql_parse.cc: check_connections was renamed to check_connection as this name reflects better what this function does authorization part of check_connection was rewritten check_user was rewritten with new password and acl api new function 'authenticate', which optionally re-request scramble from client was added fixed some typos COM_CHANGE_USER piece of dipsatch_command() was rewritten sql/sql_repl.h: HASH_PASSWORD_LENGTH replaced with SCRAMBLED_PASSWORD_CHAR_LENGTH bug #766 remains sql/sql_yacc.yy: Two-argument form of PASSWORD() was removed PASSWORD() function was fixed with new password api. BitKeeper/etc/logging_ok: Logging to logging@openlogging.org accepted
-
- 12 Jun, 2003 1 commit
-
-
unknown authored
- Comments for future devs. - Start_log_event::exec_event() : when we hit it, do a rollback. - We don't need LOG_EVENT_FORCED_ROTATE_F. - Stop_log_event::exec_event() : when we hit it, we needn't clean anything. - Removed LOG_EVENT_TIME_F and LOG_EVENT_FORCED_ROTATE_F. - We don't need Stop events in the relay log. - Now filtering of server id is done in the I/O thread first. sql/log.cc: We don't need LOG_EVENT_FORCED_ROTATE_F sql/log_event.cc: - Comments for future devs. - Start_log_event::exec_event() : when we hit it, do a rollback. If the SQL thread was inside a transaction (for example, the master died while writing to the binlog, so did not commit (because we write to the binlog before committing), so will rollback), it's sensible to rollback. If we're not in a transaction, rollback will not hurt (it will do nothing). - We don't need LOG_EVENT_FORCED_ROTATE_F. - Stop_log_event::exec_event() : when we hit it, we needn't clean anything, because each threads has already written some cleaning statements (DROP TEMPORARY TABLE, DO RELEASE_LOCK); we still clean in Start_log_event::exec_event() (if 4.x). sql/log_event.h: - Comments for future devs. - Removed LOG_EVENT_TIME_F and LOG_EVENT_FORCED_ROTATE_F. sql/slave.cc: - We don't need Stop events in the relay log (see changeset's description about log_event.cc). So we can make event queuing (writing to the relay log) simpler. - Something that was marked TODO: now filtering of server id (if the server id of this event is the same as mine ignore it) is done in the I/O thread if the master is 4.x (it still also done in the SQL thread whatever the version of the master is, for safe upgrades). This saves disk space. sql/slave.h: We don't need master_info.ignore_stop_event anymore, as we don't write Stop_event to the relay log anymore.
-
- 06 Jun, 2003 1 commit
-
-
unknown authored
we now make a distinction between if the master is < 3.23.57, 3.23 && >=57, and 4.x (before the 2 3.23 were one). This is because in 3.23.57 we have a way to distinguish between a Start_log_event written at server startup and one written at FLUSH LOGS, so we have a way to know if the slave must drop old temp tables or not. Change: mi->old_format was bool, now it's enum (to handle 3 cases). However, functions which had 'bool old_format' as an argument have their prototypes unchanged, because the old old_format == 0 now corresponds to the enum value BINLOG_FORMAT_CURRENT which is equal to 0, so boolean tests are left untouched. The only case were we use mi->old_format as an enum instead of casting it implicitly to a bool, is in Start_log_event::exec_event, where we want to distinguish between the 3 possible enum values. sql/log_event.cc: Fix for bug 254 : we now make a distinction between if the master is < 3.23.57, 3.23 && >=57, and 4.x (before the 2 3.23 were one), to know if the slave must drop old temp tables or not. sql/slave.cc: Fix for bug 254 : mi->old_format is now enum. An unrelated comment. sql/slave.h: fix for bug 254 : mi->old_format is now enum.
-
- 04 Jun, 2003 1 commit
-
-
unknown authored
VC++Files/libmysqld/libmysqld.dsp: Remove the old files from Embedded library sql/slave.h: Fix for client.c - slave_net_timeout sql-common/client.c: Fix warning
-