An error occurred fetching the project authors.
  1. 23 May, 2006 3 commits
  2. 17 Feb, 2006 1 commit
    • unknown's avatar
      WL#2645 (CHECK TABLE FOR UPGRADE) · bf840404
      unknown authored
      necessary implementation in the server
      mysql_upgrade script added
      
      
      client/mysqlcheck.c:
        --check-upgrade option added
      include/my_base.h:
        errcode added
      include/myisam.h:
        option added
      scripts/Makefile.am:
        mysql_upgrade script added
      sql/handler.cc:
        checks for old types/bugs added
      sql/handler.h:
        declarations regarding checks for upgrade
      sql/lex.h:
        sym added
      sql/share/errmsg.txt:
        error message added
      sql/slave.cc:
        now ha_repair is for public use
      sql/sql_table.cc:
        upgrade in ha_repair implemented
      sql/sql_yacc.yy:
        CHECK ... FOR UPGRADE added to syntax
      bf840404
  3. 03 Jan, 2006 1 commit
    • unknown's avatar
      many warnings (practically safe but annoying) corrected · 307c0b77
      unknown authored
      client/mysqladmin.cc:
        don't use the handler after it's closed
      client/mysqlbinlog.cc:
        memory leak
      client/mysqldump.c:
        many "ignore return value" warnings, one "NULL dereference"
      cmd-line-utils/libedit/history.c:
        memory leak
      include/my_base.h:
        cleanup
      libmysql/libmysql.c:
        "return value ignored" warning
      myisam/mi_delete.c:
        "return value ignored" warning
      myisam/myisampack.c:
        "out-of-bound access" warning
      myisam/sort.c:
        "double free" warning
      mysys/default_modify.c:
        "double free" warning
      mysys/mf_iocache2.c:
        "return value ignored" warnings
      mysys/my_bitmap.c:
        s/return/DBUG_RETURN/
      mysys/my_error.c:
        memory leak
      server-tools/instance-manager/parse.cc:
        "NULL dereference" warning
      sql-common/client.c:
        "NULL dereference" warning
      sql/field.cc:
        deadcode, "NULL dereference", "uninitialized" warnings
      sql/field.h:
        unused parameters removed from constructor
      sql/ha_myisam.cc:
        "return value ignored" warnings
      sql/item.cc:
        "return value ignored" warnings
        changed constructor
      sql/item_func.cc:
        "return value ignored" warnings
      sql/log_event.cc:
        uninitialized warning
      sql/opt_range.cc:
        "double free" and uninitialized warnings
      sql/opt_range.h:
        "return value ignored" warning
      sql/repl_failsafe.cc:
        "return value ignored" warning
      sql/set_var.cc:
        "return value ignored" warning
      sql/slave.cc:
        "return value ignored" warnings
      sql/slave.h:
        new prototype
      sql/sql_acl.cc:
        deadcode and "NULL dereference" warnings
      sql/sql_db.cc:
        "return value ignored" warning
      sql/sql_handler.cc:
        "NULL dereference" warning
      sql/sql_help.cc:
        "NULL dereference" warning
      sql/sql_insert.cc:
        "return value ignored" warning
      sql/sql_parse.cc:
        "return value ignored" warning
        one more DBUG_ASSERT
      sql/sql_repl.cc:
        "return value ignored" and memory leak warnings
      sql/sql_show.cc:
        "return value ignored" and "NULL dereference"  warnings
      sql/sql_test.cc:
        "return value ignored" warning
      sql/table.cc:
        memory leak
      sql/uniques.cc:
        "return value ignored" warning
        endspaces deleted
      307c0b77
  4. 23 Nov, 2005 1 commit
    • unknown's avatar
      Always initialize THD::thread_stack: it's used in · 0633a41c
      unknown authored
      check_stack_overrun().
      
      
      sql/slave.cc:
        Move initialization of THD::thread_stack before THD::store_globals()
      sql/sql_acl.cc:
        Initialize THD::thread_stack in artificial THDs used
        to load gratns subsystem.
      sql/sql_class.cc:
        Add an assert that THD::thread_stack is assigned.
      sql/sql_insert.cc:
        Add initialization of THD::thread_stack (delayed insert
        thread).
      sql/sql_parse.cc:
        Move initialization of THD::thread_stack before
        THD::store_globals().
      sql/sql_udf.cc:
        Add initialization for THD::thread_stack (an artificial
        THD used to initialize UDF subsystem).
      sql/tztime.cc:
        Add initialization for THD::thread_stack (an artificial
        THD used to initialize timezones).
      0633a41c
  5. 20 Nov, 2005 1 commit
    • unknown's avatar
      Inefficient usage of String::append() fixed. · fe63e095
      unknown authored
      Bad examples of usage of a string with its length fixed.
      The incorrect length in the trigger file configuration descriptor
        fixed (BUG#14090).
      A hook for unknown keys added to the parser to support old .TRG files.
      
      
      sql/field.cc:
        Inefficient usage of String::append() fixed.
        Bad examples of usage of a string with its length fixed.
      sql/ha_berkeley.cc:
        A bad example of usage of a string with its length fixed.
      sql/ha_federated.cc:
        Inefficient usage of String::append() fixed.
      sql/ha_myisammrg.cc:
        Bad examples of usage of a string with its length fixed.
      sql/handler.cc:
        Inefficient usage of String::append() fixed.
      sql/item.cc:
        Bad examples of usage of a string with its length fixed.
      sql/item.h:
        A bad example of usage of a string with its length fixed.
      sql/item_cmpfunc.cc:
        Bad examples of usage of a string with its length fixed.
      sql/item_func.cc:
        Bad examples of usage of a string with its length fixed.
      sql/item_strfunc.cc:
        Bad examples of usage of a string with its length fixed.
      sql/item_subselect.cc:
        Bad examples of usage of a string with its length fixed.
      sql/item_sum.cc:
        Bad examples of usage of a string with its length fixed.
        Inefficient usage of String::append() fixed.
      sql/item_timefunc.cc:
        Inefficient using of String::append() fixed.
        Bad examples of usage of a string with its length fixed.
      sql/item_uniq.h:
        Bad examples of usage of a string with its length fixed.
      sql/key.cc:
        Bad examples of usage of a string with its length fixed.
      sql/log.cc:
        Bad examples of usage of a string with its length fixed.
      sql/log_event.cc:
        Bad examples of usage of a string with its length fixed.
      sql/mysqld.cc:
        The dummy parser hook allocated.
      sql/opt_range.cc:
        Inefficient usage of String::append() fixed.
      sql/parse_file.cc:
        Bad examples of usage of a string with its length fixed.
        A hook for unknown keys added to the parser.
      sql/parse_file.h:
        A hook for unknown keys added to the parser.
      sql/protocol.cc:
        A bad example of usage of a string with its length fixed.
      sql/repl_failsafe.cc:
        Bad examples of usage of a string with its length fixed.
      sql/share/errmsg.txt:
        A warning for old format config file.
      sql/slave.cc:
        Bad examples of usage of a string with its length fixed.
      sql/sp.cc:
        Bad examples of usage of a string with its length fixed.
      sql/sp_head.cc:
        Bad examples of usage of a string with its length fixed.
      sql/spatial.cc:
        A bad example of usage of a string with its length fixed.
      sql/sql_acl.cc:
        Bad examples of usage of a string with its length fixed.
      sql/sql_analyse.cc:
        Bad examples of usage of a string with its length fixed.
        Inefficient usage of String::append() fixed.
      sql/sql_lex.cc:
        Bad examples of usage of a string with its length fixed.
      sql/sql_load.cc:
        A bad example of usage of a string with its length fixed.
      sql/sql_parse.cc:
        Bad examples of usage of a string with its length fixed.
      sql/sql_prepare.cc:
        A bad example of usage of a string with its length fixed.
      sql/sql_select.cc:
        Bad examples of usage of a string with its length fixed.
      sql/sql_show.cc:
        Bad examples of usage of a string with its length fixed.
      sql/sql_string.cc:
        Bad examples of usage of a string with its length fixed.
      sql/sql_string.h:
        The macro definition moved to sql_string.h to
          be accessible in all parts of server.
      sql/sql_table.cc:
        Bad examples of usage of a string with its length fixed.
      sql/sql_trigger.cc:
        Bad examples of usage of a string with its length fixed.
        The incorrect length in the trigger file configuration descriptor
          fixed (BUG#14090).
        The hook for processing incorrect sql_mode record added.
      sql/sql_view.cc:
        A dummy  hook used for parsing views.
      sql/structs.h:
        The macro definition moved to sql_string.h to be
          accessible in all parts of server.
      sql/table.cc:
        A bad example of usage of a string with its length fixed.
      sql/tztime.cc:
        A bad example of usage of a string with its length fixed.
      fe63e095
  6. 27 Oct, 2005 1 commit
  7. 14 Oct, 2005 1 commit
    • unknown's avatar
      fix for Valgrind errors: query_id needs to be inited early (already fixed in... · 5dfd72a0
      unknown authored
      fix for Valgrind errors: query_id needs to be inited early (already fixed in 5.0 by Konstantin) and so does client_capabilities (not fixed in 5.0);
      because they are used by net_printf() and push_warning(), which can be called if check_connection() fails.
      
      
      sql/mysqld.cc:
        not needed anymore
      sql/repl_failsafe.cc:
        not needed anymore
      sql/slave.cc:
        not needed anymore
      sql/sql_class.cc:
        query_id needs to be inited early (already fixed in 5.0 by Konstantin) and so does client_capabilities (not fixed in 5.0);
        because they are used by net_printf() and push_warning(), which may be called if check_connection() fails.
      5dfd72a0
  8. 13 Oct, 2005 1 commit
    • unknown's avatar
      Fixes during review of new code · c8067ec8
      unknown authored
      sql/slave.cc:
        Moved mutex_unlock to handle 'err' case properly
      vio/vio.c:
        Made code clearer (fcntl_mode is always 0 here)
      c8067ec8
  9. 12 Oct, 2005 2 commits
    • unknown's avatar
      fixes after merge of 4.1. · 16f3cb03
      unknown authored
      mysql-test/r/subselect.result:
        correcting non-ascii chars hosed by automerge as usual
      mysql-test/t/subselect.test:
        correcting non-ascii chars hosed by automerge as usual
      sql/log_event.cc:
        correcting bad manual merge. ZERO_LEN is not needed in 5.0, as ::exec_event() just tell()s the relay log instead
        of using get_event_len().
      sql/log_event.h:
        get_event_len() is not needed in 5.0, ZERO_LEN neither.
      sql/slave.cc:
        fixes to take into account 5.0 specificities in replication. ZERO_LEN is not needed.
      16f3cb03
    • unknown's avatar
      Fix for BUG#13023: "SQL Thread is up but doesn't move forward". Details in slave.cc; · 7ff27a61
      unknown authored
      in short we now record whenever the slave I/O thread ignores a master's event because of its server id,
      and use this info in the slave SQL thread to advance Exec_master_log_pos. Because if we
      do not, this variable stays at the position of the last executed event, i.e. the last *non-ignored*
      executed one, which may not be the last of the master's binlog (and so the slave *looks* behind
      the master though it's data-wise it's not).
      
      
      mysql-test/t/rpl_dual_pos_advance-master.opt:
        empty; its goal is just to trigger a server restart after running the test,
        so that the master forgets that it was a slave (otherwise it affects the following tests).
      sql/log.cc:
        No more default arguments for Rotate_log_event constructor.
        MYSQL_LOG::appendv() is now called without mutex.
      sql/log_event.cc:
        Moving one Rotate_log_event constructor from log_event.h. Support for on-demand choice of
        duplicating the string argument of the constructor or not (because there now are needs for both
        alternatives, see slave.cc).
      sql/log_event.h:
        We now have a case where a Rotate_log_event is executed by the slave SQL thread while
        not being in the relay log, so it needs to pretend its length is 0: a ZERO_LEN flag for that;
        a flag DUP_NAME (replaces "bool alloced") to be able to choose if we want the constructor
        to duplicate the string argument or not.
      sql/slave.cc:
        A comment for BUG#13861 (to be fixed). llstr() instead of %ld as the number is ulonglong.
        mi->rli becomes rli in some places.
        Fix for BUG#13023:
        - in the slave I/O thread, whenever we ignore an event because of its server id we update
        a couple of coordinates in memory
        - in the slave SQL thread, whenever we bump into the end of the latest relay log, we check
        this couple of coordinates to see if we should advance our Exec_master_log_pos.
        - when the slave I/O thread terminates it saves these in-memory coordinates into a Rotate event
        in the relay log, so that they are durable.
      sql/slave.h:
        A couple of coordinates in RELAY_LOG_INFO to keep track of the last ignored events received
        by the slave I/O thread (ignored because of the server id).
      mysql-test/r/rpl_dual_pos_advance.result:
        New BitKeeper file ``mysql-test/r/rpl_dual_pos_advance.result''
      mysql-test/t/rpl_dual_pos_advance.test:
        Test for BUG#13023 (with a part, disabled, to test BUG#13861 when I fix it).
        Before the fix, this test used to hang.
      7ff27a61
  10. 11 Oct, 2005 2 commits
    • unknown's avatar
      Reviewing new pushed code · 0ce12f70
      unknown authored
      - CHAR() now returns binary string as default
      - CHAR(X*65536+Y*256+Z) is now equal to CHAR(X,Y,Z) independent of the character set for CHAR()
      - Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
        (Some old systems returns ETIME and it's safer to test for both values
         than to try to write a wrapper for each old system)
      - Fixed new introduced bug in NOT BETWEEN X and X
      - Ensure we call commit_by_xid or rollback_by_xid for all engines, even if one engine has failed
      - Use octet2hex() for all conversion of string to hex
      - Simplify and optimize code
      
      
      client/mysqldump.c:
        Simple optimizations of new code
        Indentation fixes
      client/mysqltest.c:
        Removed not needed variable
      include/mysql_com.h:
        Made octec2hex() more usable
      mysql-test/r/ctype_utf8.result:
        CHAR() now returns binary string as default
      mysql-test/r/func_str.result:
        CHAR() now returns binary string as default
      mysql-test/r/range.result:
        Added test to verify new introduced bug in NOT BETWEEN X and X
      mysql-test/r/user_var-binlog.result:
        CHAR() now returns binary string as default
      mysql-test/r/view.result:
        More tests of view rename
      mysql-test/t/ctype_utf8.test:
        CHAR() now returns binary string as default
      mysql-test/t/func_str.test:
        CHAR() now returns binary string as default
      mysql-test/t/range.test:
        Added test to verify new introduced bug in NOT BETWEEN X and X
      mysql-test/t/view.test:
        More tests of view rename
      mysys/mf_keycache.c:
        Indentation changes
        Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
      mysys/my_os2cond.c:
        Fix to MySQL coding style
        Optimized functions
      mysys/thr_lock.c:
        Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
      mysys/thr_mutex.c:
        Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
      server-tools/instance-manager/instance.cc:
        Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
      server-tools/instance-manager/thread_registry.cc:
        Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
      sql/ha_federated.cc:
        Use octet2hex()
      sql/ha_ndbcluster.cc:
        Removed not used variable
      sql/handler.cc:
        Simplify code
        Use *NONE* instead of 'none' for not existing storage engine
        Ensure we call commit_by_xid or rollback_by_xid for all engines, even if one engine has failed
      sql/item.h:
        Remove not needed test for *ref.  (If ref is set, it should never point at 0)
      sql/item_func.cc:
        Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
        Simplify code
        More comments
        Require that last argument to find_and_check_access() is given
        (Made code shorter and faster)
      sql/item_strfunc.cc:
        Changed CHAR() to return result in binary collation
        CHAR(X*65536+Y*256+Z) is now equal to CHAR(X,Y,Z) independent of the character set for CHAR()
        
        Bar will shortly add the following syntax:
        CHAR(.... USING character_set)
        and ensure that
        CONVERT(CHAR(....) USING utf8) cuts not legal utf8 strings
        Use ocet2hex()
      sql/item_strfunc.h:
        CHAR() now returns a binary string
      sql/log_event.cc:
        Use octet2hex()
        Simplify code
      sql/parse_file.cc:
        Indentation fixes
        Use for() instead of while()
      sql/password.c:
        Make octet2hex() more generally usable by returning pointer to end 0
      sql/slave.cc:
        Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
      sql/sql_base.cc:
        Indentation fixes
      sql/sql_insert.cc:
        Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
      sql/sql_manager.cc:
        Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
      sql/sql_parse.cc:
        Don't check thd->db when checking for function privileges
      sql/sql_prepare.cc:
        Fixed wrong merge
      sql/sql_select.cc:
        Fixed new bug for NOT BETWEEN X and X
      sql/sql_show.cc:
        Removed not used variable
      sql/sql_table.cc:
        Indentation fixed
        Removed DBUG_PRINT that is obvious from context
      sql/sql_view.cc:
        Simplify code
      sql/unireg.cc:
        Use octet2hex()
      0ce12f70
    • unknown's avatar
      To help people avoid BUG#2122 "changing hostname confuses master or slave" until it's fixed, · 149a2833
      unknown authored
      we now issue a warning (at slave's server startup only) when a relay log is named
      using the implicit hostname-relay-bin naming. Like we already do for binlogs.
      
      
      sql/slave.cc:
        To help people avoid BUG#2122 "changing hostname confuses master or slave" until it's fixed,
        we now issue a warning (at slave's server startup only) when a relay log is named
        using the implicit hostname-relay-bin naming. Like I had already added a similar startup warning
        when a binlog is named using the implicit hostname-bin naming.
        name_warning_sent is so that at most one warning per startup is sent.
      149a2833
  11. 08 Oct, 2005 1 commit
  12. 04 Oct, 2005 1 commit
    • unknown's avatar
      Fixed several boolean type options used in my_long_options[]. · b2fa7d16
      unknown authored
      Some options were declared as 'bool', but since those are being
      handled in my_getopt.c, bool can be machine dependent. To make
      sure it works in all circumstances, the type should be my_bool
      for C (not C++) programs.
      
      
      sql/mysql_priv.h:
        Fixed some bools to my_bools.
      sql/mysqld.cc:
        Changed several bools to my_bools.
      sql/slave.cc:
        Changed bool to my_bool.
      sql/slave.h:
        Changed bool to my_bool.
      b2fa7d16
  13. 03 Oct, 2005 1 commit
    • unknown's avatar
      Fixes bug #13377. Added code to close active log files in case · 3398cb23
      unknown authored
      of log reset condition.
      
      
      sql/log.cc:
        Added references counter of binlog readers to wait for closing opened log
        files by al readers for binary log reset.
      sql/slave.cc:
        Added a code to close opened relay log files, when they are not used anymore.
      sql/sql_class.h:
        Added declarations to maintain references count of binlog readers.
        Added reset log wait condition.
      sql/sql_repl.cc:
        Added code to close active log files in case of log reset condition.
      3398cb23
  14. 15 Sep, 2005 1 commit
    • unknown's avatar
      WL#2787 (part 2, ver 3 (merged)) changed securety context switching · 84f029a4
      unknown authored
      libmysqld/lib_sql.cc:
        changed securety context switching
      mysql-test/r/rpl_sp.result:
        now it show real information from changed security context of SP (checked)
      sql/ha_innodb.cc:
        changed securety context switching
      sql/item.cc:
        changed securety context switching
      sql/item_func.cc:
        changed securety context switching
      sql/item_strfunc.cc:
        changed securety context switching
      sql/log.cc:
        changed securety context switching
      sql/mysql_priv.h:
        changed securety context switching
      sql/mysqld.cc:
        changed securety context switching
      sql/repl_failsafe.cc:
        changed securety context switching
      sql/set_var.cc:
        changed securety context switching
      sql/slave.cc:
        changed securety context switching
      sql/sp.cc:
        changed securety context switching
      sql/sp_head.cc:
        changed securety context switching
        in case of inability to switch context  we return error now
      sql/sp_head.h:
        changed securety context switching
      sql/sql_acl.cc:
        changed securety context switching
      sql/sql_acl.h:
        changed securety context switching
      sql/sql_base.cc:
        changed securety context switching
      sql/sql_class.cc:
        changed securety context switching
      sql/sql_class.h:
        changed securety context switching
      sql/sql_db.cc:
        changed securety context switching
      sql/sql_insert.cc:
        changed securety context switching
      sql/sql_parse.cc:
        changed securety context switching
      sql/sql_show.cc:
        changed securety context switching
      sql/sql_trigger.cc:
        changed securety context switching
      sql/sql_view.cc:
        changed securety context switching
      sql/sql_yacc.yy:
        changed securety context switching
      84f029a4
  15. 14 Sep, 2005 1 commit
    • unknown's avatar
      fix for BUG#11139 (multi-delete with alias breaking replication if table rules are · f89424f8
      unknown authored
       present): the problem originally was that the tables in auxilliary_tables did not have 
      the correct real_name, which caused problems in the second call to tables_ok(). 
      The fix corrects the real_name problem, and also sets the updating flag properly, 
      which makes the second call to tables_ok() unnecessary.
      
      
      mysql-test/r/rpl_multi_delete2.result:
        updates for for BUG#11139
      mysql-test/t/rpl_multi_delete2-slave.opt:
        updates for for BUG#11139
      mysql-test/t/rpl_multi_delete2.test:
        updates for for BUG#11139
      sql/mysql_priv.h:
        fix for BUG#11139 (multi-delete with alias breaking replication if table rules are
         present)
      sql/slave.cc:
        fix for BUG#11139 (multi-delete with alias breaking replication if table rules are
         present)
      sql/sql_parse.cc:
        fix for BUG#11139 (multi-delete with alias breaking replication if table rules are
         present)
      sql/sql_yacc.yy:
        fix for BUG#11139 (multi-delete with alias breaking replication if table rules are
         present)
      f89424f8
  16. 08 Aug, 2005 1 commit
    • unknown's avatar
      Review of new pushed code · 97988099
      unknown authored
      - Fixed some error condtion when handling dates with 'T'
      - Added extra test for bug #11867 (Wrong result with "... WHERE ROW( a, b ) IN ( SELECT DISTINCT a, b WHERE ...)" to show it's not yet fixed
      - Safety fixes and cleanups
      
      
      mysql-test/r/subselect.result:
        Added extra test case to test case for bug #11867
        (Result shows that current code is not yet right and needs to be fixed)
      mysql-test/r/type_datetime.result:
        More tests for dates of type CCYYMMDDTHHMMSS
      mysql-test/t/subselect.test:
        Added extra test case to test case for bug #11867
      mysql-test/t/type_datetime.test:
        More tests for dates of type CCYYMMDDTHHMMSS
      sql-common/my_time.c:
        Fixed handling of dates of type CCYYMMDDTHHMMSS
        (Old code couldn't handle 2003-0304 or 2003-0003-02)
      sql/slave.cc:
        Indentation cleanup
      sql/sql_parse.cc:
        Added test of return value of get_system_var()
      sql/sql_select.cc:
        Removed unnecessary call to field->table->maybe_null
      sql/sql_union.cc:
        Indentation fixes
      97988099
  17. 30 Jul, 2005 1 commit
  18. 29 Jul, 2005 1 commit
    • unknown's avatar
      patch for bug 10780 · fa7ed076
      unknown authored
      sql/slave.cc:
        bug 10780
      sql/slave.h:
        bug 10780
      mysql-test/r/rpl_slave_status.result:
        New BitKeeper file ``mysql-test/r/rpl_slave_status.result''
      fa7ed076
  19. 26 Jul, 2005 1 commit
    • unknown's avatar
      Review fixes: · 90e41fac
      unknown authored
      Fixed portability problem with bool in C programs
      Moved close_thread_tables out from LOCK_thread_count mutex (safety fix)
      my_sleep() -> pthread_cond_timedwait()
      
      
      include/thr_lock.h:
        bool -> my_bool (bool is not portable in C programs)
      mysys/thr_lock.c:
        bool -> my_bool (bool is not portable in C programs)
      sql/lock.cc:
        Added comment
        Don't use | on bool variable
      sql/mysql_priv.h:
        Added comment
      sql/slave.cc:
        Moved close_thread_tables out from LOCK_thread_count mutex (safety fix)
      sql/sql_base.cc:
        Added comments
        my_sleep() -> pthread_cond_timedwait() to get less code and potentitally faster loop
      BitKeeper/etc/ignore:
        added ac_available_languages_fragment
      90e41fac
  20. 14 Jul, 2005 2 commits
    • unknown's avatar
      Get rid of checking for ETIME return value of pthread_cond_timedwait. · e4f2bd46
      unknown authored
      ETIME was returned by cond_timedwait (sic, the pre-POSIX1001b function) on 
      Solaris 2.6 and 2.7. pthread_cond_timedwait on Solaris returns ETIMEDOUT.
      The standard requirement is that the only additional return value
      of pthred_cond_timedwait compared to pthread_cond_wait is ETIMEDOUT.
      Let us not bloat the application code with redundant checks,
      and if we're ever to work on a platform that returns a non-standard 
      value, we should write a wrapper for that platform (like we do, e.g., for
      Windows).
      
      
      mysys/my_os2cond.c:
        - fix our implementation of pthread_cond_timedwait on OS2 to return
          ETIMEDOUT instead of ETIME.
      sql/item_func.cc:
        - don't check for ETIME
      sql/slave.cc:
        - don't check for ETIME
      sql/sql_insert.cc:
        - don't check for ETIME
      e4f2bd46
    • unknown's avatar
      BUG#11384 drop database causes mysqld to core · 7f8b2334
      unknown authored
      Only reproducable in 5.1-wl2325, although the missing code is missing from 4.0 and up.
      
      
      sql/slave.cc:
        Clean up after slave sql thread when exiting.
        
        Wasn't calling close_thread_tables().
        
        This was causing a crashing bug in the 5.1-wl2325 tree. It is conceivable that this
        could cause a problem in earlier versions, but we have not been able to reproduce.
      7f8b2334
  21. 13 Jul, 2005 1 commit
  22. 12 Jul, 2005 1 commit
  23. 22 Jun, 2005 1 commit
    • unknown's avatar
      WL#2286 - Compile MySQL w/YASSL support · 80a62132
      unknown authored
      Fix GCC 4.0 link failure.
      Better CXX_VERSION guessing.
      
      
      config/ac-macros/misc.m4:
        Better CXX_VERSION guessing.
      configure.in:
        CXX_VERSION guessing moved to misc.m4.
        HAVE_EXPLICIT_TEMPLATE_INSTANTIATION moved to config.h.
        Use compiler AR with MIPSpro and Forte instead of instantiating templates explicitly.
      extra/yassl/src/crypto_wrapper.cpp:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      extra/yassl/src/template_instnt.cpp:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      extra/yassl/src/yassl_int.cpp:
        GCC 4.0 link fix. This file needs __cxa_pure_virtual.
      extra/yassl/taocrypt/include/runtime.hpp:
        Fix GCC 4.0 link failure. Instruct compiler to always emit __cxa_pure_virtual even if
        it seems to be never used.
      extra/yassl/taocrypt/include/types.hpp:
        Include config.h.
      extra/yassl/taocrypt/src/algebra.cpp:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      extra/yassl/taocrypt/src/dh.cpp:
        GCC 4.0 link fix. This file needs __cxa_pure_virtual.
      extra/yassl/taocrypt/src/dsa.cpp:
        GCC 4.0 link fix. This file needs __cxa_pure_virtual.
      extra/yassl/taocrypt/src/integer.cpp:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      extra/yassl/taocrypt/src/rsa.cpp:
        GCC 4.0 link fix. This file needs __cxa_pure_virtual.
      extra/yassl/taocrypt/src/template_instnt.cpp:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/field.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/item.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/item_buff.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/mysqld.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/opt_range.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/set_var.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/slave.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/sql_acl.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/sql_class.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/sql_insert.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/sql_map.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/sql_select.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/sql_show.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/table.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      80a62132
  24. 19 Jun, 2005 1 commit
    • unknown's avatar
      WL#2286 - Compile MySQL w/YASSL support · 2c8ee686
      unknown authored
      Fix for yaSSL link failures with Forte Developer 7, MIPSpro Compilers, Compaq C++.
      These compilers have problem with implicit template instantiation in archives
      (libyassl.a, libtaocrypt.a). Instantiate templates explicitly.
      
      Fix for yaSSL link failure on powermacg5 (gcc 3.3). When -O3 is specified gcc inlines
      __cxa_pure_virtual. This is wrong behavior, __cxa_pure_virtual must never be inlined.
      
      
      configure.in:
        Better CXX_VERSION guessing.
        EXPLICIT_TEMPLATE_INSTANTIATION macro indicates whether to instantiate templates explicitly.
        Instantiate templates explicitly on MIPSpro, Compaq, Forte.
      extra/yassl/src/crypto_wrapper.cpp:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      extra/yassl/src/template_instnt.cpp:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
        More portable templates instantiation.
      extra/yassl/src/yassl_int.cpp:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
        More portable templates instantiation.
      extra/yassl/taocrypt/include/runtime.hpp:
        Fix for link failure on powermacg5 (gcc 3.3). __cxa_pure_virtual must never be inlined.
      extra/yassl/taocrypt/src/algebra.cpp:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      extra/yassl/taocrypt/src/integer.cpp:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      extra/yassl/taocrypt/src/template_instnt.cpp:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/field.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/item.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/item_buff.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/mysqld.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/opt_range.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/set_var.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/slave.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/sql_acl.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/sql_class.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/sql_insert.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/sql_map.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/sql_select.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/sql_show.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/table.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      2c8ee686
  25. 02 Jun, 2005 1 commit
    • unknown's avatar
      Mainly cleanups for gcc 4.0. Some small pieces from looking at -Wall. Removed... · 0218ecf7
      unknown authored
      Mainly cleanups for gcc 4.0. Some small pieces from looking at -Wall. Removed a number of dumb things in ha_tina.
      
      
      client/mysqladmin.cc:
        gcc 4.0 fix
      sql/examples/ha_archive.cc:
        Bunch of little cleanups from -Wall and gcc 4.0 fixes
      sql/examples/ha_example.cc:
        Noticed that the error call was not quite right.
      sql/examples/ha_tina.cc:
        Bunch of cleanups (many of which were quite dumb of me... and I have no earthly idea how they missed everyone's notice).
      sql/ha_heap.cc:
        Removed unused variable (-Wall find)
      sql/item_subselect.cc:
        Removed unused label.
      sql/mysqld.cc:
        Cleanup of unused function and gcc 4.0 bit.
      sql/opt_range.h:
        Cleanup for gcc 4.0
      sql/repl_failsafe.cc:
        Cleanup for gcc 4.0
      sql/slave.cc:
        Cleanup for gcc 4.0
      sql/sql_acl.cc:
        Cleanup for gcc 4.0
      sql/sql_insert.cc:
        Cleanedup for gcc 4.0
      sql/sql_parse.cc:
        Cleanedup for gcc 4.0
      sql/sql_repl.cc:
        Removed unused variable
      sql/sql_select.cc:
        Cleanedup for gcc 4.0
      0218ecf7
  26. 05 May, 2005 1 commit
    • unknown's avatar
      Approximative fixes for BUG#2610,2611,9100 i.e. WL#2146... · af12ff65
      unknown authored
        Approximative fixes for BUG#2610,2611,9100 i.e. WL#2146 binlogging/replication of routines (stored procs and functions).
        Approximative, because it's using our binlogging way (what we call "query"-level) and this is not as good as record-level binlog (5.1) would be. It imposes several
        limitations to routines, and has caveats (which I'll document, and for which the server will try to issue errors but that is not always possible).
        Reason I don't propagate caller info to the binlog as planned is that on master and slave
        users may be different; even with that some caveats would remain.
      
      
      mysql-test/mysql-test-run.sh:
        In the testsuite we know what we do, we are not creating nasty routines, and breaking binlog is ok except in rpl_sp.
      mysql-test/r/blackhole.result:
        Updating results now that 4.1 has been merged
      mysql-test/valgrind.supp:
            Some suppressions for Valgrind (useful on my machine Suse 9.1);
            this is just adding to the already existing suppressions of pthread and dl.
      sql/item_func.cc:
            Don't binlog the substatements when executing a function. If the function
            is declared to modify data and does not complete, warning "broken binlog".
            Note that SELECT myfunc() will not be binlogged even if myfunc() updates data (will be documented);
            but INSERT INTO t VALUES(myfunc()) will be binlogged (what decides is if the caller
            gets binlogged; the function changes nothing to binlogging).
      sql/log_event.cc:
            Just making functions which can be re-used when we binlog more strings
            in status_vars in Query_log_event (e.g. one day "user", "host").
      sql/log_event.h:
        comment
      sql/mysql_priv.h:
            --log-bin-trust-routine-creators
      sql/mysqld.cc:
            --log-bin-trust-routine-creators
      sql/set_var.cc:
            --log-bin-trust-routine-creators
      sql/share/errmsg.txt:
        error messages to warn about problems with routines and binlog
      sql/slave.cc:
            If in a routine, replication table inclusion/exclusion rules always answer "replicate!" (see comment in code).
      sql/sp.cc:
            If binlog is on: errors if one wants to create a non-deterministic update routine
            (repeatability problem - note that the test is not perfect for functions) or does not have SUPER (because routines can easily
            be made to destroy slave's data with just CREATE ROUTINE and EXECUTE priv on master).
            --log-bin-trust-routine-creators removes these errors.
            Binlogging of CREATE PROCEDURE|FUNCTION.
      sql/sql_acl.cc:
            No thd==0 in tables_ok().
      sql/sql_parse.cc:
            Binlogging of CALL (and not of the substatements of the SP).
            If SP returns error, we don't binlog it (see comment); we push warning in this case.
            Binlogging of ALTER|DROP PROCEDURE|FUNCTION with safety messages.
      af12ff65
  27. 23 Mar, 2005 1 commit
    • unknown's avatar
      "After Monty's review" changes to the fix for BUG#8325 "Deadlock in... · 6bc324ed
      unknown authored
      "After Monty's review" changes to the fix for BUG#8325 "Deadlock in replication thread stops replication":
      s/sleep/safe_sleep (thread safe); sleep 0/1/2/3/4/5/5/5 (get slave less late);
      no message on error log (deadlock is too common sometimes), a global counter
      instead (SHOW STATUS LIKE 'slave_retried_transactions').
      Plus a fix for libmysql/Makefile.shared
      
      
      libmysql/Makefile.shared:
        When we "make clean" in libmysql/ we remove the symlinks there, so we
        need to mark that they have to be recreated later: this is done by removing
        ../linked_libmysql_sources. If we don't do this, 'make' will fail after 'cd libmysql;make clean'.
        This Makefile.shared is used by libmysql_r too.
        No reason to remove linked_client_sources as we don't remove the links in client/.
      mysql-test/r/rpl_deadlock.result:
        result fix
      mysql-test/t/rpl_deadlock.test:
        small test addition
      sql/mysqld.cc:
        if active_mi could not be alloced, die. New SHOW STATUS LIKE "slave_retried_transactions".
      sql/slave.cc:
        If slave retries automatically a transaction, no message on error log
        (too common situation); sleep 0 secs at first retry, then 1, 2, 3, 4,
        5, 5, 5... Sleeping 0 is to get the least possible late, as deadlocks
        are usually resolved at first try. New global counter rli->retried_trans
        (for SHOW STATUS: total number of times the slave had to retry
        any transaction). safe_sleep() is thread-safe, sleep() was not.
        I change the rli->trans_retries counter to go from 0 to max instead
        of the other way (better for new sleep()).
      sql/slave.h:
        new global counter rli->retried_trans
      sql/sql_show.cc:
        SHOW STATUS LIKE "slave_retried_transactions"; needs replication mutexes.
        Can't be a simple SHOW_LONG, because active_mi is unset (not alloced yet)
        when the static global status_vars is created (active_mi is set
        in init_slave()).
      sql/structs.h:
        new SHOW_SLAVE_RETRIED_TRANS
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      6bc324ed
  28. 22 Mar, 2005 1 commit
  29. 21 Mar, 2005 1 commit
    • unknown's avatar
      Last part of WL#1062: better replication of timezones: no more use · ac46bf77
      unknown authored
      of SET ONE_SHOT; storing tz info directly in event (if this info is needed),
      it's now allowed to have different global tz on master and slave.
      
      
      client/mysqlbinlog.cc:
        we need MAX_TIME_ZONE_NAME_LENGTH when processing log_event.h, and it's declared in mysql_priv.h
      mysql-test/r/rpl_timezone.result:
        result update
      mysql-test/t/rpl_timezone-slave.opt:
        Now that we can have different global value of timezone on master and slave, let's test it.
      mysql-test/t/rpl_timezone.test:
        Tests of the new replication of timezones: checking the output of mysqlbinlog,
        replication of CONVERT_TZ().
      sql/ha_innodb.cc:
        No very fast shutdown on Netware (anyway it's disabled on all platforms,
        but this is so that we don't forget to keep it disabled on Netware in the future).
      sql/log.cc:
        No more need to write SET ONE_SHOT to binlog for character set and timezone
        (as we store this info  directly nin the Query_log_event now).
      sql/log_event.cc:
        Exclude ::write() methods if MYSQL_CLIENT.
        Storing timezone info in the Query_log_event in master. Re-reading it in slave.
        Small code cleanups. I plan to not store the end 0 of catalog in binlog
        events soon.
      sql/log_event.h:
        replication of time zones: a place for tz info in Query_log_event,
        in LAST_EVENT_INFO. Plus if we are compiling a client, we don't need
        the ::write() methods, so keeping them out (of mysqlbinlog.cc;
        keeping them in, resulted in problem that mysqlbinlog does not know Timezone
        structure).
      sql/mysql_priv.h:
        moving this define from tztime.h (tztime.h has things which are
        too much for a client like mysqlbinlog).
      sql/set_var.cc:
        It's now allowed to change global value of charset or timezone even if using binlogging
        or if being a slave.
        Making CONVERT_TZ(,,@@session.time_zone) replicate.
      sql/set_var.h:
        these ::check()s are not needed anymore (changing global charset
        or timezone is now allowed even if binlogging or slave)
      sql/slave.cc:
        No more need to check for same global timezone if master is 5.x
        (ok, strictly speaking if it is > 5.0.3 but this is alpha).
      sql/slave.h:
        a function to wrap settings of charset to default.
      sql/tztime.cc:
        Adaptation of my_tz_find() to the case where it's not called from inside
        a query (i.e. cannot join its tz tables to the query's ones): this variant
        opens the tz tables itself, reads from them, and closes them. This is presently
        only used by the slave SQL thread (when it sets the tz before executing a query).
      sql/tztime.h:
        declaration of new function, plus moving symbol to mysql_priv.h
        for easier usage in mysqlbinlog (Dmitri, pardon me).
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      ac46bf77
  30. 09 Mar, 2005 1 commit
  31. 02 Mar, 2005 2 commits
    • unknown's avatar
      First part of fix for BUG#7998 "Replication should be more clever about when... · 463ee77d
      unknown authored
      First part of fix for BUG#7998 "Replication should be more clever about when to replicate RELEASE_LOCK()"
      (next part is updating test results)
      
      
      sql/item_func.cc:
        no need for binlogging DO RELEASE_LOCK() anymore. Make GET_LOCK() do nothing in slave thread.
      sql/log_event.cc:
        comment fixes
      sql/mysqld.cc:
        warning removed
      sql/slave.cc:
        fix after merge
      463ee77d
    • unknown's avatar
      Fix for BUG#8325 "Deadlock in replication thread stops replication": · d7e0784c
      unknown authored
      in slave SQL thread: if a transaction fails because of InnoDB deadlock or innodb_lock_wait_timeout exceeded,
      optionally retry the transaction a certain number of times (new variable --slave_transaction_retries).
      
      
      sql/mysql_priv.h:
        new var slave_transaction_retries
      sql/mysqld.cc:
        new variable slave_transaction_retries. Plus fixing a typo.
      sql/set_var.cc:
        new global variable slave_transaction_retries (will be one per subslave, when we have multimaster).
      sql/slave.cc:
        Slave SQL thread: if a transaction fails because of InnoDB deadlock or innodb_lock_wait_timeout exceeded,
        optionally retry the transaction a certain number of times (--slave_transaction_retries).
      sql/slave.h:
        new RELAY_LOG_INFO::trans_retries.
      d7e0784c
  32. 25 Feb, 2005 1 commit
    • unknown's avatar
      Remove compiler warnings and remove not used variables · 248e4494
      unknown authored
      (Found during build process)
      
      
      extra/comp_err.c:
        Remove compiler warnings
      extra/perror.c:
        Remove compiler warnings
      innobase/dict/dict0dict.c:
        Remove compiler warnings
      innobase/dict/dict0load.c:
        Remove compiler warnings
      innobase/pars/pars0sym.c:
        Remove compiler warnings
      innobase/row/row0row.c:
        Remove compiler warnings
      innobase/row/row0sel.c:
        Remove compiler warnings
      libmysqld/lib_sql.cc:
        Remove not used variables
      myisam/mi_key.c:
        Remove compiler warnings
      regex/engine.c:
        Added comment
      sql/derror.cc:
        Remove not used variables
      sql/examples/ha_archive.cc:
        Fixed bug in blob handling
        Removed not used variable
      sql/field.cc:
        Remove compiler warnings
        Remove not used variables
      sql/filesort.cc:
        Remove compiler warnings
      sql/ha_heap.cc:
        Remove not used variable
      sql/ha_innodb.cc:
        Remove not used variables
        Remove compiler warnings
      sql/handler.cc:
        Remove compiler warnings and remove not used variables
      sql/item.cc:
        Remove compiler warnings and remove not used variables
      sql/item_subselect.cc:
        Remove compiler warnings
      sql/item_sum.cc:
        Remove compiler warnings
      sql/item_sum.h:
        Remove compiler warnings and remove not used variables
      sql/log.cc:
        Remove compiler warnings and remove not used variables
      sql/log_event.cc:
        Remove compiler warnings
      sql/mysqld.cc:
        Remove compiler warnings and remove not used variables
      sql/opt_range.cc:
        Remove compiler warnings and remove not used variables
      sql/slave.cc:
        Remove compiler warnings and remove not used variables
      sql/sp_pcontext.cc:
        Remove compiler warnings and remove not used variables
      sql/sql_acl.cc:
        Remove compiler warnings and remove not used variables
      sql/sql_analyse.cc:
        Remove compiler warnings and remove not used variables
      sql/sql_base.cc:
        Remove compiler warnings and remove not used variables
      sql/sql_db.cc:
        Remove compiler warnings and remove not used variables
      sql/sql_help.cc:
        Remove compiler warnings and remove not used variables
      sql/sql_insert.cc:
        Remove compiler warnings and remove not used variables
      sql/sql_load.cc:
        Remove compiler warnings and remove not used variables
      sql/sql_parse.cc:
        Remove compiler warnings and remove not used variables
      sql/sql_prepare.cc:
        Remove compiler warnings and remove not used variables
      sql/sql_select.cc:
        Remove compiler warnings and remove not used variables
      sql/sql_show.cc:
        Remove compiler warnings and remove not used variables
      sql/sql_table.cc:
        Remove compiler warnings
      sql/sql_union.cc:
        Remove compiler warnings
      sql/sql_update.cc:
        Remove compiler warnings and remove not used variables
      sql/sql_yacc.yy:
        Remove compiler warnings and remove not used variables
      sql/strfunc.cc:
        Remove compiler warnings and remove not used variables
      strings/ctype-ucs2.c:
        Remove compiler warnings
      tests/mysql_client_test.c:
        Remove compiler warnings and remove not used variables
      tools/mysqlmanager.c:
        Remove compiler warnings and remove not used variables
      248e4494
  33. 17 Feb, 2005 1 commit
  34. 09 Feb, 2005 1 commit
    • unknown's avatar
      auto-ROLLBACK if binlog was not closed properly · 9297872d
      unknown authored
      auto-commit on Xid_log_event
      
      
      client/mysqlbinlog.cc:
        auto-ROLLBACK if binlog was not closed properly.
      mysql-test/r/ctype_ucs.result:
        results updated
      mysql-test/r/mix_innodb_myisam_binlog.result:
        results updated
      mysql-test/r/mysqlbinlog2.result:
        results updated
      mysql-test/r/rpl_relayrotate.result:
        results updated
      mysql-test/r/user_var.result:
        results updated
      mysql-test/t/ctype_ucs.test:
        finalize binlog before calling mysqlbinlog
      mysql-test/t/user_var.test:
        finalize binlog before calling mysqlbinlog
      sql/log_event.cc:
        commit at Xid_log_event
        comments edited
      sql/mysqld.cc:
        free(0) fixed
      sql/slave.cc:
        rollback at fake Rotate_log_event
      sql/sql_class.h:
        no commit_or_rollback argument for binlog->write(THD *thd, IO_CACHE *cache)
      sql/log.cc:
        don't write "COMMIT" query, Xid_log_event is enough
      sql/log_event.h:
        more comments for LOG_EVENT_BINLOG_IN_USE_F
        LOG_EVENT_FORCE_ROLLBACK_F added
      sql/sql_repl.cc:
        rollback at Rotate_log_event.
        don't consider binlog corrupted if it was open when we read Formar_description but closed when we got to the end
      sql/sql_repl.h:
        style fix
      9297872d