mirror of
https://github.com/MariaDB/server.git
synced 2025-11-16 20:23:18 +03:00
dba087530487103fbaa432a08b78ae4a19bf89e7
19 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
7636b12f6c |
WL#1062 "log charset info into all Query_log_event":
we store 7 bytes (1 + 2*3) in every Query_log_event. In the future if users want binlog optimized for small size and less safe, we could add --binlog-no-charset (and binlog-no-sql-mode etc): charset info is something by design optional (even if for now we don't offer possibility to disable it): it's not a binlog format change. We try to reduce the number of get_charset() calls in the slave SQL thread to a minimum by caching the charset read from the previous event (which will often be equal to the one of the current event). We don't use SET ONE_SHOT for charset-aware repl (we still do for timezones, will be fixed later). No more errors if one changes the global value of charset vars on master or slave (as we log charset info in all Query_log_event). Not fixing Load_log_event as it will be rewritten soon by Dmitri. Testing how mysqlbinlog behaves in rpl_charset.test. mysqlbinlog needs to know where charset file is (to be able to convert a charset number found in binlog (e.g. in User_var_log_event) to a charset name); mysql-test-run needs to pass the correct value for this option to mysqlbinlog. Many result udpates (adding charset info into every event shifts log_pos in SHOW BINLOG EVENTS). Roughly the same job is to be done for timezones :) client/mysqlbinlog.cc: mysqlbinlog needs charsets knowledge, to be able to convert a charset number found in binlog to a charset name (to be able to print things like this: SET @`a`:=_cp850 0x4DFC6C6C6572 COLLATE `cp850_general_ci`; mysql-test/mysql-test-run.sh: tell mysqlbinlog about charsets dir mysql-test/r/ctype_ucs.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/drop_temp_table.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/insert_select.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/mix_innodb_myisam_binlog.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/mysqlbinlog.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/mysqlbinlog2.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. The log_pos shift is why the SET INSERT_ID=4 event changes position in the result. mysql-test/r/rpl_charset.result: Running mysqlbinlog to check how it behaves on charset stuff. SET ONE_SHOT is now gone. Repl of LOAD DATA INFILE is not yet charset-aware (will soon be, when WL#874 is pushed) and, anyway result has a dependency on the temp filename (SQL-LOAD-*-[0-9] which is not constant). No more errors if one changes global character sets. mysql-test/r/rpl_error_ignored_table.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/rpl_flush_log_loop.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/rpl_flush_tables.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/rpl_loaddata.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/rpl_loaddata_rule_m.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/rpl_log.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/rpl_max_relay_size.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/rpl_relayrotate.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/rpl_replicate_do.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/rpl_rotate_logs.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/rpl_temporary.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/rpl_timezone.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/rpl_user_variables.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/user_var.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/t/rpl_charset.test: Running mysqlbinlog to check how it behaves on charset stuff (so, need fixed timestamp). SET ONE_SHOT is not printed to binlog anymore, so no need to test if ::exec_event() works ok. Repl of LOAD DATA INFILE is not yet charset-aware (will soon be, when WL#874 is pushed) and, anyway result has a dependency on the temp filename (SQL-LOAD-*-[0-9] which is not constant). No more errors if one changes global character sets. mysql-test/t/rpl_user_variables.test: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. sql/log.cc: No more SET ONE_SHOT for charsets (remains for TZ until solved with Dmitri). sql/log_event.cc: We now log charset info in each Query_log_event in binlog. It's 2*3 = 6 bytes: session character_set_client, session collation_connection, session collation_server. Now we would need only one byte per variable, but Bar said 2 is safer for the future. When slave or mysqlbinlog reads that info, it needs to get_charset() on these numbers (so, 3 get_charset() calls), as most of the time the 6-byte charset info will be equal to the previous event's, we cache the previous event's charset and if equal, no need to get_charset(). As "flags2", SQL_MODE, catalog, autoinc variables, charset info is not a permanent addition: in the future we can add options to the master to not log any of these, old 5.0 should be able to parse these. A little bit of cleanup on autoinc stuff in replication. Fixing a bug in Start_log_event_v3::exec_event() where we used rli->relay_log.description_event_for_exec->binlog_version while we should use binlog_version (if it's a 3.23 master, that's all that counts; not the fact that the relay log is in 5.0 format). sql/log_event.h: binlogging of charset info in each Query_log_event. sql/mysql_priv.h: comment sql/set_var.cc: checks to refuse change of global charset variables are removed: they were needed for 4.1->4.1 but not for 5.0.3->5.0.3. Yes this opens a breach if one does 4.1->5.0.3, where the checks would still be needed. But these checks would need reading relay_log.description_event_for_queue, which is currently an object used in many places by the I/O thread and only it. So, currently we don't take mutexes for this object, and if we read the object in set_var.cc (client thread) we need to add mutexes everywhere, but the replication code is already too broken with mutexes now (no consistent use of mutexes); mutex usage in replication should be fixed but preferrably during/after multimaster coding as it's going to shuffle mutexes already. sql/set_var.h: Since we don't forbid global change of charset vars for replication/binlogging, don't need specific ::check() methods anymore sql/slave.cc: Some little debug info which has nothing to do with charsets. Disabling master's charset check when slave I/O thread connects. Functions for charset caching/invalidating in the slave SQL thread. sql/slave.h: Cached charset in the slave SQL thread. |
||
|
|
8b026230ff |
showing table type now is controled by new parameter 'FULL' of SHOW TABLES command (SHOW FULL TABLES) (as it was decided on last dev conf)
mysql-test/r/connect.result: returned SHOW TABLES default behaviour mysql-test/r/ctype_recoding.result: returned SHOW TABLES default behaviour mysql-test/r/drop.result: returned SHOW TABLES default behaviour mysql-test/r/lowercase_table.result: returned SHOW TABLES default behaviour mysql-test/r/rename.result: returned SHOW TABLES default behaviour mysql-test/r/rpl000009.result: returned SHOW TABLES default behaviour mysql-test/r/rpl_error_ignored_table.result: returned SHOW TABLES default behaviour mysql-test/r/select.result: returned SHOW TABLES default behaviour mysql-test/r/sp.result: returned SHOW TABLES default behaviour mysql-test/r/system_mysql_db.result: returned SHOW TABLES default behaviour mysql-test/r/view.result: test of new parameter od SHOW TABLES and default behaviour without parameter mysql-test/t/view.test: test of new parameter od SHOW TABLES and default behaviour without parameter sql/mysql_priv.h: parameter added to mysqld_show_tables sql/sql_parse.cc: parameter added to mysqld_show_tables sql/sql_show.cc: showing table type now is controled by new parameter 'FULL' of SHOW TABLES command (SHOW FULL TABLES) sql/sql_yacc.yy: showing table type now is controled by new parameter 'FULL' of SHOW TABLES command (SHOW FULL TABLES) |
||
|
|
10d0dca6b4 |
standard values for table type in SHOW TABLES (BUG#4603)
mysql-test/r/connect.result: standard values for table type in SHOW TABLES mysql-test/r/ctype_recoding.result: standard values for table type in SHOW TABLES mysql-test/r/drop.result: standard values for table type in SHOW TABLES mysql-test/r/greedy_optimizer.result: fixed results mysql-test/r/lowercase_table.result: standard values for table type in SHOW TABLES mysql-test/r/ps_1general.result: standard values for table type in SHOW TABLES mysql-test/r/rename.result: standard values for table type in SHOW TABLES mysql-test/r/rpl000009.result: standard values for table type in SHOW TABLES mysql-test/r/rpl_error_ignored_table.result: standard values for table type in SHOW TABLES mysql-test/r/select.result: standard values for table type in SHOW TABLES mysql-test/r/system_mysql_db.result: standard values for table type in SHOW TABLES mysql-test/r/view.result: standard values for table type in SHOW TABLES sql/sql_show.cc: standard values for table type in SHOW TABLES debugging trap |
||
|
|
8790b1e65c |
VIEW
two TABLE_LIST copy eliminated include/mysqld_error.h: errors of view libmysqld/Makefile.am: new view file mysql-test/r/connect.result: SHOW TABLE show type of table mysql-test/r/ctype_recoding.result: SHOW TABLE show type of table mysql-test/r/drop.result: SHOW TABLE show type of table mysql-test/r/grant.result: new two privileges (CRETEA|SHOW VIEW) mysql-test/r/lowercase_table.result: SHOW TABLE show type of table mysql-test/r/ps_1general.result: SHOW TABLE show type of table mysql-test/r/rename.result: SHOW TABLE show type of table mysql-test/r/rpl000009.result: SHOW TABLE show type of table mysql-test/r/rpl_error_ignored_table.result: SHOW TABLE show type of table mysql-test/r/select.result: SHOW TABLE show type of table mysql-test/r/system_mysql_db.result: SHOW TABLE show type of table new two privileges (CRETEA|SHOW VIEW) mysql-test/t/system_mysql_db_fix.test: removing all system tables scripts/mysql_fix_privilege_tables.sql: new two privileges (CRETEA|SHOW VIEW) sql/Makefile.am: new VIEW related file sql/ha_myisammrg.cc: two TABLE_LIST copy eliminated sql/item.cc: VIEW sql/item.h: VIEW sql/item_subselect.cc: VIEW sql/item_subselect.h: VIEW sql/lex.h: VIEW sql/lock.cc: VIEW sql/mysql_priv.h: VIEW sql/mysqld.cc: VIEW new parameter - sql_updatable_view_key sql/opt_sum.cc: two TABLE_LIST copy eliminated sql/set_var.cc: new parameter - sql_updatable_view_key sql/share/czech/errmsg.txt: errors messages of views sql/share/danish/errmsg.txt: errors messages of views sql/share/dutch/errmsg.txt: errors messages of views sql/share/english/errmsg.txt: errors messages of views sql/share/estonian/errmsg.txt: errors messages of views sql/share/french/errmsg.txt: errors messages of views sql/share/german/errmsg.txt: errors messages of views sql/share/greek/errmsg.txt: errors messages of views sql/share/hungarian/errmsg.txt: errors messages of views sql/share/italian/errmsg.txt: errors messages of views sql/share/japanese/errmsg.txt: errors messages of views sql/share/korean/errmsg.txt: errors messages of views sql/share/norwegian-ny/errmsg.txt: errors messages of views sql/share/norwegian/errmsg.txt: errors messages of views sql/share/polish/errmsg.txt: errors messages of views sql/share/portuguese/errmsg.txt: errors messages of views sql/share/romanian/errmsg.txt: errors messages of views sql/share/russian/errmsg.txt: errors messages of views sql/share/serbian/errmsg.txt: errors messages of views sql/share/slovak/errmsg.txt: errors messages of views sql/share/spanish/errmsg.txt: errors messages of views sql/share/swedish/errmsg.txt: errors messages of views sql/share/ukrainian/errmsg.txt: errors messages of views sql/slave.cc: two TABLE_LIST copy eliminated sql/sp.cc: VIEW sql/sql_acl.cc: VIEW sql/sql_acl.h: VIEW sql/sql_base.cc: VIEW sql/sql_cache.cc: two TABLE_LIST copy eliminated sql/sql_class.h: VIEW sql/sql_db.cc: two TABLE_LIST copy eliminated sql/sql_delete.cc: VIEW sql/sql_derived.cc: VIEW sql/sql_handler.cc: two TABLE_LIST copy eliminated sql/sql_help.cc: two TABLE_LIST copy eliminated sql/sql_insert.cc: VIEW sql/sql_lex.cc: VIEW sql/sql_lex.h: VIEW sql/sql_load.cc: VIEW sql/sql_olap.cc: VIEW sql/sql_parse.cc: two TABLE_LIST copy eliminated VIEW sql/sql_prepare.cc: VIEW sql/sql_rename.cc: two TABLE_LIST copy eliminated sql/sql_select.cc: VIEW sql/sql_show.cc: VIEW sql/sql_table.cc: VIEW sql/sql_union.cc: VIEW sql/sql_update.cc: VIEW sql/sql_yacc.yy: VIEW sql/table.cc: VIEW sql/table.h: VIEW sql/tztime.cc: two TABLE_LIST copy eliminated sql/unireg.h: VIEW tests/client_test.c: VIEW |
||
|
|
2eecc377a6 |
Post-merge fixes, some quite complex. client/mysqlbinlog.cc and sql/log_event.cc
merged manually by guilhem. client/mysqlbinlog.cc: Post-merge fixes; manually merged by guilhem. include/mysqld_error.h: Post-merge fixes. mysql-test/r/drop_temp_table.result: Post-merge fixes. mysql-test/r/insert.result: Post-merge fixes. mysql-test/r/mysqlbinlog.result: Post-merge fixes. mysql-test/r/query_cache.result: Post-merge fixes. mysql-test/r/rpl_error_ignored_table.result: Post-merge fixes. mysql-test/r/rpl_relayrotate.result: Post-merge fixes. mysql-test/r/rpl_trunc_binlog.result: Post-merge fixes. mysql-test/r/sp-error.result: Post-merge fixes. mysql-test/r/sp.result: Post-merge fixes. mysql-test/r/system_mysql_db.result: Post-merge fixes. mysql-test/r/variables.result: Post-merge fixes. mysql-test/t/rpl_error_ignored_table.test: Post-merge fixes. mysql-test/t/sp-error.test: Post-merge fixes. sql/ha_innodb.cc: Post-merge fixes. sql/log_event.cc: Post-merge fixes; manually merged by guilhem. sql/set_var.cc: Post-merge fixes. sql/share/danish/errmsg.txt: Post-merge fixes. sql/share/dutch/errmsg.txt: Post-merge fixes. sql/share/english/errmsg.txt: Post-merge fixes. sql/share/estonian/errmsg.txt: Post-merge fixes. sql/sp.cc: Post-merge fixes. sql/sql_insert.cc: Post-merge fixes. sql/sql_table.cc: Post-merge fixes. |
||
|
|
93c70c0772 |
simple optimzation
Portability fixes client/mysqltest.c: Fixed that if error number 0 is included in --error, we will not generate an error message include/mysql.h: Portability fix mysql-test/mysql-test-run.sh: Portability fix mysql-test/r/heap_btree.result: Portability fix mysql-test/r/rpl_error_ignored_table.result: Portability fix mysql-test/t/heap_btree.test: Portability fix mysql-test/t/rpl_error_ignored_table.test: Portability fix sql/sql_base.cc: simple optimzation sql/sql_yacc.yy: simple optimzation |
||
|
|
380bd1d909 |
merge with 4.0 to get portability fixes
mysql-test/mysql-test-run.sh: Auto merged mysql-test/t/rpl_error_ignored_table.test: Auto merged BitKeeper/deleted/.del-mysql_fix_privilege_tables.sql: Auto merged |
||
|
|
86ae07cd24 |
Portability fixes
Fixed some wrong column specifications in mysql_fix_privilege_tables mysql-test/mysql-test-run.sh: Portability fix mysql-test/r/func_math.result: portability fix mysql-test/r/rpl_error_ignored_table.result: portability fix mysql-test/t/func_math.test: portability fix mysql-test/t/rpl_error_ignored_table.test: portability fix scripts/mysql_fix_privilege_tables.sh: func.name was not generated correctly scripts/mysql_fix_privilege_tables.sql: Fixed some wrong column specifications |
||
|
|
022c5241a9 |
after merge fixes
include/my_tree.h: After merge fixes mysql-test/r/create.result: After merge fixes mysql-test/r/insert.result: After merge fixes mysql-test/r/multi_update.result: After merge fixes mysql-test/r/query_cache.result: After merge fixes mysql-test/r/rpl_error_ignored_table.result: After merge fixes mysql-test/r/rpl_optimize.result: After merge fixes mysql-test/r/show_check.result: After merge fixes mysql-test/t/insert.test: After merge fixes (Remove columns with space last) mysql-test/t/multi_update.test: After merge fixes mysql-test/t/show_check.test: After merge fixes sql/field.cc: Remove compiler warnings sql/sql_base.cc: Fix bug when table was refreshed |
||
|
|
a8aacf8764 |
merge with 4.0
BitKeeper/etc/logging_ok: auto-union VC++Files/innobase/innobase.dsp: Auto merged VC++Files/libmysql/libmysql.dsp: Auto merged acinclude.m4: Auto merged configure.in: Auto merged BitKeeper/deleted/.del-com0shm.c~6a16f0c3d81de1f: Auto merged BitKeeper/deleted/.del-mysql_fix_privilege_tables.sql: Auto merged extra/replace.c: Auto merged include/my_sys.h: Auto merged innobase/btr/btr0btr.c: Auto merged innobase/btr/btr0cur.c: Auto merged innobase/btr/btr0pcur.c: Auto merged innobase/btr/btr0sea.c: Auto merged innobase/configure.in: Auto merged innobase/data/data0data.c: Auto merged innobase/dict/dict0boot.c: Auto merged innobase/dict/dict0crea.c: Auto merged innobase/dict/dict0dict.c: Auto merged innobase/dict/dict0load.c: Auto merged innobase/dict/dict0mem.c: Auto merged innobase/ha/ha0ha.c: Auto merged innobase/ha/hash0hash.c: Auto merged innobase/include/btr0btr.ic: Auto merged innobase/include/data0type.ic: Auto merged innobase/include/dict0mem.h: Auto merged innobase/include/log0log.ic: Auto merged innobase/include/mach0data.ic: Auto merged innobase/include/mtr0log.h: Auto merged innobase/include/mtr0mtr.h: Auto merged innobase/include/os0file.h: Auto merged innobase/include/row0upd.ic: Auto merged innobase/include/srv0srv.h: Auto merged innobase/include/sync0sync.h: Auto merged innobase/include/trx0rseg.ic: Auto merged innobase/lock/lock0lock.c: Auto merged innobase/log/log0recv.c: Auto merged innobase/mem/mem0dbg.c: Auto merged innobase/mtr/mtr0log.c: Auto merged innobase/mtr/mtr0mtr.c: Auto merged innobase/os/os0file.c: Auto merged innobase/page/page0cur.c: Auto merged innobase/page/page0page.c: Auto merged innobase/pars/lexyy.c: Auto merged innobase/read/read0read.c: Auto merged innobase/rem/rem0cmp.c: Auto merged innobase/rem/rem0rec.c: Auto merged innobase/row/row0ins.c: Auto merged innobase/row/row0mysql.c: Auto merged innobase/row/row0purge.c: Auto merged innobase/row/row0sel.c: Auto merged innobase/row/row0undo.c: Auto merged innobase/row/row0upd.c: Auto merged innobase/srv/srv0srv.c: Auto merged innobase/srv/srv0start.c: Auto merged innobase/sync/sync0rw.c: Auto merged innobase/thr/thr0loc.c: Auto merged innobase/trx/trx0purge.c: Auto merged innobase/trx/trx0rec.c: Auto merged innobase/trx/trx0roll.c: Auto merged innobase/trx/trx0trx.c: Auto merged innobase/trx/trx0undo.c: Auto merged myisam/mi_check.c: Auto merged myisam/myisamchk.c: Auto merged mysql-test/r/multi_update.result: Auto merged mysql-test/r/mysqlbinlog.result: Auto merged mysql-test/r/rpl_error_ignored_table.result: Auto merged mysql-test/t/multi_update.test: Auto merged mysql-test/t/rpl_error_ignored_table.test: Auto merged mysys/mf_iocache.c: Auto merged mysys/mf_pack.c: Auto merged mysys/my_getopt.c: Auto merged sql/ha_berkeley.cc: Auto merged sql/ha_myisam.cc: Auto merged sql/lock.cc: Auto merged sql/log.cc: Auto merged sql/opt_range.cc: Auto merged sql/set_var.h: Auto merged sql/sql_cache.cc: Auto merged sql/sql_cache.h: Auto merged sql/sql_delete.cc: Auto merged sql/sql_handler.cc: Auto merged sql/sql_insert.cc: Auto merged sql/sql_list.h: Auto merged sql/sql_select.cc: Auto merged sql/sql_show.cc: Auto merged sql/sql_table.cc: Auto merged sql/sql_update.cc: Auto merged tests/thread_test.c: Auto merged client/mysqldump.c: Keep original indentation mysql-test/r/merge.result: keep old file scripts/mysql_fix_privilege_tables.sh: Keep old structure in merge with 4.0 sql/table.cc: merge with 4.0 + simple optimizations |
||
|
|
bd6c4ef400 |
Fix for BUG#2983 "If statement was killed on master, slave errors despite replicate-wild-ignore-t"
We introduce a new function mysql_test_parse_for_slave(). If the slave sees that the query got a really bad error on master (killed e.g.), then it calls this function to know if this query can be ignored because of replicate-*-table rules (do not worry about replicate-*-db rules: they are checked so early that they have no bug). If the answer is yes, it skips the query and continues. If it's no, then it stops and say "fix your slave data manually" (like it did before this change). mysql-test/r/rpl_error_ignored_table.result: result update mysql-test/t/rpl_error_ignored_table-slave.opt: ignore more tables mysql-test/t/rpl_error_ignored_table.test: we test if a killed query on the master, is ignored on the slave if the tables it involves should be excluded because of replicate-*-table rules. sql/log_event.cc: If the query got a really bad error on the master (thread killed etc), parse it to test the table names: if the replicate-*-do|ignore-table rules say "this query must be ignored" then we exit gracefully; otherwise we warn about the bad error and tell DBA to check/fix it. Before this change, we always warned and stopped. sql/mysql_priv.h: new function sql/slave.cc: don't print error immediately as we need to do one more test to be sure. sql/sql_parse.cc: we add a function mysql_test_parse_for_slave(), to be used only by the slave if it wants to know if the query should be ignored or not; so this function only parses the query, does not execute it. |
||
|
|
8a8fef225d |
Write slave status field names using consistent style.
(Initial caps for each word.) For example, instead of writing Until_condition, Until_Log_File, and Until_log_pos, write Until_Condition, Until_Log_File, and Until_Log_pos. mysql-test/r/rpl000015.result: Write slave status field names using consistent style. mysql-test/r/rpl_empty_master_crash.result: Write slave status field names using consistent style. mysql-test/r/rpl_error_ignored_table.result: Write slave status field names using consistent style. mysql-test/r/rpl_flush_log_loop.result: Write slave status field names using consistent style. mysql-test/r/rpl_loaddata.result: Write slave status field names using consistent style. mysql-test/r/rpl_log.result: Write slave status field names using consistent style. mysql-test/r/rpl_log_pos.result: Write slave status field names using consistent style. mysql-test/r/rpl_max_relay_size.result: Write slave status field names using consistent style. mysql-test/r/rpl_openssl.result: Write slave status field names using consistent style. mysql-test/r/rpl_redirect.result: Write slave status field names using consistent style. mysql-test/r/rpl_replicate_do.result: Write slave status field names using consistent style. mysql-test/r/rpl_reset_slave.result: Write slave status field names using consistent style. mysql-test/r/rpl_rotate_logs.result: Write slave status field names using consistent style. mysql-test/r/rpl_trunc_binlog.result: Write slave status field names using consistent style. mysql-test/r/rpl_until.result: Write slave status field names using consistent style. mysql-test/t/mix_innodb_myisam_binlog.test: Write slave status field names using consistent style. mysql-test/t/rpl_max_relay_size.test: Write slave status field names using consistent style. sql/slave.cc: Write slave status field names using consistent style. |
||
|
|
bc8f801bf0 |
Don't show Slave_IO_State in the testsuite (replace it with #) because it can't be predicted.
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. |
||
|
|
a7a7a8cacd |
Final push for WL#1098:
"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. |
||
|
|
b15eba8820 |
Post merge fixes. Fixed tests after adding UNTIL conditions
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 |
||
|
|
651898adfc |
Updated various tests results which were missed during auto-merge
with replication over SSL patch. mysql-test/r/rpl_error_ignored_table.result: New SSL related fields in SHOW SLAVE STATUS mysql-test/r/rpl_loaddata.result: New SSL related fields in SHOW SLAVE STATUS mysql-test/r/rpl_max_relay_size.result: New SSL related fields in SHOW SLAVE STATUS mysql-test/r/rpl_openssl.result: Post merge update of SHOW SLAVE STATUS result mysql-test/r/rpl_reset_slave.result: New SSL related fields in SHOW SLAVE STATUS mysql-test/r/rpl_rotate_logs.result: Fixed bad manual merge result |
||
|
|
2901c3b8fa |
After merge fixes
Use server character set if --default-character-set is not used Added convert_string() for more efficient alloc+character-set convert of strings BitKeeper/deleted/.del-convert.result~a3b56e1db6f498e9: Delete: mysql-test/r/convert.result BitKeeper/deleted/.del-convert.test~f4ceb743194dfe72: Delete: mysql-test/t/convert.test BitKeeper/deleted/.del-make_win_src_distribution.old~5c9ebdc4a852b43b: Delete: scripts/make_win_src_distribution.old client/mysql.cc: Use server character set if --default-character-set is not used client/mysqltest.c: Code cleanup (merge identical code) More debug messages heap/hp_create.c: After merge fix include/m_ctype.h: After merge fix include/my_global.h: Remove size_str (we already have size_s) include/mysql_com.h: After merge fix libmysql/libmysql.c: After merge fix libmysqld/Makefile.am: After merge fix mysql-test/r/auto_increment.result: After merge fix mysql-test/r/create.result: After merge fix mysql-test/r/ctype_latin1_de.result: After merge fix mysql-test/r/distinct.result: After merge fix mysql-test/r/drop.result: After merge fix mysql-test/r/fulltext.result: After merge fix mysql-test/r/func_gconcat.result: After merge fix mysql-test/r/func_str.result: After merge fix mysql-test/r/func_test.result: After merge fix mysql-test/r/grant.result: After merge fix mysql-test/r/group_by.result: After merge fix mysql-test/r/handler.result: After merge fix mysql-test/r/heap.result: After merge fix mysql-test/r/heap_btree.result: After merge fix mysql-test/r/heap_hash.result: After merge fix mysql-test/r/innodb.result: After merge fix mysql-test/r/insert.result: After merge fix mysql-test/r/insert_select.result: After merge fix mysql-test/r/join_outer.result: After merge fix mysql-test/r/key.result: After merge fix mysql-test/r/key_cache.result: After merge fix mysql-test/r/loaddata.result: After merge fix mysql-test/r/myisam.result: After merge fix mysql-test/r/null.result: After merge fix mysql-test/r/null_key.result: After merge fix mysql-test/r/order_by.result: After merge fix mysql-test/r/rpl_do_grant.result: After merge fix mysql-test/r/rpl_error_ignored_table.result: After merge fix mysql-test/r/rpl_ignore_grant.result: After merge fix mysql-test/r/rpl_loaddata.result: After merge fix mysql-test/r/rpl_log.result: After merge fix mysql-test/r/rpl_log_pos.result: After merge fix mysql-test/r/rpl_max_relay_size.result: After merge fix mysql-test/r/rpl_replicate_do.result: After merge fix mysql-test/r/rpl_reset_slave.result: After merge fix mysql-test/r/rpl_rotate_logs.result: After merge fix mysql-test/r/rpl_user_variables.result: After merge fix mysql-test/r/select.result: After merge fix mysql-test/r/select_safe.result: After merge fix mysql-test/r/subselect.result: After merge fix mysql-test/r/type_blob.result: After merge fix mysql-test/r/type_decimal.result: After merge fix mysql-test/r/type_float.result: After merge fix mysql-test/r/type_ranges.result: After merge fix mysql-test/r/type_time.result: After merge fix mysql-test/r/type_uint.result: After merge fix mysql-test/r/union.result: After merge fix mysql-test/r/warnings.result: After merge fix mysql-test/t/auto_increment.test: After merge fix mysql-test/t/case.test: After merge fix mysql-test/t/ctype_collate.test: After merge fix mysql-test/t/ctype_latin1_de.test: After merge fix mysql-test/t/drop.test: After merge fix mysql-test/t/func_in.test: After merge fix mysql-test/t/func_set.test: After merge fix mysql-test/t/func_str.test: After merge fix mysql-test/t/func_test.test: After merge fix mysql-test/t/grant.test: After merge fix mysql-test/t/group_by.test: After merge fix mysql-test/t/handler.test: After merge fix mysql-test/t/heap.test: After merge fix mysql-test/t/heap_btree.test: After merge fix mysql-test/t/heap_hash.test: After merge fix mysql-test/t/innodb.test: After merge fix mysql-test/t/insert_select.test: After merge fix mysql-test/t/key.test: After merge fix mysql-test/t/key_cache.test: After merge fix mysql-test/t/lock_tables_lost_commit-master.opt: After merge fix mysql-test/t/lock_tables_lost_commit.test: After merge fix mysql-test/t/myisam.test: After merge fix mysql-test/t/row.test: After merge fix mysql-test/t/subselect.test: After merge fix mysql-test/t/type_decimal.test: After merge fix mysql-test/t/type_ranges.test: After merge fix mysql-test/t/type_uint.test: After merge fix mysql-test/t/variables.test: After merge fix mysql-test/t/warnings.test: After merge fix scripts/make_win_src_distribution.sh: after merge fixes sql-common/client.c: After merge fix Change my_connect() to use poll() If character set is not given, use servers character set. sql/field.cc: After merge fix Don't give warnings when storing data in fields in optimizer. sql/ha_myisammrg.h: After merge fix sql/log.cc: After merge fix sql/log_event.cc: After merge fix sql/mysqld.cc: After merge fix sql/opt_range.cc: After merge fix sql/set_var.cc: Code cleanup Fixed wrong usage of base_names (like medium.key_buffer) that caused core dumps sql/set_var.h: Fixed wrong usage of base_names (like medium.key_buffer) that caused core dumps sql/slave.cc: After merge fix sql/sql_acl.cc: After merge fix Code cleanup sql/sql_class.cc: Added convert_string() for more efficient alloc+character-set convert of strings Add cached flags to avoid calling mysql_charset_same() during parsing. sql/sql_class.h: Added convert_string() for more efficient alloc+character-set convert of strings Add cached flags to avoid calling mysql_charset_same() during parsing. sql/sql_handler.cc: After merge fix sql/sql_lex.h: After merge fix sql/sql_parse.cc: Optimize and fix memory reference errors reported by valgrind sql/sql_repl.cc: After merge fix sql/sql_yacc.yy: After merge fix Avoid calling mysql_charset_same() when parsing identifiers strings/ctype-latin1.c: Port latin_de conversion code from 4.0 |
||
|
|
1c5773add4 |
- fixed an error in the rpl_error_ignored_table test suite: the master
port number can be different from 3306 when doing the release builds
with Do-compile, therefore it has to be replaced with the correct
value during the test run using the "--replace_result" function.
mysql-test/r/rpl_error_ignored_table.result:
- replaced hard-coded master port number with MASTER_PORT variable, since
the port number is different when running the test suite during the
release builds with "Do-compile".
mysql-test/t/rpl_error_ignored_table.test:
- replaced hard-coded master port number with MASTER_PORT variable, since
the port number is different when running the test suite during the
release builds with "Do-compile".
|
||
|
|
eed62d993d |
Fix for
BUG#797 "If query ignored on slave (replicate-ignore-table) the slave still checks if the returned error (0) is the same as the one on the master, whereas it shouldn't test this. Plus a new test for BUG#797. include/mysqld_error.h: New error code (can be sent only to the slave thread, not to normal clients). sql/log.cc: removed comment from a previous debugging. sql/log_event.cc: ER_SLAVE_IGNORED_TABLE is an ignorable error. sql/share/czech/errmsg.txt: for BUG#797 sql/share/danish/errmsg.txt: for BUG#797 sql/share/dutch/errmsg.txt: for BUG#797 sql/share/english/errmsg.txt: for BUG#797 sql/share/estonian/errmsg.txt: for BUG#797 sql/share/french/errmsg.txt: for BUG#797 sql/share/german/errmsg.txt: for BUG#797 sql/share/greek/errmsg.txt: for BUG#797 sql/share/hungarian/errmsg.txt: for BUG#797 sql/share/italian/errmsg.txt: for BUG#797 sql/share/japanese/errmsg.txt: for BUG#797 sql/share/korean/errmsg.txt: for BUG#797 sql/share/norwegian-ny/errmsg.txt: for BUG#797 sql/share/norwegian/errmsg.txt: for BUG#797 sql/share/polish/errmsg.txt: for BUG#797 sql/share/portuguese/errmsg.txt: for BUG#797 sql/share/romanian/errmsg.txt: for BUG#797 sql/share/russian/errmsg.txt: for BUG#797 sql/share/slovak/errmsg.txt: for BUG#797 sql/share/spanish/errmsg.txt: for BUG#797 sql/share/swedish/errmsg.txt: for BUG#797 sql/share/ukrainian/errmsg.txt: for BUG#797 sql/sql_parse.cc: when in sql_parse in the slave thread we ignore the query because of replicate-do and replicate-ignore options, we return a specific error to the slave thread, so that it knows that the query has been ignored (which is different from a successful query). A small cleanup (test was done twice). |