DBUG_ macro cleanup
buffer boundary cleanup
This changeset, although not fully tested, works for me better than
anything I've had so far, including what is in the repository. I will
push it unless something crashes while I am writing this :-)
mysql-test/r/rpl000014.result:
updated result
mysql-test/r/rpl000015.result:
updated result
mysql-test/r/rpl000016.result:
updated result
mysql-test/r/rpl_log.result:
new result
mysys/mf_iocache.c:
DBUG_ cleanup
mysys/mf_iocache2.c:
DBUG_ fix
sql/log.cc:
added relay_log_space_limit
sql/mysqld.cc:
relay_log_space_limit
sql/slave.cc:
relay_log_space_limit
sql/slave.h:
relay_log_space_limit
sql/sql_class.h:
relay_log_space_limit
sql/sql_repl.cc:
fixed buffer overrun bug
likely() and unlikely() branch prediction compiler hint macros
clean-up of comments
include/my_global.h:
added likely() and unlikely() macros to help some compilers optimize
the code for architecture-specific branch prediction policies
include/my_sys.h:
coverted my_b_append_tell() from macro to a function as it needed to be more
complex to avoid a potential race condition
mysql-test/mysql-test-run.sh:
hostname-independent relay log name to have consistent SHOW SLAVE STATUS
output
mysql-test/r/rpl000014.result:
result update
mysql-test/r/rpl000015.result:
result update
mysql-test/r/rpl000016.result:
result update
mysql-test/r/rpl_log.result:
result update
mysql-test/t/rpl000017-slave.sh:
proper cleanup of old logs
mysys/mf_iocache.c:
cosmetic changes + more debugging asserts
mysys/mf_iocache2.c:
my_b_append_tell()
cleanup of comments
sql/log.cc:
fix potential bug - do not rotate log in the middle of event
sql/slave.cc:
do not write stop events when the server does not actually stop but just
rotates the log
fixed race between queue_event() and show_slave_status()
clean-up of comments
sql/slave.h:
added ignore_stop_event flag to SLAVE_LOG_INFO
fixed a couple of bugs with SEQ_READ_APPEND cache
rpl000016 still has non-deterministic result, but I am going to commit and
push since what I have is now better than what is in the main repository
client/mysqltest.c:
added wait_for_slave_to_stop
cleaned up TODO and comments
include/my_sys.h:
fixed race in flush_io_cache in SEQ_READ_APPEND cache
mysql-test/r/rpl000016.result:
updated result
mysql-test/t/rpl000016.test:
use wait_for_slave_to_stop to have deterministic slave behaviour for the test
mysys/mf_iocache.c:
fixed race in flush_io_cache()
fixed failure to unlock mutex in my_b_append()
sql/log.cc:
be compatible with 3.23 master
sql/log_event.cc:
3.23 master compat
sql/slave.cc:
3.23 master compat
sql/sql_class.h:
compat with 3.23 master
fixed too quick timeout in mysql-test-run which caused a race with the
new server getting started before the old one completely finished
shutdown. This should fix the pid warning we've been getting as well as
inconsistent results when running tests with the manager
libmysqld/lib_sql.cc:
post-merge fix
mysql-test/mysql-test-run.sh:
fixed start/stop timeout and cleanup of log directory
mysql-test/r/rpl000014.result:
post-merge fix
mysql-test/r/rpl000015.result:
post-merge fix
mysql-test/r/rpl000016.result:
post-merge fix
mysql-test/r/rpl_log.result:
post-merge fix
sql/log_event.cc:
post-merge fix
sql/slave.cc:
post-merge fix
sql/slave.h:
post-merge fix
sql/sql_class.h:
post-merge fix
tools/mysqlmanager.c:
added debug message
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
Small improvement to write caching.
Docs/manual.texi:
Updated Changelog
mysql-test/r/rpl000013.result:
Fix after merge
mysql-test/r/rpl000016.result:
Fix after merge
mysys/mf_iocache2.c:
Small improvement to write caching.
sql/sql_select.cc:
Removed warning
moved fail-safe replication routines from sql_repl.cc to repl_failsafe.cc
write start event only in the first log
client/mysqlbinlog.cc:
work to enable reading 3.23 logs
libmysql/Makefile.shared:
added mf_iocache2 to libmysqlclient - needed for mysqlbinlog
mysql-test/mysql-test-run.sh:
added --start-and-exit
mysql-test/r/rpl000002.result:
result clean-up
mysql-test/r/rpl000016.result:
result update
mysql-test/r/rpl_log.result:
result update
mysql-test/t/rpl000016.test:
test cleanup
mysys/mf_iocache.c:
fixed new bug
sql/log.cc:
write start event only on server start or after reset master
sql/log_event.cc:
work to enable reading 3.23 log format
sql/log_event.h:
work to enable reading 3.23 format
sql/repl_failsafe.cc:
code restructuring
sql/repl_failsafe.h:
re-organized code
sql/slave.cc:
check master version
sql/slave.h:
old_format member
sql/sql_class.h:
allow user to specify io cache type
need_start_event member to allow writing start event only in the first log
sql/sql_parse.cc:
code re-organization
sql/sql_repl.cc:
code reorganization
sql/sql_repl.h:
reorganized code
mark a master-forced rotate with a special flag
mysql-test/r/rpl000014.result:
updated result
mysql-test/r/rpl000015.result:
updated result
mysql-test/r/rpl000016.result:
updated result
mysql-test/r/rpl_log.result:
updated result
mysql-test/t/rpl000017-slave.sh:
fix for change in master.info format
mysql-test/t/rpl_log.test:
test for correct last_log_seq in show slave status
sql/log.cc:
mark a master-forced rotate with a special flag
sql/log_event.cc:
show master forced rotate info in SHOW BINLOG EVENTS
sql/log_event.h:
master forced rotation flag
sql/slave.cc:
keep trace of last log sequences in MASTER_INFO
do not rotate on slave, if the rotation on master was forced by its master
sql/slave.h:
keep track of last log sequence number in MASTER_INFO
Documented/cleaned up log event code
Updated tests
mysql-test/r/rpl000014.result:
new binlog format
mysql-test/r/rpl000015.result:
new binlog format
mysql-test/r/rpl000016.result:
new binlog format
mysql-test/std_data/master-bin.001:
new binlog format
mysql-test/t/rpl000014.test:
new binlog format
sql/log.cc:
new binlog format
sql/log_event.cc:
new binlog format
sql/log_event.h:
new binlog format
sql/sql_class.cc:
new binlog format
sql/sql_class.h:
new binlog format
sql/sql_repl.cc:
new binlog format
BitKeeper/deleted/.del-compile-ia64-O0-sgicc~a4e0732013d6b602:
Delete: BUILD/compile-ia64-O0-sgicc
BitKeeper/deleted/.del-compile-ia64-O0~3a41dfebefc817d1:
Delete: BUILD/compile-ia64-O0
BitKeeper/deleted/.del-compile-ia64-O2-sgicc~6ff796ecac337849:
Delete: BUILD/compile-ia64-O2-sgicc
BitKeeper/deleted/.del-compile-ia64-O2~87d13594c3599830:
Delete: BUILD/compile-ia64-O2
BitKeeper/deleted/.del-compile-ia64-O6~c34e6b943b12c468:
Delete: BUILD/compile-ia64-O6
Docs/manual.texi:
Cleanup
mysql-test/r/rpl000014.result:
Change port number for comparison
mysql-test/r/rpl000015.result:
Change port number for comparison
mysql-test/r/rpl000016.result:
Change port number for comparison
mysql-test/t/rpl000014.test:
Change port number for comparison
mysql-test/t/rpl000015.test:
Change port number for comparison
mysql-test/t/rpl000016.test:
Change port number for comparison
sql-bench/Results/ATIS-mysql-NT_4.0:
New test results
sql-bench/Results/RUN-mysql-NT_4.0:
New test results
sql-bench/Results/alter-table-mysql-NT_4.0:
New test results
sql-bench/Results/big-tables-mysql-NT_4.0:
New test results
sql-bench/Results/connect-mysql-NT_4.0:
New test results
sql-bench/Results/create-mysql-NT_4.0:
New test results
sql-bench/Results/insert-mysql-NT_4.0:
New test results
sql-bench/Results/select-mysql-NT_4.0:
New test results
sql-bench/Results/wisconsin-mysql-NT_4.0:
New test results
sql/slave.cc:
Removed not used variable
once after the lock. Now changed test case and added eval support to
mysqltest to make it easier to debug
client/mysqltest.c:
added eval query command to be able to use variables in a query
mysql-test/r/rpl000016.result:
updates for new test case
mysql-test/t/rpl000016.test:
changed test case to make it easier to debug
Docs/manual.texi:
updates from Matthias Urlichs
mysql-test/r/rpl000016.result:
position sanity check - hope to catch the timing bug
mysql-test/t/rpl000016.test:
position sanity check - hope to catch timing bug
sql/log_event.cc:
limit event length by max_allowed_packet
sql/log_event.h:
abolish MAX_EVENT_LEN
sql/sql_repl.cc:
error for events larger than max_allowed_packet
fixed sync bugs in three test cases
added offset argument to sync_with_master to mysqltest to be able to fix sync bugs
added a test case for slave startup with existing master.info
expanded mysql-test-run.sh to be able to run pre-start shell script initializations
client/mysqltest.c:
added offset argument to sync_with_master
mysql-test/mysql-test-run.sh:
added option to run master or slave initialization shell script
mysql-test/r/rpl000016.result:
fixed bug in test case
mysql-test/t/rpl000012.test:
fixed syncronization bug
mysql-test/t/rpl000013.test:
fixed sync bug
mysql-test/t/rpl000016.test:
fixed ambiguous show slave status.
sql/slave.cc:
fixed bug that broke slave server start with existing master.info,
Monty's optimization was not chopping off newline from logname.
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
added test/sanity check for master_pos_wait()
mysql-test/r/rpl000016.result:
do show slave status to test master_pos_wait()
mysql-test/t/rpl000001.test:
no sleep
mysql-test/t/rpl000002.test:
no sleep
mysql-test/t/rpl000003.test:
no sleep
mysql-test/t/rpl000007.test:
!sleep
mysql-test/t/rpl000008.test:
!sleep
mysql-test/t/rpl000009.test:
no sleep
mysql-test/t/rpl000010.test:
no sleep
mysql-test/t/rpl000011.test:
no sleep
mysql-test/t/rpl000012.test:
no sleep
mysql-test/t/rpl000013.test:
no sleep
mysql-test/t/rpl000014.test:
no sleep
mysql-test/t/rpl000015.test:
no sleep
mysql-test/t/rpl000016.test:
no sleep, test that master_pos_wait() works right
sql/slave.cc:
fixed bug in master_pos_wait()
Fixed test results.
Added mysqld variable 'have_isam'
BitKeeper/deleted/.del-master-slave.inc~556fd038c3a3d54:
Delete: mysql-test/t/include/master-slave.inc
BitKeeper/deleted/.del-README~f9fd36f3c3711305:
Delete: mysql-test/r/3.23/README
Docs/manual.texi:
Fixed typos
client/mysqltest.c:
Changed internal commands to accept -- before them.
Added command 'require' to make it possible to skip tests if the
mysqld server lacks some capabilites.
Removed extra \t at end of lines
configure.in:
Update
myisam/myisamlog.c:
cleanup
mysql-test/mysql-test-run.sh:
Added support for 'not supported' tests
mysql-test/r/alt000001.result:
Removed end tab
mysql-test/r/bdb.result:
Removed end tab
mysql-test/r/crypt.result:
Removed end tab
mysql-test/r/equal.result:
Removed end tab
mysql-test/r/ft0000001.a.result:
Removed end tab
mysql-test/r/ft0000001.b.result:
Removed end tab
mysql-test/r/ft0000001.c.result:
Removed end tab
mysql-test/r/ft0000001.d.result:
Removed end tab
mysql-test/r/ft0000001.e.result:
Removed end tab
mysql-test/r/ft0000002.a.result:
Removed end tab
mysql-test/r/ft0000002.b.result:
Removed end tab
mysql-test/r/ft0000002.c.result:
Removed end tab
mysql-test/r/ins000001.result:
Removed end tab
mysql-test/r/mrg000001.dummy.result:
Removed end tab
mysql-test/r/mrg000001.result:
Removed end tab
mysql-test/r/mrg000002.result:
Removed end tab
mysql-test/r/rpl000001.a.result:
Removed end tab
mysql-test/r/rpl000001.b.result:
Removed end tab
mysql-test/r/rpl000002.result:
Removed end tab
mysql-test/r/rpl000003.result:
Removed end tab
mysql-test/r/rpl000004.a.result:
Removed end tab
mysql-test/r/rpl000004.b.result:
Removed end tab
mysql-test/r/rpl000005.result:
Removed end tab
mysql-test/r/rpl000006.result:
Removed end tab
mysql-test/r/rpl000007.result:
Removed end tab
mysql-test/r/rpl000008.result:
Removed end tab
mysql-test/r/rpl000009.result:
Removed end tab
mysql-test/r/rpl000010.result:
Removed end tab
mysql-test/r/rpl000011.result:
Removed end tab
mysql-test/r/rpl000012.result:
Removed end tab
mysql-test/r/rpl000012.status.result:
Removed end tab
mysql-test/r/rpl000013.result:
Removed end tab
mysql-test/r/rpl000013.status.result:
Removed end tab
mysql-test/r/rpl000014.result:
Removed end tab
mysql-test/r/rpl000015.result:
Removed end tab
mysql-test/r/rpl000016.result:
Removed end tab
mysql-test/r/sel000001.result:
Removed end tab
mysql-test/r/sel000002.result:
Removed end tab
mysql-test/r/sel000003.result:
Removed end tab
mysql-test/r/sel000004.result:
Removed end tab
mysql-test/r/sel000005.result:
Removed end tab
mysql-test/r/sel000006.result:
Removed end tab
mysql-test/r/sel000007.result:
Removed end tab
mysql-test/r/sel000008.result:
Removed end tab
mysql-test/r/sel000009.result:
Removed end tab
mysql-test/r/sel000010.result:
Removed end tab
mysql-test/r/sel000011.result:
Removed end tab
mysql-test/r/sel000012.result:
Removed end tab
mysql-test/r/sel000013.result:
Removed end tab
mysql-test/r/sel000014.result:
Removed end tab
mysql-test/r/sel000015.result:
Removed end tab
mysql-test/r/sel000016.result:
Removed end tab
mysql-test/r/sel000017.result:
Removed end tab
mysql-test/r/sel000018.result:
Removed end tab
mysql-test/r/sel000019.result:
Removed end tab
mysql-test/r/sel000020.result:
Removed end tab
mysql-test/r/sel000021.result:
Removed end tab
mysql-test/r/sel000022.result:
Removed end tab
mysql-test/r/sel000023.result:
Removed end tab
mysql-test/r/sel000024.result:
Removed end tab
mysql-test/r/sel000025.result:
Removed end tab
mysql-test/r/sel000026.result:
Removed end tab
mysql-test/r/sel000027.result:
Removed end tab
mysql-test/r/sel000028.result:
Removed end tab
mysql-test/r/sel000029.result:
Removed end tab
mysql-test/r/sel000030.result:
Removed end tab
mysql-test/r/sel000031.result:
Removed end tab
mysql-test/r/sel000032.result:
Removed end tab
mysql-test/r/sel000033.result:
Removed end tab
mysql-test/r/sel000100.result:
Removed end tab
mysql-test/r/shw000001.result:
Removed end tab
mysql-test/r/slave-running.result:
Removed end tab
mysql-test/r/slave-stopped.result:
Removed end tab
mysql-test/t/bdb.test:
Check that we have BDB support
mysql-test/t/replace.test:
Check if we support ISAM tables
sql/gen_lex_hash.cc:
Fixed bug in last output
sql/ha_berkeley.cc:
Bug fix
sql/ha_berkeley.h:
Initialize using_ignore
sql/handler.h:
Fixed typo
sql/mysqld.cc:
Fixed typos; Added variable 'have_isam'
sql/sql_class.h:
Fixed typo
BitKeeper/etc/ignore:
Added sql-bench/Results-linux/ATIS-mysql_bdb-Linux_2.2.14_my_SMP_i686 to the ignore list
added system command
myisammrg/myrg_open.c
fixed coredump when opening an empty union table
sql/sql_repl.cc
fixed warnings, remove confusing comment, fixed coredump in
change master to when master.info was corrupted
added new replication test case
client/mysqltest.c:
added system command
myisammrg/myrg_open.c:
fixed coredump when opening an empty union table
sql/sql_repl.cc:
fixed warnings, remove confusing comment, fixed coredump in
change master to when master.info was corrupted