1. 04 Feb, 2005 15 commits
    • unknown's avatar
      InnoDB: Exclude code from InnoDB Hot Backup builds · ed4dbd12
      unknown authored
      by adding #ifndef UNIV_HOTBACKUP and adjusting some function
      declarations.
      
      
      innobase/data/data0type.c:
        Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
      innobase/dict/dict0dict.c:
        Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
      innobase/dict/dict0load.c:
        Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
      innobase/include/data0type.ic:
        Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
      innobase/include/srv0srv.h:
        Introduce srv_init(), so that it can be called in InnoDB Hot Backup
      innobase/include/srv0start.h:
        Introduce srv_add_path_separator_if_needed(), so that it can be
        invoked in InnoDB Hot Backup
      innobase/include/sync0sync.h:
        Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
      innobase/include/sync0sync.ic:
        Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
      innobase/include/trx0trx.h:
        trx_recover_for_mysql(): replace uint with ulint, as uint is not
        declared in InnoDB Hot Backup
      innobase/lock/lock0lock.c:
        Replace bool with ibool
        Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
      innobase/row/row0ins.c:
        Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
      innobase/row/row0mysql.c:
        Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
      innobase/srv/srv0srv.c:
        Make srv_init() global, so that InnoDB Hot Backup can call it.
        Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
      innobase/srv/srv0start.c:
        Make srv_add_path_separator_if_needed() global for InnoDB Hot Backup.
        Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
      innobase/sync/sync0rw.c:
        Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
      innobase/sync/sync0sync.c:
        Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
      innobase/trx/trx0roll.c:
        Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
      innobase/trx/trx0trx.c:
        Replace uint with ulint, as uint is undeclared in InnoDB Hot Backup
      innobase/ut/ut0ut.c:
        Exclude code from InnoDB Hot Backup with #ifndef UNIV_HOTBACKUP
      ed4dbd12
    • unknown's avatar
      Merge marko@bk-internal.mysql.com:/home/bk/mysql-5.0 · aee7a9d7
      unknown authored
      into hundin.mysql.fi:/home/marko/mysql-5.0
      
      
      aee7a9d7
    • unknown's avatar
      Merge neptunus.homeip.net:/home/msvensson/mysql/mysql-5.0 · c1d06b3c
      unknown authored
      into neptunus.homeip.net:/home/msvensson/mysql/mysql-5.0-cluster-extra
      
      
      BitKeeper/etc/logging_ok:
        auto-union
      sql/ha_innodb.cc:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      sql/set_var.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      c1d06b3c
    • unknown's avatar
      Updated after review. · 9e92b63a
      unknown authored
      
      sql/ha_ndbcluster.cc:
        Fixing spaces in parameter list.
      9e92b63a
    • unknown's avatar
      InnoDB: A small cleanup: remove two duplicate rec_get_offsets() calls · e16b1b4a
      unknown authored
      
      innobase/page/page0cur.c:
        Remove two duplicate rec_get_offsets() calls
      e16b1b4a
    • unknown's avatar
      Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-5.0 · 285038bd
      unknown authored
      into mysql.com:/home/mysql_src/mysql-5.0-clean
      
      
      285038bd
    • unknown's avatar
      Proposal to fix this problem: when using libmysqlclient, you must call... · e5e7cd8e
      unknown authored
      Proposal to fix this problem: when using libmysqlclient, you must call mysql_server_end() to nicely free memory at the end of your program; it however
      sounds weird to call a function named *SERVER_end* when you're the CLIENT (you're not ending the server, you're ending your ability to talk to servers).
      So here I add two defines which should be more generic names. This was longly discussed with Konstantin, Serg, Brian. The problem started from
      a post on valgrind-users list: http://sourceforge.net/mailarchive/forum.php?thread_id=5778035&forum_id=32038 ; our manual mentions these functions
      only for libmysqld API so needs some fixing, and then we can close BUG#8099 and BUG#6149.
      
      
      include/mysql.h:
        Creating synonyms (defines): mysql_library_init for mysql_server_init, mysql_library_end for mysql_server_end;
        these new names are more generic, so suitable when using libmysqlclient as well as libmysqld.c
      e5e7cd8e
    • unknown's avatar
      Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0 · dd039fe9
      unknown authored
      into mysql.com:/usr/home/ram/work/5.0
      
      
      dd039fe9
    • unknown's avatar
      type_ranges.result.es updated. · ca95b9fe
      unknown authored
      
      mysql-test/r/type_ranges.result.es:
        Updated.
      ca95b9fe
    • unknown's avatar
      Merge mysql.com:/Users/kent/mysql/bk/mysql-4.1-perl · 0c27d518
      unknown authored
      into mysql.com:/Users/kent/mysql/bk/mysql-5.0-compile
      
      
      0c27d518
    • unknown's avatar
      Merge of query cache from 4.1 to 5.0 · 03bc5997
      unknown authored
      
      mysql-test/r/ndb_cache.result:
        Added 'order by' to select's
      mysql-test/r/ndb_cache2.result:
        Added 'order by' to select's
      mysql-test/t/ndb_cache.test:
        Added 'order by' to select's
      mysql-test/t/ndb_cache2.test:
        Added 'order by' to select's
      sql/ha_innodb.h:
        Changed function name
      sql/ha_ndbcluster.cc:
        Merge from query cache from 4.1 to 5.0
        Added better comments
        ndb_get_table_statistics had changed, so there where some adaptions to make
      sql/ha_ndbcluster.h:
        Changed name of function
      sql/handler.h:
        Changed name of function
      sql/sql_cache.cc:
        Changed name of function
      03bc5997
    • unknown's avatar
      Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0 · 961e5f1e
      unknown authored
      into mysql.com:/usr/home/ram/work/5.0
      
      
      BitKeeper/etc/logging_ok:
        auto-union
      961e5f1e
    • unknown's avatar
      type_float.result.es updated · fa17ed68
      unknown authored
      
      mysql-test/r/type_float.result.es:
        Updated.
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      fa17ed68
    • unknown's avatar
      Merge · dbf83295
      unknown authored
      
      BitKeeper/etc/logging_ok:
        auto-union
      sql/item_func.cc:
        Auto merged
      ndb/src/common/util/NdbSqlUtil.cpp:
        merge
      dbf83295
    • unknown's avatar
      Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-4.1 · 41780a75
      unknown authored
      into mysql.com:/Users/kent/mysql/bk/mysql-4.1-perl
      
      
      41780a75
  2. 03 Feb, 2005 25 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.1 · 876b4a59
      unknown authored
      into pcgem.rdg.cyberkinetica.com:/var/db/bk/work-acurtis/bug8057
      
      
      876b4a59
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · e33ef0d9
      unknown authored
      into pcgem.rdg.cyberkinetica.com:/var/db/bk/work-acurtis/bug6726
      
      
      e33ef0d9
    • unknown's avatar
      Bug#6726 - failure to parse NOT BETWEEN · 150cf58f
      unknown authored
        Fix and test for parse bug
      
      
      mysql-test/r/func_test.result:
        Bug#6726
          Test for parse bug
      mysql-test/t/func_test.test:
        Bug#6726
          Test for parse bug
      sql/sql_yacc.yy:
        Bug#6726
          Parser was confused by NOT in lookahead
      150cf58f
    • unknown's avatar
      ndb - sol9x86: cc -xO3: fix optimizer error. · 9f7c9aa7
      unknown authored
      
      ndb/src/common/util/NdbSqlUtil.cpp:
        sol9x86: cc -xO3: fix optimizer error.
        Note: same expression remains in Field_newdate::val_int().
      9f7c9aa7
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.1 · 6bfc46f0
      unknown authored
      into pcgem.rdg.cyberkinetica.com:/var/db/bk/work-acurtis/bug8057
      
      
      sql/item_func.cc:
        Auto merged
      6bfc46f0
    • unknown's avatar
      Bug#8057 · 3c925ee0
      unknown authored
        Fix crash with LAST_INSERT_ID() in UPDATE,
        Tests included,
      
      
      mysql-test/r/update.result:
        Bug#8057
          Test for bug
      mysql-test/t/update.test:
        Bug#8057
          Test for bug
      sql/item_func.cc:
        Bug#8057
          Don't create new Item in val_int()
      3c925ee0
    • unknown's avatar
      Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-4.1 · 90095cbc
      unknown authored
      into mysql.com:/Users/kent/mysql/bk/mysql-4.1-perl
      
      
      90095cbc
    • unknown's avatar
      mtr_cases.pl: · c2e9e15e
      unknown authored
        new file
      
      
      c2e9e15e
    • unknown's avatar
      Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-5.0 · 128a902d
      unknown authored
      into mysql.com:/home/mysql_src/mysql-5.0-clean
      
      
      128a902d
    • unknown's avatar
      result update after merge · b6981c8b
      unknown authored
      
      mysql-test/r/rpl_change_master.result:
        result update after WL#1062 and merge
      mysql-test/r/rpl_until.result:
        result update after WL#1062 and merge
      b6981c8b
    • unknown's avatar
      Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.0 · 71d0def0
      unknown authored
      into orca.ndb.mysql.com:/export/home/mikael/mysql-5.0
      
      
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      71d0def0
    • unknown's avatar
      Merge mysql.com:/Users/kent/mysql/bk/mysql-4.1-perl · 6802d7c3
      unknown authored
      into mysql.com:/Users/kent/mysql/bk/mysql-5.0-compile
      
      
      6802d7c3
    • unknown's avatar
      Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-4.1 · f8d38cff
      unknown authored
      into orca.ndb.mysql.com:/export/home/mikael/mysql-4.1
      
      
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      f8d38cff
    • unknown's avatar
      mysql-test-run.pl: · 044f9e82
      unknown authored
        Let --start-and-exit actually start a server
        Added that test case names can be specified on the comman line
        Added embedded server support
        Added environment variables UMASK, UMASK_DIR
        Added missing MASTER_MYSOCK1, MASTER_MYPORT1, USE_RUNNING_SERVER
        Added missing CHARSETSDIR, MYSQL_FIX_SYSTEM_TABLES, MYSQL_CLIENT_TEST
        Pass on return value from sleep_until_file_created(), to fail test
        Fail test if early termination of mysqld servers
        Create intial databases for the second master, and two additional slaves
      mtr_process.pl:
        Find out if port is still in use, using simple TCP connect
        Use non blocking waitpid() to catch terminations early
        Make a special case spawning the 'mysqltest' application
        Redo the fork() if it returns EAGAIN
        Make sure to record if master or slave terminated
        Improved debugging output
        Improved code that remove PID files to avoid race
        Abort if we can't stop all mysqld servers using our ports
        Many improvements in killing mysqld servers
        Let sleep_until_file_created() catch if server died early
      mtr_report.pl:
        Added option to disable test cases using <testcase>.disabled file
        If --timer, only try to open file with time data if it exists
      mtr_io.pl:
        Remove starting/ending space reading server options from file
      
      
      mysql-test/lib/mtr_io.pl:
        Remove starting/ending space reading server options from file
      mysql-test/lib/mtr_report.pl:
        Added option to disable test cases using <testcase>.disabled file
        If --timer, only try to open file with time data if it exists
      mysql-test/lib/mtr_process.pl:
        Find out if port is still in use, using simple TCP connect
        Use non blocking waitpid() to catch terminations early
        Make a special case spawning the 'mysqltest' application
        Redo the fork() if it returns EAGAIN
        Make sure to record if master or slave terminated
        Improved debugging output
        Improved code that remove PID files to avoid race
        Abort if we can't stop all mysqld servers using our ports
        Many improvements in killing mysqld servers
        Let sleep_until_file_created() catch if server died early
      mysql-test/mysql-test-run.pl:
        Let --start-and-exit actually start a server
        Added that test case names can be specified on the comman line
        Added embedded server support
        Added environment variables UMASK, UMASK_DIR
        Added missing MASTER_MYSOCK1, MASTER_MYPORT1, USE_RUNNING_SERVER
        Added missing CHARSETSDIR, MYSQL_FIX_SYSTEM_TABLES, MYSQL_CLIENT_TEST
        Pass on return value from sleep_until_file_created(), to fail test
        Fail test if early termination of mysqld servers
        Create intial databases for the second master, and two additional slaves
      044f9e82
    • unknown's avatar
      Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-5.0 · 1497328c
      unknown authored
      into mysql.com:/home/mysql_src/mysql-5.0-clean
      
      
      sql/mysql_priv.h:
        Auto merged
      sql/set_var.cc:
        Auto merged
      1497328c
    • unknown's avatar
      Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-4.1 · 81abb11a
      unknown authored
      into mysql.com:/Users/mikron/mysql-4.1
      
      
      81abb11a
    • unknown's avatar
      Merge mysql.com:/Users/mikron/mysql-4.1 · a0687bb5
      unknown authored
      into mysql.com:/Users/mikron/mysql-5.0
      
      
      ndb/src/kernel/vm/FastScheduler.cpp:
        Auto merged
      a0687bb5
    • unknown's avatar
      Merge mysql.com:/home/mysqldev/tulin/mysql-4.1 · 4b027f5b
      unknown authored
      into mysql.com:/home/mysqldev/tulin/mysql-5.0
      
      
      4b027f5b
    • unknown's avatar
      made an .sh file of ndb-config-2-node.ini instead · e244a3a9
      unknown authored
      
      support-files/ndb-config-2-node.ini.sh:
        Rename: support-files/ndb-config-2-node.ini -> support-files/ndb-config-2-node.ini.sh
      e244a3a9
    • unknown's avatar
      Merge mysql.com:/home/mysqldev/tulin/mysql-4.1 · 6a860820
      unknown authored
      into mysql.com:/home/mysqldev/tulin/mysql-5.0
      
      
      support-files/mysql.spec.sh:
        Auto merged
      6a860820
    • unknown's avatar
      ndbcluster rpms · 12a0a21c
      unknown authored
      12a0a21c
    • unknown's avatar
      corrected automerge error · a5463c25
      unknown authored
      
      configure.in:
        Auto merged
      include/my_global.h:
        Auto merged
      ndb/src/common/transporter/TransporterRegistry.cpp:
        Auto merged
      ndb/src/mgmclient/CommandInterpreter.cpp:
        Auto merged
      ndb/src/mgmsrv/ConfigInfo.cpp:
        Auto merged
      ndb/src/mgmsrv/MgmtSrvr.cpp:
        Auto merged
      BitKeeper/deleted/.del-acinclude.m4~f4ab416bac5003:
        Auto merged
      ndb/src/ndbapi/ClusterMgr.cpp:
        Auto merged
      ndb/src/ndbapi/TransporterFacade.cpp:
        Auto merged
      ndb/src/ndbapi/ndb_cluster_connection.cpp:
        Auto merged
      ndb/test/ndbapi/flexAsynch.cpp:
        Auto merged
      ndb/test/ndbapi/flexBench.cpp:
        Auto merged
      ndb/test/ndbapi/flexHammer.cpp:
        Auto merged
      ndb/test/ndbapi/flexTT.cpp:
        Auto merged
      ndb/test/ndbapi/flex_bench_mysql.cpp:
        Auto merged
      ndb/test/src/NDBT_Test.cpp:
        corrected automerge error
      a5463c25
    • unknown's avatar
      After merge fixes · 8e279c4c
      unknown authored
      
      sql/item.cc:
        After merge fixes (bug during merge)
      sql/sql_show.cc:
        Ensure that lex->all_select_list is properly reset on function end
        (Caused crashes after merge)
      8e279c4c
    • unknown's avatar
      Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-5.0 · 86833140
      unknown authored
      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
      86833140
    • unknown's avatar
      WL#1062 "log charset info into all Query_log_event": · 7636b12f
      unknown authored
      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.
      7636b12f