Added --protocol to mysqlbinlog
client/mysql.cc:
Indentation cleanup
client/mysqlbinlog.cc:
Added protocol option
mysql-test/r/rpl_until.result:
Update results
mysql-test/t/rpl_until.test:
If --sleep option was given then the salve could do many retries, which affected the size of the binary log. This is fixed by not comparing the binary log size/position
sql/mysqld.cc:
More debugging with set_maximum_open_files()
vio/viosocket.c:
Portability fix.
I manually edited rpl_openssl.result because the test is skipped on my
machine. Hope it's correct.
mysql-test/r/rpl000015.result:
Don't show Slave_IO_State because it can't be predicted.
mysql-test/r/rpl_error_ignored_table.result:
Don't show Slave_IO_State because it can't be predicted.
mysql-test/r/rpl_flush_log_loop.result:
Don't show Slave_IO_State because it can't be predicted.
mysql-test/r/rpl_loaddata.result:
Don't show Slave_IO_State because it can't be predicted.
mysql-test/r/rpl_log.result:
Don't show Slave_IO_State because it can't be predicted.
mysql-test/r/rpl_log_pos.result:
Don't show Slave_IO_State because it can't be predicted.
mysql-test/r/rpl_max_relay_size.result:
Don't show Slave_IO_State because it can't be predicted.
mysql-test/r/rpl_openssl.result:
Don't show Slave_IO_State because it can't be predicted.
mysql-test/r/rpl_replicate_do.result:
Don't show Slave_IO_State because it can't be predicted.
mysql-test/r/rpl_reset_slave.result:
Don't show Slave_IO_State because it can't be predicted.
mysql-test/r/rpl_rotate_logs.result:
Don't show Slave_IO_State because it can't be predicted.
mysql-test/r/rpl_trunc_binlog.result:
Don't show Slave_IO_State because it can't be predicted.
mysql-test/r/rpl_until.result:
Don't show Slave_IO_State because it can't be predicted.
mysql-test/t/rpl000015.test:
Don't show Slave_IO_State because it can't be predicted.
mysql-test/t/rpl_empty_master_crash.test:
Don't show Slave_IO_State because it can't be predicted.
mysql-test/t/rpl_error_ignored_table.test:
Don't show Slave_IO_State because it can't be predicted.
mysql-test/t/rpl_flush_log_loop.test:
Don't show Slave_IO_State because it can't be predicted.
mysql-test/t/rpl_loaddata.test:
Don't show Slave_IO_State because it can't be predicted.
mysql-test/t/rpl_log.test:
Don't show Slave_IO_State because it can't be predicted.
mysql-test/t/rpl_log_pos.test:
Don't show Slave_IO_State because it can't be predicted.
mysql-test/t/rpl_max_relay_size.test:
Don't show Slave_IO_State because it can't be predicted.
mysql-test/t/rpl_openssl.test:
Don't show Slave_IO_State because it can't be predicted.
mysql-test/t/rpl_redirect.test:
Don't show Slave_IO_State because it can't be predicted.
mysql-test/t/rpl_replicate_do.test:
Don't show Slave_IO_State because it can't be predicted.
mysql-test/t/rpl_reset_slave.test:
Don't show Slave_IO_State because it can't be predicted.
mysql-test/t/rpl_rotate_logs.test:
Don't show Slave_IO_State because it can't be predicted.
mysql-test/t/rpl_trunc_binlog.test:
Don't show Slave_IO_State because it can't be predicted.
mysql-test/t/rpl_until.test:
Don't show Slave_IO_State because it can't be predicted.
"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.
mysql-test/r/rpl_until.result:
Fixed race then sometimes io slave thread stopped without managing to get any data from master and sometimes not.
mysql-test/t/rpl_until.test:
Fixed race then sometimes io slave thread stopped without managing to get any data from master and sometimes not.
to SHOW SLAVE STATUS.
mysql-test/r/rpl000015.result:
Fixed test after adding UNTIL conditions to SHOW SLAVE STATUS
mysql-test/r/rpl_empty_master_crash.result:
Fixed test after adding UNTIL conditions to SHOW SLAVE STATUS
mysql-test/r/rpl_error_ignored_table.result:
Fixed test after adding UNTIL conditions to SHOW SLAVE STATUS
mysql-test/r/rpl_flush_log_loop.result:
Fixed test after adding UNTIL conditions to SHOW SLAVE STATUS
mysql-test/r/rpl_loaddata.result:
Fixed test after adding UNTIL conditions to SHOW SLAVE STATUS
mysql-test/r/rpl_log.result:
Fixed test after adding UNTIL conditions to SHOW SLAVE STATUS
mysql-test/r/rpl_log_pos.result:
Fixed test after adding UNTIL conditions to SHOW SLAVE STATUS
mysql-test/r/rpl_max_relay_size.result:
Fixed test after adding UNTIL conditions to SHOW SLAVE STATUS
mysql-test/r/rpl_openssl.result:
Fixed test after adding UNTIL conditions to SHOW SLAVE STATUS
mysql-test/r/rpl_redirect.result:
Fixed test after adding UNTIL conditions to SHOW SLAVE STATUS
mysql-test/r/rpl_replicate_do.result:
Fixed test after adding UNTIL conditions to SHOW SLAVE STATUS
mysql-test/r/rpl_reset_slave.result:
Fixed test after adding UNTIL conditions to SHOW SLAVE STATUS
mysql-test/r/rpl_rotate_logs.result:
Fixed test after adding UNTIL conditions to SHOW SLAVE STATUS
mysql-test/r/rpl_until.result:
Post merge fix
mysql-test/t/rpl_until.test:
Post merge fix
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.