Made a some new buffers thread specific and changeable.
Resize of key_buffer.
AUTO_COMMIT -> AUTOCOMMIT
Fixed mutex bug in DROP DATABASE
Fixed bug when using auto_increment as second part of a key where first part could include NULL.
Split handler->extra() to extra() and extra_opt() to be able to support thread specific buffers.
Don't write message to error log when slave reconnects becasue of timeout.
Fixed possible update problem when using DELETE/UPDATE on small tables
(In some cases we used index even if table scanning would be better)
A lot of minior code cleanups
BitKeeper/deleted/.del-net.c~ef21d6402bb882f9:
Delete: libmysql/net.c
BitKeeper/etc/ignore:
added libmysql/net.c
Docs/manual.texi:
New SET syntax & system variables.
client/client_priv.h:
moved order of include files
client/mysql.cc:
Removed compiler warning
client/mysqladmin.c:
Use new SHOW GLOBAL syntax (if server supports it)
configure.in:
version change
include/Makefile.am:
indentation cleanup
include/my_getopt.h:
Made some helper functions global
include/my_sys.h:
Removed not used code
include/myisam.h:
Added extra argument to ..._extra()
include/myisammrg.h:
Added extra argument to ..._extra()
include/mysql_com.h:
changed NET to be able to support changeable system variables
include/mysql_embed.h:
Added MYSQL_SERVER_SUFFIX
include/mysql_version.h.in:
Added check of multiple including (needed for embedded library)
include/mysqld_error.h:
New error messages
innobase/dict/dict0dict.c:
Remove compiler warnings
innobase/include/ut0mem.h:
Remove compiler warnings
innobase/include/ut0mem.ic:
Remove compiler warnings
isam/isamchk.c:
new init_key_cache() arguments
isam/isamlog.c:
new init_key_cache() arguments
isam/test2.c:
new init_key_cache() arguments
isam/test3.c:
new init_key_cache() arguments
libmysql/Makefile.am:
Removed net.c (Automaticly make it from net_serv.cc)
libmysql/Makefile.shared:
Removed net.c (Automaticly make it from net_serv.cc)
libmysql/libmysql.c:
Changeable system variables
libmysqld/Makefile.am:
Added set_var.cc file
libmysqld/embedded_priv.h:
Changed order of include fiels
libmysqld/lib_sql.cc:
merge with mysqld.cc (for changeable variables)
libmysqld/libmysqld.c:
New changeable system variables
myisam/mi_check.c:
Added extra argument to ..._extra()
myisam/mi_extra.c:
Added extra argument to ..._extra()
myisam/mi_open.c:
Removed not used variable
myisam/mi_test1.c:
Changed call to init_key_cache
myisam/mi_test2.c:
Added extra argument to ..._extra()
myisam/mi_test3.c:
Added extra argument to ..._extra()
myisam/mi_write.c:
Add cache size argument to bulk-insert-init
myisam/myisamchk.c:
Use new key cache
myisam/myisamdef.h:
new mi_init_bulk_insert() arguments
myisam/myisamlog.c:
Added extra argument to ..._extra()
myisam/myisampack.c:
Added extra argument to ..._extra()
myisammrg/myrg_extra.c:
Added extra argument to ..._extra()
myisammrg/myrg_rrnd.c:
Added extra argument to ..._extra()
mysql-test/r/insert_select.result:
New changeable system variables
mysql-test/r/key.result:
Test of bug in auto_increment
mysql-test/r/query_cache.result:
New changeable system variables
mysql-test/r/rpl000001.result:
New changeable system variables
mysql-test/r/rpl000016.result:
New changeable system variables
mysql-test/r/union.result:
New changeable system variables
mysql-test/r/user_var.result:
New changeable system variables
mysql-test/r/variables.result:
New changeable system variables
mysql-test/t/key.test:
Test of bug in auto_increment
mysql-test/t/query_cache.test:
New changeable system variables
mysql-test/t/rpl000001.test:
New changeable system variables
mysql-test/t/rpl000009.test:
New changeable system variables
mysql-test/t/rpl000016.test:
New changeable system variables
mysql-test/t/rpl_compat.test:
New changeable system variables
mysql-test/t/union.test:
New changeable system variables
mysql-test/t/user_var.test:
New changeable system variables
mysql-test/t/variables.test:
New changeable system variables
mysys/default.c:
Bigger default memory allocation
mysys/mf_iocache.c:
Removed compiler warning
mysys/mf_keycache.c:
Made key cache resizable on the fly
Removed not needed extra argument to init_key_cache()
mysys/my_getopt.c:
Made some helper functions global
sql/Makefile.am:
Aded set_var.cc
sql/convert.cc:
Comment cleanup
sql/field.cc:
new changeable system variables
sql/filesort.cc:
new changeable system variables
sql/ha_berkeley.cc:
AUTO_COMMIT -> AUTOCOMMIT
sql/ha_innodb.cc:
new changeable system variables
sql/ha_myisam.cc:
Added extra argument to ..._extra()
sql/ha_myisam.h:
Added extra argument to ..._extra()
sql/ha_myisammrg.cc:
Added extra argument to ..._extra()
sql/ha_myisammrg.h:
Added extra argument to ..._extra()
sql/handler.cc:
Added extra argument to ..._extra()
Added resize of key cache
Change ha_table_typelib for use with new system variables
sql/handler.h:
Added extra argument to ..._extra()
sql/item.cc:
new changeable system variables
sql/item.h:
Added better support of Item_uint
sql/item_func.cc:
Added support for SET @@[global | session] system_variable
sql/item_strfunc.cc:
new changeable system variables
sql/key.cc:
Fixed bug in auto_increment on second part keys
sql/lex.h:
Removed not needed keywords
sql/log.cc:
new changeable system variables
sql/log_event.cc:
new changeable system variables
sql/log_event.h:
Removed not needed var reference
sql/mini_client.cc:
new changeable system variables
code cleanup
sql/mini_client.h:
Indentation cleanup
sql/mysql_priv.h:
Changed order of include files & variables to make file more readable
sql/mysqld.cc:
Changed order of variables to make file more readable.
Support for changeable variables
Rename of system variables
Moved init_vars to set_var.cc
Changed output of --help
sql/net_pkg.cc:
Added my_net_local_init() to make it possible to set different defaults for network connection depending if you are a client, embedded library or server.
sql/net_serv.cc:
new changeable system variables
To support this, some global variables had to be move to the NET structure.
sql/records.cc:
new changeable system variables
use extra_opt()
sql/repl_failsafe.cc:
new changeable system variables
minior code cleanups
sql/repl_failsafe.h:
removed not needed external var reference
sql/share/czech/errmsg.txt:
new changeable system variables
sql/share/danish/errmsg.txt:
new changeable system variables
sql/share/dutch/errmsg.txt:
new changeable system variables
sql/share/english/errmsg.txt:
new changeable system variables
sql/share/estonian/errmsg.txt:
new changeable system variables
sql/share/french/errmsg.txt:
new changeable system variables
sql/share/german/errmsg.txt:
new changeable system variables
sql/share/greek/errmsg.txt:
new changeable system variables
sql/share/hungarian/errmsg.txt:
new changeable system variables
sql/share/italian/errmsg.txt:
new changeable system variables
sql/share/japanese/errmsg.txt:
new changeable system variables
sql/share/korean/errmsg.txt:
new changeable system variables
sql/share/norwegian-ny/errmsg.txt:
new changeable system variables
sql/share/norwegian/errmsg.txt:
new changeable system variables
sql/share/polish/errmsg.txt:
new changeable system variables
sql/share/portuguese/errmsg.txt:
new changeable system variables
sql/share/romanian/errmsg.txt:
new changeable system variables
sql/share/russian/errmsg.txt:
new changeable system variables
sql/share/slovak/errmsg.txt:
new changeable system variables
sql/share/spanish/errmsg.txt:
new changeable system variables
sql/share/swedish/errmsg.txt:
new changeable system variables
sql/share/ukrainian/errmsg.txt:
new changeable system variables
sql/slave.cc:
new changeable system variables
Added some suppression of error messages
Initialize current_thd for all slave threads.
sql/sql_acl.cc:
Added checking of arguments for SET PASSWORD (for new SET defintion)
sql/sql_acl.h:
new prototypes
sql/sql_base.cc:
new changeable system variables
sql/sql_cache.cc:
new changeable system variables
sql/sql_cache.h:
Renamed some arguments to make code more readable
sql/sql_class.cc:
new changeable system variables
sql/sql_class.h:
New changeable system variables
Code cleanup
sql/sql_db.cc:
Fixed bug in DROP DATABASE
sql/sql_delete.cc:
Usage of wrong define in test (possible speed problem)
sql/sql_insert.cc:
use extra_opt()
Code cleanup
sql/sql_lex.cc:
Added support for SET @@[global | session] system_variable
sql/sql_lex.h:
Added support for SET @@[global | session] system_variable
sql/sql_load.cc:
Cleanup for embedded library
Use extra_opt()
sql/sql_parse.cc:
Cleanup for embedded library
New changeable system variables
sql/sql_repl.cc:
new changeable system variables
sql/sql_repl.h:
Fixed variable definitions
sql/sql_select.cc:
new changeable system variables
sql/sql_show.cc:
New changeable system variables
sql/sql_table.cc:
Fixed bug in DROP DATABASE
sql/sql_union.cc:
New changeable system variables
sql/sql_update.cc:
Usage of wrong define in test (possible speed problem)
sql/sql_yacc.yy:
New changeable system variables
sql/structs.h:
Added typedef for SHOW_VAR
sql/table.cc:
Fixed bug in auto_increment on second part keys
sql/uniques.cc:
Comment fix
sql/unireg.h:
A
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
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
removal of duplicate code in mf_iocache.cc
work on failsafe replication
work on SEQ_READ_APPEND io cache
include/my_sys.h:
updates for SEQ_READ_APPEND
libmysql/Makefile.am:
fix for mysys/mf_iocache.c
libmysql/libmysql.c:
updates for new format of SHOW SLAVE HOSTS
mysql-test/r/rpl000001.result:
test replication of LOAD DATA LOCAL INFILE
mysql-test/r/rpl000002.result:
updated test result
mysql-test/t/rpl000001.test:
test LOAD DATA LOCAL INFILE
mysys/mf_iocache.c:
cleanup to remove duplicate functionality
some work on SEQ_READ_APPEND
sql/mf_iocache.cc:
cleanup to remove duplicate functionality
sql/repl_failsafe.cc:
more work on failsafe replication
sql/repl_failsafe.h:
more work on failsafe replication
sql/slave.cc:
cleanup
more work on failsafe replication
sql/sql_load.cc:
fixed bug on replicating empty file loads
got LOAD DATA LOCAL INFILE to work again, and to be replicated
sql/sql_repl.cc:
cleanup
more work on failsafe replication
sql/sql_repl.h:
more work on failsafe replication
fixed bug in master - unregister slaves when they disconnect
client/mysqlmanagerc.c:
changed default port
include/mysql.h:
use my_net_*
libmysql/manager.c:
use my_net_*
mysql-test/mysql-test-run.sh:
added support for client strace
sql/sql_parse.cc:
unregister slaves on disconnect
sql/sql_repl.cc:
unregister slaves on disconnect
sql/sql_repl.h:
unregister slaves on disconnect
tools/mysqlmanager.c:
changed to use my_net_*
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
include/mysqld_error.h:
new error message
mysql-test/r/rpl_log.result:
updated results
mysql-test/t/rpl_log.test:
test show new master for slave
sql/lex.h:
show new master for slave
sql/share/czech/errmsg.txt:
new error
sql/share/danish/errmsg.txt:
new error
sql/share/dutch/errmsg.txt:
new error
sql/share/english/errmsg.txt:
new error
sql/share/estonian/errmsg.txt:
new error
sql/share/french/errmsg.txt:
new error
sql/share/german/errmsg.txt:
new error
sql/share/greek/errmsg.txt:
new error
sql/share/hungarian/errmsg.txt:
new error
sql/share/italian/errmsg.txt:
new error
sql/share/japanese/errmsg.txt:
new error
sql/share/korean/errmsg.txt:
new error
sql/share/norwegian-ny/errmsg.txt:
new error
sql/share/norwegian/errmsg.txt:
new error
sql/share/polish/errmsg.txt:
new error
sql/share/portuguese/errmsg.txt:
new error
sql/share/romanian/errmsg.txt:
new error
sql/share/russian/errmsg.txt:
new error
sql/share/slovak/errmsg.txt:
new error
sql/share/spanish/errmsg.txt:
new error
sql/share/swedish/errmsg.txt:
new error
sql/sql_lex.h:
show new master for slave
sql/sql_parse.cc:
show new master for slave
sql/sql_repl.cc:
show new master for slave
sql/sql_repl.h:
show new master for slave
sql/sql_yacc.yy:
show new master for slave
added debugging options to master to behave sporadically, and a
test case to make sure the slave can deal with it
BitKeeper/triggers/post-commit:
fixed message
sql/mysqld.cc:
added debugging options to force the master to occasionally break
replication
sql/slave.cc:
cosmetic change to improve readability
sql/sql_repl.cc:
support for --sporadic-binlog-dump-fail and --max-binlog-dump-events
sql/sql_repl.h:
support for --sporadic-binlog-dump-fail and --max-binlog-dump-events
fixed log sequence bugs
fixed bugs in handling Slave event
added test case with SHOW BINLOG EVENTS
have not fixed all the bugs - found some that are also in 3.23,
will fix them there first, then do pull and cleanup
will not push this changeset
include/mysqld_error.h:
new error
mysql-test/mysql-test-run.sh:
use quotes in expr
sql/lex.h:
SHOW BINLOG EVENTS
sql/log.cc:
fixed log sequence bugs
sql/log_event.cc:
SHOW BINLOG EVENTS
fixed bugs Slave event handling
sql/log_event.h:
SHOW BINLOG EVENTS
sql/share/english/errmsg.txt:
SHOW BINLOG EVENTS
sql/sql_lex.h:
SHOW BINLOG EVENTS
sql/sql_parse.cc:
SHOW BINLOG EVENTS
sql/sql_repl.cc:
SHOW BINLOG EVENTS
sql/sql_repl.h:
SHOW BINLOG EVENTS
sql/sql_yacc.yy:
SHOW BINLOG EVENTS
cleanup of register_slave_on_master()
mysql-test/r/rpl000002.result:
new output of show slave hosts
sql/mysqld.cc:
user and password are shown in show slave hosts only if show-slave-auth-info option is on
sql/slave.cc:
cleanup of register_slave_on_master()
sql/sql_repl.cc:
do not show user/pass for slave unless running with show-slave-auth-info
sql/sql_repl.h:
show-slave-auth-info
info on how to connect to the slave for the clients that connect to
the master, but would like to know where the slaves are
include/mysql_com.h:
register slaves
mysql-test/mysql-test-run.sh:
parameters to test slave registration
mysql-test/r/rpl000002.result:
test of slave registration
mysql-test/t/rpl000002.test:
test slave registration
sql/mysql_priv.h:
slave registration
sql/mysqld.cc:
slave registration
sql/slave.cc:
slave registration
sql/slave.h:
slave registration
sql/sql_lex.h:
slave registration
sql/sql_parse.cc:
slave registration
sql/sql_repl.cc:
slave registration
sql/sql_repl.h:
slave registration
sql/sql_yacc.yy:
slave registration
include/mysqld_error.h:
new errors
mysql-test/r/rpl000009.result:
test load data from master
mysql-test/t/rpl000009.test:
test load data from master
sql/mini_client.cc:
extra functionality needed for load data from master and other things
sql/mini_client.h:
addition to API
sql/mysql_priv.h:
mysql_create_db()/mysql_rm_db() now return a value
sql/share/english/errmsg.txt:
more error messages
sql/slave.cc:
cleanup of fetch_nx_table()
sql/slave.h:
cleanup of fetch_nx_table()
sql/sql_base.cc:
remove unused code originally written for retrieving a non-existent table in slave thread
sql/sql_class.cc:
remove unused replication variables
sql/sql_class.h:
remove unused replication variabled
sql/sql_db.cc:
make mysql_create_db()/mysql_rm_db() work with thd == 0
(do not write messages to the net) and instead return success/error
sql/sql_lex.h:
added SQLCOM_LOAD_MASTER_DATA
sql/sql_parse.cc:
LOAD MASTER DATA, cleanup of LOAD TABLE FROM MASTER
sql/sql_repl.cc:
LOAD DATA FROM MASTER
sql/sql_repl.h:
LOAD DATA FROM MASTER
sql/sql_yacc.yy:
LOAD DATA FROM MASTER
added support for virtual master ( replicating from a directory with binlogs)
test case for backup/restore with virtual master
client/mysqltest.c:
fix to accomodate for new test case
mysql-test/mysql-test-run.sh:
do not automagically start slave
sql/log.cc:
support for virtual master
sql/log_event.cc:
fix for mysqlbinlog
sql/log_event.h:
fix for mysqlbinlog
sql/mysqlbinlog.cc:
fix for mysqlbinlog
sql/slave.cc:
virtual master
sql/slave.h:
virtual master
sql/sql_class.h:
clean-up/fixes for virtual master
sql/sql_repl.cc:
cleanup/fixes for virtual master
sql/sql_repl.h:
virtual master
fixed auto set of server id
sql/sql_repl.cc
do not allow slave to replicate if master id was not supplied
sql/sql_repl.h
fix for server_id
sql/mysqld.cc:
fixed auto set of server id
sql/sql_repl.cc:
do not allow slave to replicate if master id was not supplied
sql/sql_repl.h:
fix for server_id
BUILD/compile-pentium-debug:
added -DEXTRA_DEBUG
sql/Makefile.am:
added slave.h
sql/log_event.h:
max_buf -> event_len in read_log_event
sql/mysql_priv.h:
moved the slave part to slave.h
sql/mysqld.cc:
changes for replcate_do/ignore_table ( does not work yet)
sql/slave.cc:
removed the stuff covered by slave.h
sql/sql_class.h:
moved slave stuff to slave.h
sql/sql_repl.h:
removed stuff covered by slave.h
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
added PURGE MASTER LOGS TO and SHOW MASTER LOGS
fixed the output of SHOW MASTER STATUS
updated docs
Docs/manual.texi:
Update for PURGE MASTER LOGS TO, SHOW MASTER LOGS
sql/lex.h:
added PURGE
sql/log.cc:
update for PURGE
BitKeeper/etc/ignore:
Added include/.my_sys.h.swp PENDING/2000-10-25.01 PENDING/2000-10-25.02 support-files/mysql-3.23.27-beta.spec to the ignore list
sql/mysqld.cc:
fixed bug in --skip-slave-start
sql/sql_class.cc:
added linfo to THD
sql/sql_class.h:
updates for PURGE
sql/sql_lex.h:
updates for PURGE
sql/sql_parse.cc:
updates for PURGE
sql/sql_repl.cc:
updates for PURGE
sql/sql_repl.h:
updates for PURGE
sql/sql_yacc.yy:
updates for PURGE