Could not add a testcase for this: if the test goes into a MASTER_POS_WAIT, it waits
until this terminates (even doing "connection other_con" to launch "stop slave" is blocked).
- In MASTER_POS_WAIT() don't test if the I/O slave is running, but if the SQL thread
is running.
- Some DBUG info for this bugfix.
sql/slave.cc:
Fix for bug 651: now a dying SQL slave threads wakes up any waiting MASTER_POS_WAIT().
In MASTER_POS_WAIT() don't test if the I/O slave is running, but if the SQL thread
is running.
Some DBUG info.
into narttu.mysql.fi:/my/mysql-4.1
client/mysql.cc:
Auto merged
mysql-test/r/type_blob.result:
Auto merged
sql/log.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/slave.cc:
Auto merged
Fixed wrong value for SQLSTATE_LENGTH
Added CLIENT_REMEMBER_OPTIONS to mysql_real_connect()
Changed mysql_port and mysql_unix_port to mysqld_xxxx
client/mysql.cc:
Removed valgrind & compiler warnings
client/sql_string.h:
Fix to remove valgrind warnings
include/mysql.h:
Added read_timeout and write_timeout to mysql options struct.
This is to be used for slave when connection to master.
code cleanup
include/mysql_com.h:
Fixed wrong value for SQLSTATE_LENGTH
Added CLIENT_REMEMBER_OPTIONS
include/sql_common.h:
Cleanup after split of libmysql.c to client.c and libmysql.c
include/sql_state.h:
Removed default states
libmysql/client_settings.h:
Cleanup after split of libmysql.c to client.c and libmysql.c
libmysql/libmysql.c:
Cleanup after split of libmysql.c to client.c and libmysql.c
mysql-test/r/type_blob.result:
Update results after someone updated error messages without running tests
mysys/charset.c:
More debug information
mysys/errors.c:
Fixed wrong error message
sql-common/client.c:
Cleanup after split of libmysql.c to client.c and libmysql.c
sql/Makefile.am:
Added sql_client.cc
sql/client_settings.h:
Cleanup after split of libmysql.c to client.c and libmysql.c
sql/log.cc:
Changed mysql_port and mysql_unix_port to mysqld_xxxx
sql/mysql_priv.h:
Changed mysql_port and mysql_unix_port to mysqld_xxxx
sql/mysqld.cc:
Changed mysql_port and mysql_unix_port to mysqld_xxxx
sql/protocol.cc:
Fix for SQLSTATE_LENGTH
Moved function to sql_client.c
sql/repl_failsafe.cc:
Cleanup after split of libmysql.c to client.c and libmysql.c
sql/set_var.cc:
Changed mysql_port and mysql_unix_port to mysqld_xxxx
sql/slave.cc:
Cleanup after split of libmysql.c to client.c and libmysql.c
include/my_sys.h:
Changed safe_malloc variables to start with sf_
mysys/default.c:
Use safemalloc (as we use dynamic_arrays() that uses it inderectly anyway)
mysys/my_static.c:
Changed safe_malloc variables to start with sf_
mysys/my_static.h:
Changed safe_malloc variables to start with sf_
Changed safemalloc structure to not have to be 8 byte aligned
mysys/safemalloc.c:
Changed safemalloc structure to not have to be 8 byte aligned. (portability fix)
BIG code cleanup
sql/mysqld.cc:
Changed safe_malloc variables to start with sf_
sql/sql_parse.cc:
Changed safe_malloc variables to start with sf_
- 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.
syntax errors in stored procedures.
mysql-test/r/sp-error.result:
New test case for bugfix (#643)
mysql-test/t/sp-error.test:
New test case for bugfix (#643)
sql/sp_head.cc:
Forgot to copy a slot from the original lex. (bug #643)
into rurik.mysql.com:/home/igor/dev/mysql-4.1-0
include/my_base.h:
Auto merged
include/my_sys.h:
Auto merged
myisam/myisamdef.h:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/lex.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
New feature: preload indexes into key cache.
mi_preload.c:
new file
Many files:
Added preload statement.
sql/ha_myisam.h:
Added preload statement.
sql/handler.cc:
Added preload statement.
sql/lex.h:
Added preload statement.
sql/mysql_priv.h:
Added preload statement.
sql/sql_lex.h:
Added preload statement.
sql/sql_base.cc:
Added preload statement.
sql/sql_table.cc:
New feature: preload indexes into key cache.
sql/sql_parse.cc:
New feature: preload indexes into key cache.
sql/mysqld.cc:
New feature: preload indexes into key cache.
sql/set_var.cc:
New feature: preload indexes into key cache.
sql/sql_yacc.yy:
New feature: preload indexes into key cache.
sql/ha_myisam.cc:
New feature: preload indexes into key cache.
sql/table.h:
New feature: preload indexes into key cache.
mysys/mf_keycache.c:
New feature: preload indexes into key cache.
myisam/myisamdef.h:
New feature: preload indexes into key cache.
myisam/mi_extra.c:
New feature: preload indexes into key cache.
myisam/Makefile.am:
New feature: preload indexes into key cache.
include/my_base.h:
New feature: preload indexes into key cache.
include/my_sys.h:
New feature: preload indexes into key cache.
include/myisam.h:
New feature: preload indexes into key cache.
Item_extract needs special implementation for eq().
Item_func::eq doesn't work correctly because we have to compare
Item_extract::int_type parameters also
We need to propagate this to 4.1
sql/item_timefunc.cc:
Item_extract::eq implementation added
sql/item_timefunc.h:
Item_extract::eq definition added
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
mysql-test/r/rpl_temporary.result:
result update
mysql-test/t/rpl_temporary.test:
test that PSEUDO_THREAD_ID now requires SUPER.
sql/set_var.cc:
Class for pseudo_thread_id (it used to be sys_var_thd_ulong, but we
decided to require the SUPER privilege so we needed a check() function,
which sys_var_thd_ulong does not feature (check() is virtual in sys_var
and in sys_var_thd_ulong too).
sql/set_var.h:
Class for pseudo_thread_id
support issue with an unclear message which can have N reasons for appearing.
This should help us know at which point it failed, and get the errno when
my_open was involved (as the reason for the unclear message is often a
permission problem).
RESET SLAVE resets last_error and last_errno in SHOW SLAVE STATUS (without this,
rpl_loaddata.test, which is expected to generate an error in last_error, influenced
rpl_log_pos.test).
A small test update.
Added STOP SLAVE to mysql-test-run to get rid of several stupid error messages
which are printed while the master restarts and the slave attempts/manages to
connect to it and sends it nonsense binlog requests.
mysql-test/mysql-test-run.sh:
Before running a test, stop slave threads if they exist (if they don't
the script goes on fine). This also works fine with the manager.
Before this change, when the master was stopped/restarted (which happened before
the slave server was stopped/restarted), the slave threads
noticed the stop (so printed an error message in slave.err), then managed to
reconnect (to the new master, the one that is running for the _next_ test),
and this reconnection had time to produce error messages (because, for example,
the binlog the slave thread was asking had been deleted) before the slave server
was killed. This change reduces by 10% (40 lines) slave.err in replication tests.
mysql-test/r/rpl000018.result:
Result update.
mysql-test/t/rpl000018.test:
This test does "show master logs" so should do "reset master" instead of
relying on the previous tests.
sql/slave.cc:
More error messages.
sql/sql_repl.cc:
More error messages.
RESET SLAVE resets last_error and last_errno in SHOW SLAVE STATUS.
Added option --gdb
Free memory used by replicate_xxx and binglog_xxx options
mysql-test/mysql-test-run.sh:
Added --gdb when using gdb
mysys/thr_alarm.c:
Safety check
sql/mysql_priv.h:
Don't install signal handler for SIGINT by default
sql/mysqld.cc:
Don't install signal handler for SIGINT by default
Added option --gdb
Free memory used by replicate_xxx and binglog_xxx options.
Add statistics variable for killed threads
sql/repl_failsafe.cc:
Incremented aborted_connects on failure
sql/sql_list.cc:
Added free_list() to free memory on shutdown.
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.
include/mysqld_error.h:
Error messages for DROP USER, REVOKE ALL PRIVILEGES, GRANT
mysql-test/r/grant.result:
Test for DROP USER, REVOKE ALL PRIVILEGES, GRANT
mysql-test/t/grant.test:
Test for DROP USER, REVOKE ALL PRIVILEGES, GRANT
sql/share/czech/errmsg.txt:
Error messages for DROP USER, REVOKE ALL PRIVILEGES, GRANT
sql/share/danish/errmsg.txt:
Error messages for DROP USER, REVOKE ALL PRIVILEGES, GRANT
sql/share/dutch/errmsg.txt:
Error messages for DROP USER, REVOKE ALL PRIVILEGES, GRANT
sql/share/english/errmsg.txt:
Error messages for DROP USER, REVOKE ALL PRIVILEGES, GRANT
sql/share/estonian/errmsg.txt:
Error messages for DROP USER, REVOKE ALL PRIVILEGES, GRANT
sql/share/french/errmsg.txt:
Error messages for DROP USER, REVOKE ALL PRIVILEGES, GRANT
sql/share/german/errmsg.txt:
Error messages for DROP USER, REVOKE ALL PRIVILEGES, GRANT
sql/share/greek/errmsg.txt:
Error messages for DROP USER, REVOKE ALL PRIVILEGES, GRANT
sql/share/hungarian/errmsg.txt:
Error messages for DROP USER, REVOKE ALL PRIVILEGES, GRANT
sql/share/italian/errmsg.txt:
Error messages for DROP USER, REVOKE ALL PRIVILEGES, GRANT
sql/share/japanese/errmsg.txt:
Error messages for DROP USER, REVOKE ALL PRIVILEGES, GRANT
sql/share/korean/errmsg.txt:
Error messages for DROP USER, REVOKE ALL PRIVILEGES, GRANT
sql/share/norwegian-ny/errmsg.txt:
Error messages for DROP USER, REVOKE ALL PRIVILEGES, GRANT
sql/share/norwegian/errmsg.txt:
Error messages for DROP USER, REVOKE ALL PRIVILEGES, GRANT
sql/share/polish/errmsg.txt:
Error messages for DROP USER, REVOKE ALL PRIVILEGES, GRANT
sql/share/portuguese/errmsg.txt:
Error messages for DROP USER, REVOKE ALL PRIVILEGES, GRANT
sql/share/romanian/errmsg.txt:
Error messages for DROP USER, REVOKE ALL PRIVILEGES, GRANT
sql/share/russian/errmsg.txt:
Error messages for DROP USER, REVOKE ALL PRIVILEGES, GRANT
sql/share/serbian/errmsg.txt:
Error messages for DROP USER, REVOKE ALL PRIVILEGES, GRANT
sql/share/slovak/errmsg.txt:
Error messages for DROP USER, REVOKE ALL PRIVILEGES, GRANT
sql/share/spanish/errmsg.txt:
Error messages for DROP USER, REVOKE ALL PRIVILEGES, GRANT
sql/share/swedish/errmsg.txt:
Error messages for DROP USER, REVOKE ALL PRIVILEGES, GRANT
sql/share/ukrainian/errmsg.txt:
Error messages for DROP USER, REVOKE ALL PRIVILEGES, GRANT
Fix for bug 254 : the first Start_log_event after server startup will
have created=now(), whereas the next ones (FLUSH LOGS, auto rotation)
will have created=0. Before this, it was always now().
This way, slaves >=4.0.14 will know when they must
drop stale temp tables or not. The next task is now modify 4.0.14 to
implement this.
sql/log.cc:
Fix for bug 254 : the first Start_log_event after server startup will
have created=now(), whereas the next ones (FLUSH LOGS, auto rotation)
will have created=0. Before this, it was always now().
This way, slaves >=4.0.14 will know when they must
drop stale temp tables or not.
sql/log_event.h:
An explanation.
sql/sql_class.h:
Prototype change (see log.cc).
Add syntax SAVEPOINT id and ROLLBACK TO SAVEPOINT id. This is compatible with DB2 and Oracle but not with SQL Server. Savepoints do not do anything yet, this is just parsing.
sql/lex.h:
Add syntax SAVEPOINT id and ROLLBACK TO SAVEPOINT id. This is compatible with DB2 and Oracle but not with SQL Server. Savepoints do not do anything yet, this is just parsing.
sql/mysqld.cc:
Add syntax SAVEPOINT id and ROLLBACK TO SAVEPOINT id. This is compatible with DB2 and Oracle but not with SQL Server. Savepoints do not do anything yet, this is just parsing.
sql/sql_lex.h:
Add syntax SAVEPOINT id and ROLLBACK TO SAVEPOINT id. This is compatible with DB2 and Oracle but not with SQL Server. Savepoints do not do anything yet, this is just parsing.
sql/sql_parse.cc:
Add syntax SAVEPOINT id and ROLLBACK TO SAVEPOINT id. This is compatible with DB2 and Oracle but not with SQL Server. Savepoints do not do anything yet, this is just parsing.
sql/sql_yacc.yy:
Add syntax SAVEPOINT id and ROLLBACK TO SAVEPOINT id. This is compatible with DB2 and Oracle but not with SQL Server. Savepoints do not do anything yet, this is just parsing.
BitKeeper/deleted/.del-internals.texi~62b6f580a41c2a43:
Auto merged
innobase/os/os0file.c:
Auto merged
innobase/srv/srv0srv.c:
Auto merged
innobase/srv/srv0start.c:
Auto merged
mysql-test/r/func_str.result:
Auto merged
mysql-test/r/rpl_loaddata.result:
Auto merged
mysql-test/t/rpl_loaddata.test:
Auto merged
sql/handler.cc:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/net_serv.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_repl.cc:
Auto merged
support-files/mysql.spec.sh:
Auto merged
Revert a change to dict_mem_index_add_field which slipped prematurely into the bk tree
sql/ha_innodb.cc:
Revert a change to dict_mem_index_add_field which slipped prematurely into the bk tree
Fix the BDB crash in the previous push; to save CPU remove duplicate calls of commit in InnoDB
sql/handler.cc:
Fix the BDB crash in the previous push; to save CPU remove duplicate calls of commit in InnoDB
sql/ha_innodb.cc:
Fix the BDB crash in the previous push; to save CPU remove duplicate calls of commit in InnoDB