just a flush_relay_log_info() at the end of CHANGE MASTER
(there was already flush_master_info()).
sql/sql_repl.cc:
Comments.
Flush relay-log.info after CHANGE MASTER, or the changes
to the relay log parameters (relay log name and position, and
the corresponding master's binlog name and position) will be
lost if the slave mysqld is shutdown immediately after the
CHANGE MASTER (without the slave threads being started).
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.
The latter is misleading because differs from the syntax used for GRANT/REVOKE.
Fix up test result affected by error message edits.
mysql-test/r/grant_cache.result:
Fix up test result to match error message edit.
sql/share/czech/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/danish/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/dutch/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/english/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/estonian/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/french/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/german/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/greek/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/hungarian/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/italian/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/japanese/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/korean/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/norwegian-ny/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/norwegian/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/polish/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/portuguese/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/romanian/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/russian/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/serbian/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/slovak/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/spanish/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/swedish/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
sql/share/ukrainian/errmsg.txt:
Print user@host in syntax actually used for GRANT/REVOKE.
ignorant about ssl_type attribute
sql/sql_acl.cc:
Now acl_getroot() honors ssl_type attribute even if we compile without openssl
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
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.
error handling fixed
fetch_lengths made to work differently in embedded and client cases
include/mysql.h:
removed 'embedded' error containers - they're unnecessary now
added declarations for fetch_lengths to be 'virtual'
include/sql_common.h:
fetch_lengths declaration removed
libmysql/libmysql.c:
implementations for fetch_lengths to be 'virtual' added
libmysqld/lib_sql.cc:
error informations now is moved from thd->net to mysql-net
libmysqld/libmysqld.c:
error data is in mysql->net now
sql-common/client.c:
we have to return old fetch_lengths implementation for 'client' case
sql/protocol.cc:
handling of sqlstate for embedded library added
into eagle.mysql.r18.ru:/home/vva/work/BUG_663/mysql-4.1
sql/field_conv.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_select.h:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/sql_insert.cc:
Undo warnings for single row inserts
mysql-test/t/warnings.test:
undo one row warning instead use sql_warnings=1
mysql-test/r/warnings.result:
Fix result file
tests/client_test.c:
test for timestamp bug (BR #819)
sql/sql_insert.cc:
Enable warnings by default for single value list
protocol
mysql-test/t/warnings.test:
Updated test for single value list insert warning
mysql-test/r/warnings.result:
Updated warnings results
mysql-test/r/innodb.result:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_derived.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_union.cc:
Auto merged
sql/table.h:
Auto merged
myisam/mi_locking.c:
Here we use F_EXTRA_LCK
myisam/myisamchk.c:
lines of "locking - emulation" replaced with mi_lock_database call
myisam/myisamdef.h:
no need for MI_TEMPORARY_TABLE
sql/ha_myisam.cc:
We use F_WRLCK instead MI_TEMPORARY_TABLE
Now special 1-byte packet is used for request of old password
Fixed bug with --skip-grant-tables and acl_getroot
include/mysql.h:
removed scramble_323 member as now scramble_323 function does not count
on trailing zero for scramble
include/mysql_com.h:
updated declarations
libmysql/libmysql.c:
now server sends special 1-byte packet instead of old scramble
to re-request password.
mysql->scramble_323 replaced with mysql->scramble
sql-common/client.c:
now server sends special 1-byte packet instead of old scramble
to re-request password.
mysql->scramble_323 replaces with mysql->scramble
sql/password.c:
comments beautified
hash_password now accepts password length
sql/protocol.cc:
added send_old_password_request function
sql/protocol.h:
added send_old_password_request function
sql/sql_acl.cc:
style fixes, bug with --skip-grant-tables and acl_getroot
fixed
sql/sql_class.h:
thd->scramble_323 removed as now
old functions accept not null-terminated scrambles
sql/sql_crypt.cc:
fixed with new hash_password proto
sql/sql_parse.cc:
style fixes
few comments added
myisam/mi_check.c:
Fixed memory overrun in _mi_put_key_in_record
myisam/mi_key.c:
Fixed unnecessary memory allocation
mysql-test/r/insert_select.result:
Added test case for memory corruption
mysql-test/t/insert_select.test:
Added test case for memory corruption
mysys/safemalloc.c:
Removed compiler warnings
sql/sql_acl.cc:
Fixed core dump when running with --debug
mysql-test/r/subselect.result:
results of new optimisation
mysql-test/t/subselect.test:
results of new optimisation
sql/item_cmpfunc.h:
function type
sql/item_func.h:
function type
sql/item_subselect.cc:
new optimisation for ref_or_null
sql/item_subselect.h:
new optimisation for ref_or_null
sql/sql_select.cc:
new optimisation for ref_or_null
sql/sql_select.h:
item_subselect.cc need safe_index_read