1. 03 Feb, 2005 1 commit
    • 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
  2. 28 Jan, 2005 5 commits
  3. 27 Jan, 2005 21 commits
    • unknown's avatar
      Merge · cca25e4d
      unknown authored
      
      ndb/include/Makefile.am:
        Auto merged
      ndb/include/mgmapi/mgmapi_config_parameters.h:
        Auto merged
      ndb/src/common/mgmcommon/IPCConfig.cpp:
        Auto merged
      ndb/src/common/transporter/TransporterRegistry.cpp:
        Auto merged
      ndb/src/kernel/vm/Configuration.cpp:
        Auto merged
      ndb/src/mgmsrv/ConfigInfo.cpp:
        Auto merged
      ndb/tools/delete_all.cpp:
        Auto merged
      ndb/tools/desc.cpp:
        Auto merged
      ndb/tools/drop_index.cpp:
        Auto merged
      ndb/tools/drop_tab.cpp:
        Auto merged
      ndb/tools/listTables.cpp:
        Auto merged
      ndb/tools/restore/restore_main.cpp:
        Auto merged
      ndb/tools/select_all.cpp:
        Auto merged
      ndb/tools/select_count.cpp:
        Auto merged
      ndb/tools/waiter.cpp:
        Auto merged
      ndb/include/util/ndb_opts.h:
        SCCS merged
      ndb/src/mgmsrv/main.cpp:
        resolved merge conflict
      cca25e4d
    • unknown's avatar
      Bug#8167 signal usage clash between mysql server and ndb shared memory · df7bb879
      unknown authored
          added shared memory config parameter, signum for use in signalling
          added global variable for holdign signum to be used for shared memory connection
          only fiddle with signals if it is set
          simplified common ndb client option handling
      
      
      ndb/include/Makefile.am:
        added common defaults file
      ndb/include/mgmapi/mgmapi_config_parameters.h:
        added shared memory config parameter, signum for use in signalling
      ndb/include/transporter/TransporterDefinitions.hpp:
        added shared memory config parameter, signum for use in signalling
      ndb/include/util/ndb_opts.h:
        simplified common ndb client option handling
      ndb/src/common/mgmcommon/IPCConfig.cpp:
        added shared memory config parameter, signum for use in signalling
      ndb/src/common/portlib/NdbThread.c:
        added global variable for holdign signum to be used for shared memory connection
        only block signals if shared memory is used
      ndb/src/common/transporter/SHM_Transporter.cpp:
        use signum in new global variable for shared memory signalling
      ndb/src/common/transporter/TransporterRegistry.cpp:
        use signum in new global variable for shared memory signalling
        only fiddle with signals if it is set
      ndb/src/cw/cpcd/main.cpp:
        ndb_opts not really used
      ndb/src/kernel/vm/Configuration.cpp:
        simplified common ndb client option handling
      ndb/src/mgmclient/main.cpp:
        simplified common ndb client option handling
      ndb/src/mgmsrv/ConfigInfo.cpp:
        added shared memory config parameter, signum for use in signalling
      ndb/src/mgmsrv/main.cpp:
        simplified common ndb client option handling
      ndb/tools/delete_all.cpp:
        simplified common ndb client option handling
      ndb/tools/desc.cpp:
        simplified common ndb client option handling
      ndb/tools/drop_index.cpp:
        simplified common ndb client option handling
      ndb/tools/drop_tab.cpp:
        simplified common ndb client option handling
      ndb/tools/listTables.cpp:
        simplified common ndb client option handling
      ndb/tools/restore/restore_main.cpp:
        simplified common ndb client option handling
      ndb/tools/select_all.cpp:
        simplified common ndb client option handling
      ndb/tools/select_count.cpp:
        simplified common ndb client option handling
      ndb/tools/waiter.cpp:
        simplified common ndb client option handling
      df7bb879
    • unknown's avatar
      Remove unused configure.in name TOOLS_LIBS. · b485ed7b
      unknown authored
      
      configure.in:
        Remove unused TOOLS_LIBS: LIBS and CLIENT_LIBS should
        be enough for the global configure.in
      b485ed7b
    • unknown's avatar
      os0file.c: · 1c49d548
      unknown authored
        Add includes for the _stat() call to compile on Windows in Hot Backup build
      
      
      innobase/os/os0file.c:
        Add includes for the _stat() call to compile on Windows in Hot Backup build
      1c49d548
    • unknown's avatar
      ut0mem.c: · 563ebb43
      unknown authored
        Add a note to the error message that is printed when memory allocation fails: 32-bit computers usually have at most 2 GB or 4 GB process memory space
      
      
      innobase/ut/ut0mem.c:
        Add a note to the error message that is printed when memory allocation fails: 32-bit computers usually have at most 2 GB or 4 GB process memory space
      563ebb43
    • unknown's avatar
      Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0 · 9c02a351
      unknown authored
      into gluh.mysql.r18.ru:/home/gluh/MySQL/mysql-5.0.last
      
      
      9c02a351
    • unknown's avatar
      Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0 · 3f0cb69a
      unknown authored
      into gluh.mysql.r18.ru:/home/gluh/MySQL/mysql-5.0.last
      
      
      3f0cb69a
    • unknown's avatar
      Merge lgrimmer@bk-internal.mysql.com:/home/bk/mysql-5.0 · 295db433
      unknown authored
      into mysql.com:/space/my/mysql-5.0
      
      
      295db433
    • unknown's avatar
      Merge mysql.com:/home/mydev/mysql-4.1-4100 · 87fba518
      unknown authored
      into mysql.com:/home/mydev/mysql-5.0-5000
      
      
      BUILD/SETUP.sh:
        Auto merged
      include/my_global.h:
        Auto merged
      mysql-test/r/lowercase_table2.result:
        Auto merged
      mysql-test/r/order_by.result:
        Auto merged
      mysql-test/t/order_by.test:
        Auto merged
      sql/item_timefunc.cc:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      87fba518
    • unknown's avatar
      Re-enabled the use of --prefix. · a271a6c8
      unknown authored
      Adjusted the "Usage:" string.
      Ordered the option recognition in reverse order from "Usage:".
      
      
      a271a6c8
    • unknown's avatar
      Merge mysql.com:/home/mydev/mysql-4.1 · 99fdc5ef
      unknown authored
      into mysql.com:/home/mydev/mysql-4.1-4100
      
      
      99fdc5ef
    • unknown's avatar
      Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1 · 4e5a513c
      unknown authored
      into gw.mysql.r18.ru:/usr/home/ram/work/4.1.b7261
      
      
      4e5a513c
    • unknown's avatar
      Merge mysql.com:/home/mydev/mysql-4.1 · f6297a90
      unknown authored
      into mysql.com:/home/mydev/mysql-4.1-4100
      
      
      f6297a90
    • unknown's avatar
      item_timefunc.cc: · 199a139d
      unknown authored
        CAST now always return a well-formed character string.
      
      
      sql/item_timefunc.cc:
        CAST now always return a well-formed character string.
      199a139d
    • unknown's avatar
      Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1 · 9a9b3f28
      unknown authored
      into gw.mysql.r18.ru:/usr/home/ram/work/4.1.b7261
      
      
      9a9b3f28
    • unknown's avatar
      A fix: information_schema test fails on Mac OSX · 79414bb3
      unknown authored
      79414bb3
    • unknown's avatar
      Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1 · 513a70a3
      unknown authored
      into gw.mysql.r18.ru:/usr/home/ram/work/4.1
      
      
      513a70a3
    • unknown's avatar
      - added "../extra" to the include path of mysqltest.dsp (Windows compile · d22c0005
      unknown authored
        failed to find the newly introduced extra/mysqld_ername.h header file)
      
      
      VC++Files/client/mysqltest.dsp:
        - added "../extra" to the include path (Windows compile failed to find the
          newly introduced extra/mysqld_ername.h header file)
      d22c0005
    • unknown's avatar
      Merge mysql.com:/home/mydev/mysql-5.0 · 1ea2bc38
      unknown authored
      into mysql.com:/home/mydev/mysql-5.0-5000
      
      
      sql/set_var.cc:
        Auto merged
      1ea2bc38
    • unknown's avatar
      Merge mysql.com:/home/mydev/mysql-4.1 · fcb2f0cc
      unknown authored
      into mysql.com:/home/mydev/mysql-4.1-4100
      
      
      fcb2f0cc
    • unknown's avatar
      Merge pgalbraith@bk-internal.mysql.com:/home/bk/mysql-5.0 · 70e47994
      unknown authored
      into patrick-galbraiths-computer.local:/Users/patg/mysql-5.0
      
      
      70e47994
  4. 26 Jan, 2005 13 commits