mysql-test/r/innodb.result:
Auto merged
BitKeeper/deleted/.del-select.result.es~240635f6a3f1a079:
Auto merged
BitKeeper/deleted/.del-type_float.result.es~a5533e4118eadc04:
Auto merged
BitKeeper/deleted/.del-type_ranges.result.es~bb77517f4c9dc978:
Auto merged
mysql-test/r/type_float.result:
Auto merged
mysql-test/r/variables.result:
Auto merged
mysql-test/t/alter_table.test:
Auto merged
mysql-test/t/connect.test:
Auto merged
mysql-test/t/grant2.test:
Auto merged
mysql-test/t/grant_cache.test:
Auto merged
mysql-test/t/innodb.test:
Auto merged
mysql-test/t/mix_innodb_myisam_binlog.test:
Auto merged
mysql-test/t/mysqlbinlog.test:
Auto merged
mysql-test/t/mysqlbinlog2.test:
Auto merged
mysql-test/t/mysqldump.test:
Auto merged
mysql-test/t/ps_1general.test:
Auto merged
mysql-test/t/select.test:
Auto merged
mysql-test/t/show_check.test:
Auto merged
mysql-test/t/system_mysql_db_fix.test:
Auto merged
mysql-test/t/type_blob.test:
Auto merged
mysql-test/t/type_float.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/mysql-test-run.sh:
Merge
mysql-test/r/alter_table.result:
Update results
mysql-test/r/ctype_ucs.result:
Update results
mysql-test/r/grant.result:
Update results
mysql-test/r/insert_select.result:
Update results
mysql-test/r/ps_1general.result:
Update results
mysql-test/r/select.result:
Update results
mysql-test/r/timezone2.result:
Update results
mysql-test/r/type_blob.result:
Update results
mysql-test/r/type_ranges.result:
Update results
mysql-test/r/user_var.result:
Update results
mysql-test/t/ctype_ucs.test:
Merge
mysql-test/t/grant.test:
Merge
mysql-test/t/insert_select.test:
Merge
mysql-test/t/timezone2.test:
Merge
mysql-test/t/type_ranges.test:
Merge
mysql-test/t/user_var.test:
Merge
mysql-test/r/ctype_ucs.result:
Auto merged
mysql-test/r/ps_1general.result:
Auto merged
mysql-test/r/select.result:
Auto merged
mysql-test/r/type_blob.result:
Auto merged
mysql-test/r/type_float.result:
Auto merged
mysql-test/r/user_var.result:
Auto merged
mysql-test/r/variables.result:
Auto merged
mysql-test/t/ctype_ucs.test:
Auto merged
mysql-test/t/grant2.test:
Auto merged
mysql-test/t/mysqldump.test:
Auto merged
mysql-test/t/select.test:
Auto merged
mysql-test/t/show_check.test:
Auto merged
mysql-test/t/type_float.test:
Auto merged
mysql-test/t/user_var.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/mysql-test-run.sh:
Merge changes
mysql-test/t/ps_1general.test:
Merge changes
up a couple of tests and adjusting the output of others. Exposes two
bugs (9472 and 9508).
BitKeeper/deleted/.del-drop_temp_table.result.es~bc4cfb1ee1257458:
Delete: mysql-test/r/drop_temp_table.result.es
BitKeeper/deleted/.del-insert_select.result.es~ae7eb9891d6c07c4:
Delete: mysql-test/r/insert_select.result.es
BitKeeper/deleted/.del-myisam-blob.result.es~d498dae7d9f1a6d4:
Delete: mysql-test/r/myisam-blob.result.es
BitKeeper/deleted/.del-packet.result.es~6e71c3b634806185:
Delete: mysql-test/r/packet.result.es
BitKeeper/deleted/.del-query_cache.result.es~246ad731a517d9ab:
Delete: mysql-test/r/query_cache.result.es
BitKeeper/deleted/.del-select.result.es~240635f6a3f1a079:
Delete: mysql-test/r/select.result.es
BitKeeper/deleted/.del-type_blob.result.es~a4a0d4454b2d0218:
Delete: mysql-test/r/type_blob.result.es
BitKeeper/deleted/.del-type_float.result.es~a5533e4118eadc04:
Delete: mysql-test/r/type_float.result.es
BitKeeper/deleted/.del-type_ranges.result.es~bb77517f4c9dc978:
Delete: mysql-test/r/type_ranges.result.es
mysql-test/mysql-test-run.sh:
Remove support for special result extension -- bad idea!
mysql-test/t/ps_1general.test:
Explain --replace_result
mysql-test/r/insert_select.result:
Update results
mysql-test/r/select.result:
Update results
mysql-test/r/type_blob.result:
Update results
mysql-test/r/type_float.result:
Update results
mysql-test/r/type_ranges.result:
Update results
mysql-test/t/drop_temp_table.test:
Skip this test with embedded server
mysql-test/t/insert_select.test:
Move binlog test to new file
mysql-test/t/select.test:
Replace grants column from 'show full columns'
mysql-test/t/type_blob.test:
Replace grants column from 'show full columns'
mysql-test/t/type_float.test:
Replace grants column from 'show full columns'
mysql-test/t/type_ranges.test:
Replace grants column from 'show full columns'
sql/sql_select.cc:
Fix conditional around query_cache_abort() call.
by adding check for embedded server within tests and splitting some
tests into multiple test files.
mysql-test/mysql-test-run.sh:
Remove most of hardcoded list of tests to skip
mysql-test/r/ps_1general.result:
Update results
mysql-test/r/timezone2.result:
Update results
mysql-test/r/user_var.result:
Update results
mysql-test/r/variables.result:
Update results
mysql-test/t/mix_innodb_myisam_binlog.test:
Disable test with embedded server
mysql-test/t/mysql_protocols.test:
Disable test with embedded server
mysql-test/t/mysqlbinlog.test:
Disable test with embedded server
mysql-test/t/mysqlbinlog2.test:
Disable test with embedded server
mysql-test/t/mysqldump.test:
Disable test with embedded server
mysql-test/t/packet.test:
Disable test with embedded server
mysql-test/t/ps_1general.test:
Move parts of test to new ps_grant
mysql-test/t/rename.test:
Disable test with embedded server
mysql-test/t/show_check.test:
Disable test with embedded server
mysql-test/t/system_mysql_db_fix.test:
Disable test with embedded server
mysql-test/t/timezone2.test:
Move part of test to timezone_grant
mysql-test/t/user_var.test:
Move part of test to new user_var-binlog
mysql-test/t/variables.test:
Move part of test to rpl_variables
BitKeeper/deleted/.del-innodb.result.es~ba2a97747fd41a3a:
Delete: mysql-test/r/innodb.result.es
mysql-test/mysql-test-run.sh:
Remove innodb tests from list of tests automatically skipped
with embedded server
mysql-test/r/innodb.result:
Update results
mysql-test/t/innodb-deadlock.test:
Skip with embedded server
mysql-test/t/innodb-lock.test:
Skip with embedded server
mysql-test/t/innodb.test:
Move test of replace delayed to new test file, add to --replace_result
to clean up path
mysql-test-run to the tests themselves.
mysql-test/t/bdb-deadlock.test:
Don't run this test with embedded server
mysql-test/mysql-test-run.sh:
Remove tests from being skipped with embedded server
mysql-test/t/connect.test:
Skip test under embedded server
mysql-test/t/flush_block_commit.test:
Skip test under embedded server
mysql-test/t/grant.test:
Skip test under embedded server
mysql-test/t/grant2.test:
Skip test under embedded server
mysql-test/t/grant_cache.test:
Skip test under embedded server
InnoDB needs longer start time for second slave on slow hosts
mysql-test/mysql-test-run.pl:
InnoDB needs longer start time for second slave on slow hosts
mysql-test/mysql-test-run.sh:
InnoDB needs longer start time for second slave on slow hosts
heap/hp_create.c:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
mysql-test/r/ctype_utf8.result:
Auto merged
mysql-test/r/olap.result:
Auto merged
mysql-test/t/func_str.test:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/key.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_select.h:
Auto merged
sql/sql_string.h:
Auto merged
client/mysqldump.c:
Manual merge
mysql-test/r/func_gconcat.result:
Manual merge
mysql-test/r/func_str.result:
Manual merge
mysql-test/t/func_gconcat.test:
Manual merge
sql/ha_heap.cc:
Manual merge
sql/sql_select.cc:
Manual merge
Check that there is a disabled.def before using it
disabled.def:
Reenable ndb tests accidently disabled
mysql-test/t/disabled.def:
Reenable ndb tests accidently disabled
mysql-test/mysql-test-run.sh:
Check that there is a disabled.def before using it
heap/hp_create.c:
Partly reverty back patch to ensure that auto_key and auto_key_type are calculated the same way
include/heap.h:
Partly reverty back patch to ensure that auto_key and auto_key_type are calculated the same way
mysql-test/mysql-test-run.sh:
made --skip-ndb a synonyme for --skip-ndbcluster
sql/ha_heap.cc:
Partly reverty back patch to ensure that auto_key and auto_key_type are calculated the same way
Added feature to disable tests from a list in a file "disabled.def"
Moved down the code that disables, so that --do-test and --start-from
don't list the disabled tests not in range.
disabled.def:
List of test cases to temporarely disable
mysql-test/t/disabled.def:
List of test cases to temporarely disable
mysql-test/mysql-test-run.sh:
Added feature to disable tests from a list in a file "disabled.def"
Moved down the code that disables, so that --do-test and --start-from
don't list the disabled tests not in range.
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
Build-tools/Do-compile:
Auto merged
client/mysql.cc:
Auto merged
client/mysqldump.c:
Auto merged
include/my_sys.h:
Auto merged
innobase/buf/buf0lru.c:
Auto merged
innobase/dict/dict0dict.c:
Auto merged
innobase/include/page0page.ic:
Auto merged
innobase/include/srv0srv.h:
Auto merged
innobase/os/os0thread.c:
Auto merged
innobase/rem/rem0cmp.c:
Auto merged
innobase/row/row0mysql.c:
Auto merged
innobase/row/row0sel.c:
Auto merged
innobase/srv/srv0srv.c:
Auto merged
innobase/trx/trx0sys.c:
Auto merged
innobase/trx/trx0trx.c:
Auto merged
innobase/ut/ut0ut.c:
Auto merged
myisam/ft_parser.c:
Auto merged
myisam/mi_create.c:
Auto merged
mysql-test/Makefile.am:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
mysql-test/r/mysqldump.result:
Auto merged
mysql-test/r/ndb_alter_table.result:
Auto merged
mysql-test/t/mysqldump.test:
Auto merged
mysql-test/t/ndb_alter_table.test:
Auto merged
mysys/hash.c:
Auto merged
mysys/my_bitmap.c:
Auto merged
ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
scripts/make_win_src_distribution.sh:
Auto merged
sql/net_serv.cc:
Auto merged
sql/sql_select.cc:
Auto merged
after the previous run had some failures, provided it did not totally crash.
Build-tools/Do-compile:
Change the search string for a test run from "tests were successful" to just
"were successful", which is written by the test run even after some failures.
This is necessary to start the next test suite ('--ps-protocol', '--embedded-server')
even after the previous one had some test failures.
mysql-test/mysql-test-run.sh:
Change the message even after test failures so that it is fairly safe to identify
the end of the run from it (as opposed to a crash of the script).
It is essential that both a run without any and with some test failures
write "were successful" so that it can be grepped.
BitKeeper/etc/logging_ok:
auto-union
mysql-test/mysql-test-run.sh:
Auto merged
ndb/src/kernel/vm/Emulator.cpp:
Auto merged
ndb/src/kernel/vm/Emulator.hpp:
Auto merged
sql/item.cc:
Auto merged
sql/log.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
ndb/src/kernel/main.cpp:
merge
BitKeeper/etc/logging_ok:
auto-union
client/mysql.cc:
Auto merged
extra/my_print_defaults.c:
Auto merged
include/m_string.h:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
mysql-test/r/ctype_utf8.result:
Auto merged
mysql-test/r/user_var.result:
Auto merged
mysql-test/t/user_var.test:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
sql/item_func.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
strings/ctype-simple.c:
Auto merged
strings/ctype-ucs2.c:
Auto merged
strings/ctype-utf8.c:
Auto merged
libmysql/libmysql.c:
ul
mysql-test/r/ps_1general.result:
Merge
mysql-test/t/derived.test:
Merge
mysql-test/t/ps_1general.test:
Merge
mysql-test/t/type_float.test:
Merge
sql/field.cc:
ul
sql/item.cc:
ul
sql/item.h:
ul
sql/item_func.h:
ul
sql/item_strfunc.cc:
ul
sql/item_sum.cc:
ul
sql/item_sum.h:
ul
sql/procedure.h:
ul
sql/sql_derived.cc:
Trivial merge
sql/sql_parse.cc:
ul
sql/sql_update.cc:
Trivial merge
strings/strtod.c:
Use updated code from 4.1
This is bascily same code as we had before or 5.0, execpt that we now have higher accuracy for floating points value that are integers (like 123.45E+02)
Change string->float conversion to delay division as long as possible.
This gives us more exact integer->float conversion for numbers of type '123.45E+02' (Bug #7740)
client/mysql.cc:
Fix wront usage of charset (found during review of pushed code)
include/m_string.h:
Backported my_strtod() from 5.0
mysql-test/mysql-test-run.sh:
Run also mysql_client_test with --debug
mysql-test/r/ps_1general.result:
Safety fix (if mysql_client_test.test fails)
mysql-test/r/type_float.result:
More test
mysql-test/t/mysql_client_test.test:
Comments for what to do if this test fails
mysql-test/t/ps_1general.test:
Safety fix (if mysql_client_test.test fails)
mysql-test/t/type_float.test:
More test to better test new strtod() function
Test also bug #7740 (wrong comparsion between integer and float-in-integer-range)
sql/field.cc:
Backport my_strntod() from 5.0
sql/item.cc:
Backport my_strntod() from 5.0
sql/item.h:
Backport my_strntod() from 5.0
sql/item_func.h:
Backport my_strntod() from 5.0
sql/item_strfunc.cc:
Backport my_strntod() from 5.0
sql/item_sum.cc:
Backport my_strntod() from 5.0
sql/item_sum.h:
Backport my_strntod() from 5.0
sql/procedure.h:
Backport my_strntod() from 5.0
strings/ctype-simple.c:
Backport my_strntod() from 5.0
strings/ctype-ucs2.c:
Backport my_strntod() from 5.0
strings/strtod.c:
Backport my_strntod() from 5.0
Change conversion to delay division as long as possible.
This gives us more exact integer-> float conversion for numbers of type '123.45E+02'
into mysql.com:/home/jonas/src/mysql-5.0-ndb
BitKeeper/etc/logging_ok:
auto-union
BitKeeper/triggers/post-commit:
Auto merged
configure.in:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
ndb/src/common/util/NdbSqlUtil.cpp:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/item.cc:
Auto merged
sql/log.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
- the variable MASTER_MY_PORT1 was used from the script, but it was not set to the port where the second server was started
mysql-test/mysql-test-run.sh:
Export the variable MASTER_MY_PORT1 from the place where the second master is started
appears to have been accidently disabled) and enable ctype_ucs after moving
a subtest that requires binlog to its own test file.
mysql-test/mysql-test-run.sh:
Remove hardcoded skip of ctype_latin1_de and ctype_ucs for embedded server
mysql-test/t/ctype_ucs.test:
Move binlog test to a new test file
mysql-test/r/ctype_ucs.result:
Update result after test moved
into mysql.com:/home/jonas/src/mysql-5.0-ndb
mysql-test/mysql-test-run.sh:
Auto merged
ndb/src/kernel/vm/FastScheduler.cpp:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/mysqld.cc:
Auto merged
After merge fixes
Don't give duplicate warnings for some ::store() functions
mysql-test/mysql-test-run.sh:
Added back missing line
mysql-test/r/ps_2myisam.result:
Update results after removing duplicate warnings from ::store()
mysql-test/r/ps_3innodb.result:
Update results after removing duplicate warnings from ::store()
mysql-test/r/ps_4heap.result:
Update results after removing duplicate warnings from ::store()
mysql-test/r/ps_5merge.result:
Update results after removing duplicate warnings from ::store()
sql/field.cc:
Don't give duplicate warnings for some ::store() functions
Before we could get different number of warnings in the test suite for different platforms
sql/field.h:
Update results after removing duplicate warnings from ::store()
sql/sql_class.h:
Update results after removing duplicate warnings from ::store()
sql/sql_error.cc:
Update results after removing duplicate warnings from ::store()
sql/sql_list.h:
After merge fix
to grant.test and using replace_column to neuter the Privileges column in
SHOW FULL COLUMNS.
BitKeeper/deleted/.del-alter_table.result.es~a1077916d429e443:
Delete: mysql-test/r/alter_table.result.es
mysql-test/t/alter_table.test:
Add replace_column for grant-related column
Move grant-related test to grant.test
mysql-test/r/alter_table.result:
Update results
mysql-test/t/grant.test:
Move grant-related test from alter_table.test
mysql-test/r/grant.result:
Add test results
mysql-test/mysql-test-run.sh:
Don't skip alter_table test for embedded server
configure.in:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
mysql-test/t/ndb_autodiscover.test:
Auto merged
mysql-test/t/ndb_restore.test:
Auto merged
ndb/src/kernel/blocks/dbacc/DbaccMain.cpp:
Auto merged
ndb/test/include/HugoOperations.hpp:
Auto merged
ndb/test/include/NDBT_Test.hpp:
Auto merged
ndb/include/ndbapi/NdbTransaction.hpp:
Auto merged
ndb/test/src/NDBT_Test.cpp:
Auto merged
into mysql.com:/home/mysql_src/mysql-5.0-clean
mysql-test/mysql-test-run.sh:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/set_var.cc:
Auto merged
sql/set_var.h:
Auto merged
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.