An error occurred fetching the project authors.
  1. 21 Mar, 2005 1 commit
    • unknown's avatar
      WL#2472: · 03c42246
      unknown authored
      Renamed Table_filter to Rpl_filter
      Eliminated very annoying memory leak
      
      
      sql/Makefile.am:
        Renamed Table_filter to Rpl_filter
      sql/log.cc:
        Renamed Table_filter to Rpl_filter
      sql/log_event.cc:
        Renamed Table_filter to Rpl_filter
      sql/mysqld.cc:
        Renamed Table_filter to Rpl_filter
        Eliminated very annoying memory leak
      sql/repl_failsafe.cc:
        Renamed Table_filter to Rpl_filter
      sql/slave.cc:
        Renamed Table_filter to Rpl_filter
      sql/slave.h:
        Renamed Table_filter to Rpl_filter
      sql/sql_acl.h:
        Renamed Table_filter to Rpl_filter
      sql/sql_parse.cc:
        Renamed Table_filter to Rpl_filter
      sql/sql_repl.cc:
        Renamed Table_filter to Rpl_filter
      sql/rpl_filter.cc:
        Renamed Table_filter to Rpl_filter
      sql/rpl_filter.h:
        Renamed Table_filter to Rpl_filter
      sql/sql_repl.h:
        Renamed Table_filter to Rpl_filter
      03c42246
  2. 10 Mar, 2005 1 commit
  3. 08 Mar, 2005 1 commit
    • unknown's avatar
      WL#2472: Refactoring of replication and binlog filtering. · 4b3caa85
      unknown authored
      Needed to be able to have multiple masters connected 
      to same slave server with different filters.
      
      
      sql/Makefile.am:
        Add table_filter.cc
      sql/log.cc:
        Use Table_filter
      sql/log_event.cc:
        Use Table_filter
      sql/mysql_priv.h:
        Use Table_filter
      sql/mysqld.cc:
        Use Table_filter
      sql/repl_failsafe.cc:
        Use Table_filter
      sql/slave.cc:
        Use Table_filter
      sql/slave.h:
        Use Table_filter
      sql/sql_acl.cc:
        Use Table_filter
      sql/sql_class.h:
        Use const since they should not be changed
      sql/sql_parse.cc:
        Use Table_filter
      sql/sql_repl.cc:
        Use Table_filter
      sql/sql_repl.h:
        Use Table_filter
      4b3caa85
  4. 31 Dec, 2004 1 commit
    • unknown's avatar
      Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag · 2419fa26
      unknown authored
      This allows use to use INSERT IGNORE ... ON DUPLICATE ...
      
      
      mysql-test/r/drop.result:
        safety fix
      mysql-test/t/drop.test:
        safety fix
      mysql-test/t/multi_update.test:
        ensure we cover all possible errors
      sql/log_event.cc:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/log_event.h:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/mysql_priv.h:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_class.h:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_delete.cc:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_insert.cc:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_lex.cc:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_lex.h:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_load.cc:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_parse.cc:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_repl.cc:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_repl.h:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_select.cc:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_table.cc:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_union.cc:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_update.cc:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_yacc.yy:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      2419fa26
  5. 16 Dec, 2004 1 commit
    • unknown's avatar
      A change of behaviour of Seconds_Behind_Master from SHOW SLAVE STATUS. It's going into 4.1 · 4869f022
      unknown authored
      because old behaviour was somewhat nonsensical (kind of bug). Changes are that if repl threads are
      down or disconnected the column will be NULL, and if master is idle the column will not grow indefinitely anymore.
      
      
      sql/slave.cc:
        mi->slave_running and rli->slave_running now uints (was needed only for mi but because of start_slave_thread() usage,
        had to change both).
        So mi->slave_running can now take 3 values: not running, running & not connected, running and connected.
        The last value serves for calculation of Seconds_Behind_Master in SHOW SLAVE STATUS.
        Changing this column's behaviour: if SQL or I/O thread is not running, or if I/O thread is not connected
        (for example if it is reconnecting), it's NULL (to mean "unknown"). And if master is idle, the column will
        not grow indefinitely like it used to (that was meaningless); this is fixed by forcing a value of 0
        when the slave SQL thread has hit EOF of relay log (which has only a limited number of caveats explained
        in comments in code).
      sql/slave.h:
        slave_running used to be bool but we need to distinguish, for the I/O slave thread, between 
        "running & connected" and "running & not connected" ("running" means the thread exists).
      sql/sql_repl.cc:
        we don't need anymore to set rli->last_master_timestamp to 0 (we used that to make Seconds_Behind_Master
        be NULL) in RESET SLAVE and CHANGE MASTER, as these commands imply that slave threads are not running
        and so Seconds_Behind_Master is already NULL because of that.
      4869f022
  6. 09 Dec, 2004 1 commit
    • unknown's avatar
      Fix for bug #6765 "Implicit access to time zone description · 9ad51c63
      unknown authored
      tables requires privileges for them if some table or column level grants
      present" (with after-review fixes).
      
      We should set SELECT_ACL for implicitly opened tables in 
      my_tz_check_n_skip_implicit_tables() to be able to bypass privilege
      checking in check_grant(). Also we should exclude those tables from
      privilege checking in multi-update.
      
      
      mysql-test/r/timezone2.result:
        Extended test for bug #6116 "SET time_zone := ... requires access to
        mysql.time_zone tables"
        Added test for bug #6765 "Implicit access to time zone description 
        tables requires privileges for them if some table or column level grants
        present"
      mysql-test/t/timezone2.test:
        Extended test for bug #6116 "SET time_zone := ... requires access to
        mysql.time_zone tables"
        Added test for bug #6765 "Implicit access to time zone description 
        tables requires privileges for them if some table or column level grants
        present"
      sql/item_geofunc.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/item_strfunc.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/log.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/mysql_priv.h:
        Now we have to include sql_acl.h before tztime.h, since 
        my_tz_check_n_skip_implicit_tables() defined there requires
        SELECT_ACL constant defined in sql_acl.h.
      sql/mysqld.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/repl_failsafe.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/set_var.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_acl.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_base.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_cache.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_class.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_db.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_derived.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_do.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_insert.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_parse.cc:
        check_one_table_access(): Tweaked comments.
        multi_update_precheck(): Added skipping of implicitly opened tables
          during privilege checking.
      sql/sql_prepare.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_repl.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_show.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_update.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_yacc.yy:
        sql_acl.h is now included via mysql_priv.h
      sql/tztime.h:
        my_tz_check_n_skip_implicit_tables():
          We should set SELECT_ACL for implictly opened tables to be able to
          bypass privilege checking in check_grant().
      9ad51c63
  7. 25 Nov, 2004 1 commit
    • unknown's avatar
      Fix for Bug#6148. Only rewind read position in binary log when the · 6f2cf12a
      unknown authored
      slave SQL thread is started.
      
      
      sql/slave.cc:
        Adding threads to init as parameter to init_master_info.
        Only rewind read position when starting SQL thread.
      sql/slave.h:
        Adding threads to init as parameter to init_master_info.
        Only rewind read position when starting SQL thread.
      sql/sql_repl.cc:
        Adding threads to init as parameter to init_master_info.
        Only rewind read position when starting SQL thread.
      sql/repl_failsafe.cc:
        Adding threads to init as parameter to init_master_info.
        Only rewind read position when starting SQL thread.
      6f2cf12a
  8. 13 Nov, 2004 1 commit
    • unknown's avatar
      now my_printf_error is not better then my_error, but my_error call is shorter · 8d71bcec
      unknown authored
      used only one implementation of format parser of (printf)
      fixed multistatement
      
      
      include/mysqld_error.h:
        newerror messages
      mysql-test/t/key.test:
        unknown error replaced with real error
      mysys/my_error.c:
        my_error & my_printf_error use my_vsprintf
      sql/field_conv.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/ha_innodb.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/handler.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/item.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/item_cmpfunc.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/item_func.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/item_strfunc.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/lock.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/log.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/parse_file.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/procedure.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/protocol.cc:
        no need reset thd->lex->found_colon to break multiline sequance now, send_error called too late
      sql/repl_failsafe.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/set_var.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/share/czech/errmsg.txt:
        new errors converted from unknown error
      sql/share/danish/errmsg.txt:
        new errors converted from unknown error
      sql/share/dutch/errmsg.txt:
        new errors converted from unknown error
      sql/share/english/errmsg.txt:
        new errors converted from unknown error
      sql/share/estonian/errmsg.txt:
        new errors converted from unknown error
      sql/share/french/errmsg.txt:
        new errors converted from unknown error
      sql/share/german/errmsg.txt:
        new errors converted from unknown error
      sql/share/greek/errmsg.txt:
        new errors converted from unknown error
      sql/share/hungarian/errmsg.txt:
        new errors converted from unknown error
      sql/share/italian/errmsg.txt:
        new errors converted from unknown error
      sql/share/japanese/errmsg.txt:
        new errors converted from unknown error
      sql/share/korean/errmsg.txt:
        new errors converted from unknown error
      sql/share/norwegian-ny/errmsg.txt:
        new errors converted from unknown error
      sql/share/norwegian/errmsg.txt:
        new errors converted from unknown error
      sql/share/polish/errmsg.txt:
        new errors converted from unknown error
      sql/share/portuguese/errmsg.txt:
        new errors converted from unknown error
      sql/share/romanian/errmsg.txt:
        new errors converted from unknown error
      sql/share/russian/errmsg.txt:
        new errors converted from unknown error
      sql/share/serbian/errmsg.txt:
        new errors converted from unknown error
      sql/share/slovak/errmsg.txt:
        new errors converted from unknown error
      sql/share/spanish/errmsg.txt:
        new errors converted from unknown error
      sql/share/swedish/errmsg.txt:
        new errors converted from unknown error
      sql/share/ukrainian/errmsg.txt:
        new errors converted from unknown error
      sql/slave.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sp.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sp_head.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_acl.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_analyse.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_base.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_class.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_db.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_delete.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_handler.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_insert.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_load.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_map.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_parse.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
        multi-row command fixed
      sql/sql_prepare.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
        remover send_error ingected from 4.1
      sql/sql_rename.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_repl.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_select.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_show.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_table.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_trigger.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_udf.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_update.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_view.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_yacc.yy:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/table.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      strings/my_vsnprintf.c:
        * format support added to my_vsprint
      8d71bcec
  9. 12 Nov, 2004 1 commit
    • unknown's avatar
      post-review fixes · 9e921615
      unknown authored
      mysql-test/r/rpl_rotate_logs.result:
        removed host dependence in error messages
      mysql-test/t/rpl_rotate_logs.test:
        removed host dependence in error messages
      mysys/my_error.c:
        comment about using my_error family functions
      sql/filesort.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/ha_innodb.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/handler.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_cmpfunc.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_func.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_strfunc.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_subselect.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_sum.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/lock.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/log.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/mysql_priv.h:
        error check moved to fill_record
      sql/mysqld.cc:
        fixed error messages
      sql/parse_file.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/protocol.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/protocol_cursor.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/repl_failsafe.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/set_var.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/slave.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sp.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sp_head.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sp_rcontext.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_acl.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_analyse.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_base.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
        error check moved to fill_record
      sql/sql_class.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_class.h:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_db.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_delete.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
        error check moved to fill_record
      sql/sql_handler.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_help.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_insert.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
        error check moved to fill_record
      sql/sql_lex.cc:
        layout fixed
      sql/sql_load.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_map.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_parse.cc:
        error check moved to fill_record
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_prepare.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_rename.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_repl.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_select.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_show.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_table.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_trigger.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_udf.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_union.cc:
        error check moved to fill_record
      sql/sql_update.cc:
        error check moved to fill_record
      sql/sql_view.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_yacc.yy:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/table.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/unireg.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      9e921615
  10. 20 Oct, 2004 2 commits
    • unknown's avatar
      changed function name to prevent injection wrong code from 4.1 (WL#2133) · e3b55993
      unknown authored
      mysql-test/r/rpl_rotate_logs.result:
        changed error message
      mysql-test/t/rpl_rotate_logs.test:
        changed error message
      sql/log_event.cc:
        changed  function name to prevent injection wrong code from 4.1
      sql/mysqld.cc:
        changed  function name to prevent injection wrong code from 4.1
      sql/protocol.cc:
        changed  function name to prevent injection wrong code from 4.1
      sql/protocol.h:
        changed  function name to prevent injection wrong code from 4.1
      sql/sql_class.h:
        changed  function name to prevent injection wrong code from 4.1
      sql/sql_parse.cc:
        changed  function name to prevent injection wrong code from 4.1
      sql/sql_repl.cc:
        changed  function name to prevent injection wrong code from 4.1
      e3b55993
    • unknown's avatar
      errors without code removed · 066c9056
      unknown authored
      net_printf/send_error calls replaced by my_error family functions
      -1/1 (sent/unsent) error reporting removed
      (WL#2133)
      
      
      include/mysqld_error.h:
        new errors added.
      mysql-test/r/rpl_charset.result:
        new error
      mysql-test/r/rpl_timezone.result:
        new error
      mysql-test/r/sp-security.result:
        more clean error message
      mysql-test/r/sp.result:
        now error state intercepted correctly
      mysql-test/t/connect.test:
        new error message
      mysql-test/t/rpl_charset.test:
        new error message
      mysql-test/t/rpl_timezone.test:
        new error
      mysql-test/t/sp-security.test:
        more correct error handling
      mysql-test/t/sp.test:
        now error state intercepted correctly
      sql/ha_innodb.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/ha_innodb.h:
        -1/1 (sent/unsent) error reporting removed
      sql/item.cc:
        only boolean values should be returned by fix_fields()
      sql/item_cmpfunc.cc:
        only boolean values should be returned by fix_fields()
      sql/item_func.cc:
        only boolean values should be returned by fix_fields()
        net_printf/send_error calls replaced by my_error family functions
      sql/item_row.cc:
        only boolean values should be returned by fix_fields()
      sql/item_subselect.cc:
        only boolean values should be returned by fix_fields()
        -1/1 (sent/unsent) error reporting removed
      sql/item_subselect.h:
        -1/1 (sent/unsent) error reporting removed
      sql/item_sum.cc:
        only boolean values should be returned by fix_fields()
      sql/item_timefunc.cc:
        only boolean values should be returned by fix_fields()
      sql/item_uniq.h:
        only boolean values should be returned by fix_fields()
      sql/mysql_priv.h:
        -1/1 (sent/unsent) error reporting removed
      sql/mysqld.cc:
        net_printf/send_error calls replaced by my_error family functions
        changes in my_message_sql to support error handling correctly
      sql/protocol.cc:
        net_printf/send_error calls replaced by my_error family functions
      sql/protocol_cursor.cc:
        net_printf/send_error calls replaced by my_error family functions
      sql/repl_failsafe.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/repl_failsafe.h:
        -1/1 (sent/unsent) error reporting removed
      sql/set_var.cc:
        net_printf/send_error calls replaced by my_error family functions
      sql/share/czech/errmsg.txt:
        new error messages
      sql/share/danish/errmsg.txt:
        new error messages
      sql/share/dutch/errmsg.txt:
        new error messages
      sql/share/english/errmsg.txt:
        new error messages
      sql/share/estonian/errmsg.txt:
        new error messages
      sql/share/french/errmsg.txt:
        new error messages
      sql/share/german/errmsg.txt:
        new error messages
      sql/share/greek/errmsg.txt:
        new error messages
      sql/share/hungarian/errmsg.txt:
        new error messages
      sql/share/italian/errmsg.txt:
        new error messages
      sql/share/japanese/errmsg.txt:
        new error messages
      sql/share/korean/errmsg.txt:
        new error messages
      sql/share/norwegian-ny/errmsg.txt:
        new error messages
      sql/share/norwegian/errmsg.txt:
        new error messages
      sql/share/polish/errmsg.txt:
        new error messages
      sql/share/portuguese/errmsg.txt:
        new error messages
      sql/share/romanian/errmsg.txt:
        new error messages
      sql/share/russian/errmsg.txt:
        new error messages
      sql/share/serbian/errmsg.txt:
        new error messages
      sql/share/slovak/errmsg.txt:
        new error messages
      sql/share/spanish/errmsg.txt:
        new error messages
      sql/share/swedish/errmsg.txt:
        new error messages
      sql/share/ukrainian/errmsg.txt:
        new error messages
      sql/slave.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/slave.h:
        -1/1 (sent/unsent) error reporting removed
      sql/sp.cc:
        net_printf/send_error calls replaced by my_error family functions
      sql/sp_head.cc:
        new eror handling support
        net_printf/send_error calls replaced by my_error family functions
      sql/sp_rcontext.cc:
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_acl.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/sql_acl.h:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_base.cc:
        -1/1 (sent/unsent) error reporting removed
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_class.cc:
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_class.h:
        my_messhage_sql now set/reset query_error flag
      sql/sql_db.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_delete.cc:
        -1/1 (sent/unsent) error reporting removed
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_do.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_error.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_handler.cc:
        -1/1 (sent/unsent) error reporting removed
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_help.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/sql_insert.cc:
        -1/1 (sent/unsent) error reporting removed
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_lex.h:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_load.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_map.cc:
        errors without code removed
      sql/sql_parse.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed from mysql_execute_command
      sql/sql_prepare.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/sql_repl.cc:
        error messages fixed
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/sql_repl.h:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_select.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_select.h:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_show.cc:
        -1/1 (sent/unsent) error reporting removed
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_table.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/sql_trigger.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_udf.cc:
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_union.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_update.cc:
        -1/1 (sent/unsent) error reporting removed
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_view.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_view.h:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_yacc.yy:
        net_printf/send_error calls replaced by my_error family functions
      066c9056
  11. 14 Sep, 2004 2 commits
  12. 09 Sep, 2004 1 commit
    • unknown's avatar
      Updating the headers on a few files to include GPL header. · c00c89af
      unknown authored
      sql/repl_failsafe.cc:
        Removed reference to old maintainer.
      sql/repl_failsafe.h:
        Added license header.
      sql/slave.h:
        Added license header.
      sql/sql_repl.cc:
        Removed old maintainer.
      sql/sql_repl.h:
        Added license header
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      c00c89af
  13. 03 Aug, 2004 1 commit
    • unknown's avatar
      Port of cursors to be pushed into 5.0 tree: · eaf34dd8
      unknown authored
      - client side part is simple and may be considered stable
      - server side part now just joggles with THD state to save execution
        state and has no additional locking wisdom.
        Lot's of it are to be rewritten.
      
      
      include/mysql.h:
        Cursor patch to push into the main tree, client library part (considered 
        stable):
        - new statement attribute STMT_ATTR_CURSOR_TYPE
        - MYSQL_STMT::flags to store statement cursor type
        - MYSQL_STMT::server_status to store server status (i. e. if the server
        was able to open a cursor for this query).
      include/mysql_com.h:
        Cursor patch to push into the main tree, client library part (considered 
        stable):
        - new COMmand, COM_FETCH, to fetch K rows from read-only cursor.
          By design should support scrollable cursors as well.
        - a few new server statuses:
          SERVER_STATUS_CURSOR_EXISTS is sent by server in reply to COM_EXECUTE,
          when cursor was successfully opened for this query
          SERVER_STATUS_LAST_ROW_SENT is sent along with the last row to prevent one
          more round trip just for finding out that all rows were fetched from 
          this cursor (this is server mem savier also).
        - and finally, all possible values of STMT_ATTR_CURSOR_TYPE, 
          while now we support only CURSORT_TYPE_NO_CURSOR and 
          CURSOR_TYPE_READ_ONLY
      libmysql/libmysql.c:
        Cursor patch to push into the main tree, client library part (considered 
        stable):
        - simple additions to mysql_stmt_fetch implementation to read data 
          from an opened cursor: we can read up to iteration count rows per
          one request; read rows are buffered in the same way as rows of
          mysql_stmt_store_result.
        - now send stmt->flags to server to let him now if we wish to have 
          a cursor for this statement.
        - support for setting/getting statement cursor type.
      libmysqld/examples/Makefile.am:
        Testing cursors was originally implemented in C++. Now when these tests
        go into client_test, it's time to convert it to C++ as well.
      libmysqld/lib_sql.cc:
        - cleanup: send_fields flags are now named.
      sql/ha_innodb.cc:
        - cleanup: send_fields flags are now named.
      sql/mysql_priv.h:
        - cursors support: declaration for server-side handler of COM_FETCH
      sql/protocol.cc:
        - cleanup: send_fields flags are now named.
        - we can't anymore assert that field_types[field_pos] is sensible:
          if we have COM_EXCUTE(stmt1), COM_EXECUTE(stmt2), COM_FETCH(stmt1)
          field_types[field_pos] will point to fields of stmt2.
      sql/protocol.h:
        - cleanup: send_fields flag_s_ are now named.
      sql/protocol_cursor.cc:
        - cleanup: send_fields flags are now named.
      sql/repl_failsafe.cc:
        - cleanup: send_fields flags are now named.
      sql/slave.cc:
        - cleanup: send_fields flags are now named.
      sql/sp.cc:
        - cleanup: send_fields flags are now named.
      sql/sp_head.cc:
        - cleanup: send_fields flags are now named.
      sql/sql_acl.cc:
        - cleanup: send_fields flags are now named.
      sql/sql_class.cc:
        - cleanup: send_fields flags are now named.
      sql/sql_class.h:
        - cleanup: send_fields flags are now named.
      sql/sql_error.cc:
        - cleanup: send_fields flags are now named.
      sql/sql_handler.cc:
        - cleanup: send_fields flags are now named.
      sql/sql_help.cc:
        - cleanup: send_fields flags are now named.
      sql/sql_parse.cc:
        Server side support for cursors:
        - handle COM_FETCH
        - enforce assumption that whenever we free thd->free_list, 
          we reset it to zero. This way it's much easier to handle free_list
          in prepared statements implementation.
      sql/sql_prepare.cc:
        Server side support for cursors:
        - implementation of mysql_stmt_fetch (fetch some rows from open cursor).
        - management of cursors memory is quite tricky now.
        - execute_stmt can't be reused anymore in mysql_stmt_execute and 
          mysql_sql_stmt_execute
      sql/sql_repl.cc:
        - cleanup: send_fields flags are now named.
      sql/sql_select.cc:
        Server side support for cursors:
        - implementation of Cursor::open, Cursor::fetch (buggy when it comes to
          non-equi joins), cursor cleanups.
        - -4 -3 -0 constants indicating return value of sub_select and end_send are
          to be renamed to something more readable:
          it turned out to be not so simple, so it should come with the other patch.
      sql/sql_select.h:
        Server side support for cursors:
        - declaration of Cursor class.
        - JOIN::fetch_limit contains runtime value of rows fetched via cursor.
      sql/sql_show.cc:
        - cleanup: send_fields flags are now named.
      sql/sql_table.cc:
        - cleanup: send_fields flags are now named.
      sql/sql_union.cc:
        - if there was a cursor, don't cleanup unit: we'll need it to fetch
          the rest of the rows.
      tests/Makefile.am:
        Now client_test is in C++.
      tests/client_test.cc:
        A few elementary tests for cursors.
      BitKeeper/etc/ignore:
        Added libmysqld/examples/client_test.cc to the ignore list
      eaf34dd8
  14. 15 Mar, 2004 1 commit
    • unknown's avatar
      Optimizations · 67108bdf
      unknown authored
      mysql-test/r/create.result:
        Changed ERROR -> NOTE (for enum/set)
      sql/lock.cc:
        Removed not needed test (table_list->db is always set)
      sql/sql_repl.cc:
        Removed not needed test
      sql/sql_table.cc:
        ERROR -> NOTE
        Removed not needed test
      strings/strtod.c:
        Portabilty fix. (DBL_MAX *10 is not safe)
      67108bdf
  15. 10 Mar, 2004 3 commits
    • unknown's avatar
      Backporting parts of · c6d91e00
      unknown authored
      ChangeSet 1.1620.12.1 and ChangeSet 1.1625.2.1
      from 4.1. This makes the slave I/O thread flush the relay log 
      after every event, which provides additional safety in case
      of brutal crash (reduces chances to lose a part of the relay log).
      
      
      sql/repl_failsafe.cc:
        update for new prototype
      sql/slave.cc:
        The slave I/O thread now flushes the relay log after writing
        every event to it, like we already do in 4.1.
      sql/slave.h:
        new prototype
      sql/sql_repl.cc:
        update for new prototype
      c6d91e00
    • unknown's avatar
      Undoing 2 parts of changeset 1.1730.1.1 : · 843d6df5
      unknown authored
      - the one about BUG#2921
      - the one about relay log flushing
      Both will be rewritten in a next changeset
      (this one will not be pushed before the next changeset).
      
      
      sql/log.cc:
        undo
      sql/log_event.cc:
        undo
      sql/repl_failsafe.cc:
        undo
      sql/slave.cc:
        undo
      sql/slave.h:
        undo
      sql/sql_repl.cc:
        undo
      843d6df5
    • unknown's avatar
      Fixed memory leak in DROP DATABASE when using RAID tables (Bug #2882) · 221397cd
      unknown authored
      BUILD/compile-pentium-debug-max:
        Added --with-raid
      configure.in:
        Removed -DFN_NO_CASE_SENCE for Mac OS X as this is not always true
      mysql-test/install_test_db.sh:
        Added --skip-warnings
      mysql-test/mysql-test-run.sh:
        Fixes to get --gdb and --ddd to work
      mysql-test/r/lowercase_table2.result:
        Test for lower_case_table_names=2 and temporary tables
      mysql-test/r/lowercase_table3.result:
        Fixed error message
      mysql-test/r/multi_update.result:
        Test of behaviour of multi-table-delete and alias
      mysql-test/t/lowercase_table2.test:
        Test for lower_case_table_names=2 and temporary tables
      mysql-test/t/lowercase_table3.test:
        Fixed error
      mysql-test/t/multi_update.test:
        Test of behaviour of multi-table-delete and alias (Bug #2940)
      mysys/mf_iocache.c:
        Renamed _flush_io_cache to my_b_flush_io_cache
      sql/ha_myisam.cc:
        Added comment
      sql/lock.cc:
        Extra debugging
      sql/log.cc:
        New parameter to flush_relay_log_info
      sql/log_event.cc:
        New parameter to flush_relay_log_info
      sql/mf_iocache.cc:
        Removed not used header files
      sql/mysqld.cc:
        More debugging info
        Less warnings when run with --skip-warnings
      sql/opt_range.cc:
        More debug information
      sql/repl_failsafe.cc:
        New parameter to flush_relay_log_info
      sql/slave.cc:
        First start SQL thread, then start IO thread. This fixed a raze condition in SLAVE START (Bug #2921)
        Ensure that we have a lock on the IO thread before flushing a relay log file that. The original code could core dump when a relay log rotated.
      sql/slave.h:
        New parameter to flush_relay_log_info
      sql/sql_base.cc:
        Added warning
      sql/sql_handler.cc:
        Indentation fix
      sql/sql_repl.cc:
        New parameter to flush_relay_log_info
      sql/sql_select.cc:
        Fixed problem with deleting temporary tables when using lower_case_table_names=2. (Bug #2858)
      sql/sql_table.cc:
        Fixed comment
      sql/sql_yacc.yy:
        Removed compiler warning
      include/my_sys.h:
        Fixed usage of unpack_filename
      mysys/mf_pack.c:
        Changed unpack_filename() to return length of result string.
      mysys/test_fn.c:
        Fixed usage of unpack_filename
      sql/sql_db.cc:
        Fixed memory leak with raid tables
      sql/table.cc:
        Fixed usage of unpack_filename
      221397cd
  16. 19 Dec, 2003 2 commits
    • unknown's avatar
      This is the final commit for Worklog tasks: · 62554f81
      unknown authored
         * A more dynamic binlog format which allows small changes (1064)
         * Log session variables in Query_log_event (1063)
      It contains a few bugfixes (which I made when running the testsuite).
      I carefully updated the results of the testsuite (i.e. I checked for every one,
      if the difference between .reject and .result could be explained).
      Apparently mysql-test-run --manager is broken in 4.1 and 5.0 currently,
      so I could neither run the few tests which require --manager, nor check
      that they pass nor modify their .result. But for builds, we don't run
      with --manager.
      Apart from --manager, the full testsuite passes, with Valgrind too (no errors).
      I'm going to push in the next minutes. Remains: update the manual.
      Note: by chance I saw that (in 4.1, in 5.0) rpl_get_lock fails when run alone;
      this is normal at it makes assumptions on thread ids. I will fix this one day
      in 4.1.
      
      
      mysql-test/r/rpl000015.result:
        result update
      mysql-test/r/rpl_change_master.result:
        result update
      mysql-test/r/rpl_error_ignored_table.result:
        result update
      mysql-test/r/rpl_flush_log_loop.result:
        result update
      mysql-test/r/rpl_flush_tables.result:
        result update
      mysql-test/r/rpl_loaddata.result:
        result update
      mysql-test/r/rpl_loaddata_rule_m.result:
        result update
      mysql-test/r/rpl_loaddata_rule_s.result:
        result update
      mysql-test/r/rpl_log.result:
        result update
      mysql-test/r/rpl_log_pos.result:
        result update
      mysql-test/r/rpl_max_relay_size.result:
        result update
      mysql-test/r/rpl_relayrotate.result:
        result update
      mysql-test/r/rpl_replicate_do.result:
        result update
      mysql-test/r/rpl_reset_slave.result:
        result update
      mysql-test/r/rpl_rotate_logs.result:
        result update
      mysql-test/r/rpl_session_var.result:
        result update
      mysql-test/r/rpl_temporary.result:
        result update
      mysql-test/r/rpl_trunc_binlog.result:
        result update
      mysql-test/r/rpl_until.result:
        result update
      mysql-test/r/rpl_user_variables.result:
        result update
      mysql-test/t/rpl000010-slave.opt:
        need to wait 2 events, because now we receive a Format_desc on top of the Rotate,
        when replication starts.
      mysql-test/t/rpl000015.test:
        relay log information is not repeatable in general (if a reconnection
        happens because --sleep=10 for example), so we hide these columns.
      mysql-test/t/rpl_change_master.test:
        relay log information is not repeatable in general (if a reconnection
        happens because --sleep=10 for example), so we hide these columns.
      mysql-test/t/rpl_empty_master_crash.test:
        relay log information is not repeatable in general (if a reconnection
        happens because --sleep=10 for example), so we hide these columns.
      mysql-test/t/rpl_error_ignored_table.test:
        relay log information is not repeatable in general (if a reconnection
        happens because --sleep=10 for example), so we hide these columns.
      mysql-test/t/rpl_flush_log_loop.test:
        relay log information is not repeatable in general (if a reconnection
        happens because --sleep=10 for example), so we hide these columns.
      mysql-test/t/rpl_loaddata.test:
        position update
      mysql-test/t/rpl_loaddata_rule_m.test:
        position update
      mysql-test/t/rpl_loaddata_rule_s.test:
        position update
      mysql-test/t/rpl_log.test:
        position update
      mysql-test/t/rpl_log_pos.test:
        position update
      mysql-test/t/rpl_max_relay_size.test:
        relay log information is not repeatable in general (if a reconnection
        happens because --sleep=10 for example), so we hide these columns.
      mysql-test/t/rpl_openssl.test:
        relay log information is not repeatable in general (if a reconnection
        happens because --sleep=10 for example), so we hide these columns.
      mysql-test/t/rpl_redirect.test:
        relay log information is not repeatable in general (if a reconnection
        happens because --sleep=10 for example), so we hide these columns.
      mysql-test/t/rpl_relayrotate-slave.opt:
        better options for this test
      mysql-test/t/rpl_relayrotate.test:
        using max() is better for debugging (it shows at which place the slave
        SQL thread resumed)
      mysql-test/t/rpl_replicate_do.test:
        relay log information is not repeatable in general (if a reconnection
        happens because --sleep=10 for example), so we hide these columns.
      mysql-test/t/rpl_reset_slave.test:
        relay log information is not repeatable in general (if a reconnection
        happens because --sleep=10 for example), so we hide these columns.
      mysql-test/t/rpl_rotate_logs.test:
        relay log information is not repeatable in general (if a reconnection
        happens because --sleep=10 for example), so we hide these columns.
      mysql-test/t/rpl_session_var.test:
        100 because password() is longer than 10 chars
      mysql-test/t/rpl_trunc_binlog.test:
        relay log information is not repeatable in general (if a reconnection
        happens because --sleep=10 for example), so we hide these columns.
      mysql-test/t/rpl_until.test:
        position update
      mysql-test/t/rpl_user_variables.test:
        position update
      sql/log.cc:
        Ensure that the Format_desc propagated on next relay logs does not trigger
        undue actions (like incrementing some positions or clearing some files).
      sql/log_event.cc:
        * When the slave SQL thread finds a Rotate/Format_desc/Stop in the middle of
        a transaction (then these were written by the slave itself to its relay log),
        it should not increment rli->group* variables, but only rli->event* ones.
        * When the slave SQL thread finds a Format_desc not to be ignored (not
        the same server id as the slave's), if it has log_pos==0 it must not trigger
        "unfinished transaction in master's binlog" (log_pos==0 is always a marker
        in the relay log to mean "this event was not at this place in the master's
        binlog": it's for fake Rotate events, and for Format_description events which the master had
        to send us for replication to start).
        * In the Query_log_event on disk, catalog is now terminated by '\0'.
        * thd->catalog must be set to 0 when some exec_event() terminate (otherwise
        double free).
      sql/slave.cc:
        * Fixes for a few bugs when ignoring events in the slave SQL thread:
          - do not decrement rli->slave_skip_counter if the event is an event
          related to the binlog or relay log itself (FORMAT_DESCRIPTION,
          ROTATE, STOP) because these events should never be skipped (or the slave
          will be confused). Usually the user wants to skip a query, not a Rotate... 
          - when we (re)connect to the master, we must free description_event_for_queue
          (otherwise memory leak when we reconnect). 
        * Changed a bit the code where we change description_event_for_queue,
        to make it look "safer".
        * Moved 'created=0' to log.cc where it is safer.
        * When the slave SQL thread finds a Rotate/Format_desc/Stop in the middle of
        a transaction (then these were written by the slave itself to its relay log),
        it should not increment rli->group* variables, but only rli->event* ones.
      sql/sql_class.h:
        a warning comment
      sql/sql_repl.cc:
        A mistake: I had passed a char* instead of char**
      62554f81
    • unknown's avatar
      THD::lex now points to THD::main_lex like in 5.0 · 8d987f9e
      unknown authored
      All tests pass (client_test included)
      
      
      libmysqld/lib_sql.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/filesort.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/ha_innodb.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/ha_myisam.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/item.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/item_cmpfunc.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/item_create.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/item_func.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/item_subselect.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/item_sum.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/mysql_priv.h:
        THD::lex now points to THD::main_lex like in 5.0
      sql/mysqld.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/protocol.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/repl_failsafe.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/slave.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_acl.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_base.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_cache.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_class.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_class.h:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_delete.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_error.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_insert.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_lex.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_lex.h:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_parse.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_prepare.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_repl.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_select.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_table.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_union.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_update.cc:
        THD::lex now points to THD::main_lex like in 5.0
      sql/sql_yacc.yy:
        THD::lex now points to THD::main_lex like in 5.0
      8d987f9e
  17. 18 Dec, 2003 1 commit
    • unknown's avatar
      This will be pushed only after I fix the testsuite. · 378894b0
      unknown authored
      This is the main commit for Worklog tasks:
       * A more dynamic binlog format which allows small changes (1064)
       * Log session variables in Query_log_event (1063)
      Below 5.0 means 5.0.0.
      MySQL 5.0 is able to replicate FOREIGN_KEY_CHECKS, UNIQUE_KEY_CHECKS (for speed),
      SQL_AUTO_IS_NULL, SQL_MODE. Not charsets (WL#1062), not some vars (I can only think
      of SQL_SELECT_LIMIT, which deserves a special treatment). Note that this
      works for queries, except LOAD DATA INFILE (for this it would have to wait
      for Dmitri's push of WL#874, which in turns waits for the present push, so...
      the deadlock must be broken!). Note that when Dmitri pushes WL#874 in 5.0.1,
      5.0.0 won't be able to replicate a LOAD DATA INFILE from 5.0.1.
      Apart from that, the new binlog format is designed so that it can tolerate
      a little variation in the events (so that a 5.0.0 slave could replicate a
      5.0.1 master, except for LOAD DATA INFILE unfortunately); that is, when I
      later add replication of charsets it should break nothing. And when I later
      add a UID to every event, it should break nothing.
      The main change brought by this patch is a new type of event, Format_description_log_event,
      which describes some lengthes in other event types. This event is needed for
      the master/slave/mysqlbinlog to understand a 5.0 log. Thanks to this event,
      we can later add more bytes to the header of every event without breaking compatibility.
      Inside Query_log_event, we have some additional dynamic format, as every Query_log_event
      can have a different number of status variables, stored as pairs (code, value); that's
      how SQL_MODE and session variables and catalog are stored. Like this, we can later
      add count of affected rows, charsets... and we can have options --don't-log-count-affected-rows
      if we want.
      MySQL 5.0 is able to run on 4.x relay logs, 4.x binlogs.
      Upgrading a 4.x master to 5.0 is ok (no need to delete binlogs),
      upgrading a 4.x slave to 5.0 is ok (no need to delete relay logs);
      so both can be "hot" upgrades.
      Upgrading a 3.23 master to 5.0 requires as much as upgrading it to 4.0.
      3.23 and 4.x can't be slaves of 5.0.
      So downgrading from 5.0 to 4.x may be complicated.
      Log_event::log_pos is now the position of the end of the event, which is
      more useful than the position of the beginning. We take care about compatibility
      with <5.0 (in which log_pos is the beginning).
      I added a short test for replication of SQL_MODE and some other variables.
      TODO:
      - after committing this, merge the latest 5.0 into it
      - fix all tests
      - update the manual with upgrade notes.
      
      
      client/Makefile.am:
        mysqlbinlog.cc depends slightly on sql/mysql_priv.h
      client/mysqlbinlog.cc:
        Make mysqlbinlog able to read the new binlog format,
        by seeking to the start and reading the first few events, to
        detect the format of the binlog.
      include/my_sys.h:
        a correct tell() for SEQ_READ_APPEND caches.
      mysys/mf_iocache2.c:
        a correct tell() for SEQ_READ_APPEND caches
        (my_b_tell() is not working for such caches).
      sql/ha_innodb.cc:
        we are getting rid of event lengthes here and there, which is good.
      sql/log.cc:
        Start events will have created==0 if generated by rotation (like in 3.23).
        In 5.0 we always write a Format_description_log_event at the beginning of
        every master's binary log and of every slave's relay log.
        We also add Rotate and Stop to relay logs (like there already was in
        master's binary logs).
        When we rotate a relay log, we write the previous relay log's Start event
        (the one which was sent from the master) to the beginning of the new log,
        so that we don't need the previous relay log to understand the new one;
        that's the purpose of MYSQL_LOG::description_event_for_queue.
        Removed logging of SET FOREIGN_KEY_CHECKS, because we handle it as flags
        in the Query event now.
      sql/log_event.cc:
        New event type: Format_description_log_event, to describe the log's format.
        read_log_event() needs to be passed this event to be able to read 5.0 events.
        Query_log_event has new members flags2 and sql_mode for replication of session
        variables (except charsets which are WL#1062) and SQL_MODE.
        flags2 is in fact a kind of copy of thd->options (&'d with a mask).
        Now with this replication of FOREIGN_KEY_CHECKS, SQL_AUTO_IS_NULL, UNIQUE_CHECKS
        and SQL_MODE work; with mysqlbinlog too.
      sql/log_event.h:
        Binlog version is changed to 4.
        New classes (details in sql/log_event.cc).
        Removing some useless #defines.
      sql/mysql_priv.h:
        Definition of SELECT_DISTINCT and others must be visible in client/mysqlbinlog.cc,
        so adding #ifdefs.
      sql/mysqld.cc:
        update for prototype change
      sql/slave.cc:
        When the slave opens a relay log, it reads the first few events to know the format.
        When slave I/O thread receives a Rotate from the master, it rotates its relay log
        (to avoid mixed format in the relay log).
      sql/slave.h:
        in the slave we avoid lengthes and rely on absolute positions instead;
        hence the introduction of future_group_master_log_pos and future_event_relay_log_pos
        (explained in code).
      sql/sql_class.cc:
        catalog in THD
      sql/sql_class.h:
        catalog, and new members in MYSQL_LOG
      sql/sql_repl.cc:
        When the master starts sending binlog to slave, it must
        first read the first few events to detect the binlog's format.
        Same for SHOW BINLOG EVENTS.
      378894b0
  18. 23 Nov, 2003 1 commit
    • unknown's avatar
      Replication: · bd6a7001
      unknown authored
      Now the I/O thread (in flush_master_info()) flushes the relay log to disk
      after reading every event. Slower but provides additionnal safety in case
      of brutal crash.
      I had to make the flush optional (i.e. add a if(some_bool_argument) in the function)
      because sometimes flush_master_info() is called when there is no usable
      relay log (the relay log's IO_CACHE is not initialized so can't be flushed).
      
      
      mysql-test/r/rpl_loaddata_rule_m.result:
        avoid a harmless error in the .err file; we don't need a slave in this test
        (even though it's called 'rpl' because it's testing binlog-ignore-db).
      mysql-test/t/rpl_loaddata_rule_m.test:
        result update
      sql/repl_failsafe.cc:
        update call to flush_master_info() according to new prototype.
      sql/slave.cc:
        - Now the I/O thread (in flush_master_info()) flushes the relay log to disk
        after reading every event. Slower but provides additionnal safety in case
        of brutal crash.
        I had to make the flush optional (i.e. add a if(some_bool_argument) in the function)
        because sometimes flush_master_info() is called when there is no usable
        relay log (the relay log's IO_CACHE is not initialized so can't be flushed).
        - Update version in message.
        - Remove warning about bug as it's not true anymore (since this changeset).
      sql/slave.h:
        new prototype
      sql/sql_repl.cc:
        update call to flush_master_info() according to new prototype.
      bd6a7001
  19. 20 Nov, 2003 3 commits
    • unknown's avatar
      Update VC++ files · 3ca0fa15
      unknown authored
      Portability fixes
      After merge fixes
      
      
      VC++Files/mysql.dsw:
        Added dependencys
      VC++Files/mysys/mysys.dsp:
        Add missing files
      client/mysqlcheck.c:
        Added comment
      client/mysqltest.c:
        Remove not used variables
      include/keycache.h:
        Removed not used element
      include/m_ctype.h:
        Portability fix
      include/my_base.h:
        Removed not used define
      myisam/mi_keycache.c:
        Added mutex for extra safety
      mysql-test/r/count_distinct3.result:
        Faster test
      mysql-test/r/rpl_change_master.result:
        updated results
      mysql-test/t/count_distinct3.test:
        Faster test
      mysql-test/t/rpl_change_master.test:
        Make test repeatable
      mysys/default.c:
        Remove compiler warning
      mysys/mf_keycache.c:
        Removed not used 'action' element
      mysys/my_getopt.c:
        Remove not used variable
      sql/ha_myisam.cc:
        Remove compiler warning
      sql/item.cc:
        Fixed wrong patch from last changeset
      sql/item_timefunc.cc:
        Remove compiler warnings
      sql/set_var.cc:
        Remove compiler warnings
      sql/sql_prepare.cc:
        Remove not used variables
      sql/sql_repl.cc:
        After merge fix
      sql/sql_select.h:
        Added comments
      sql/sql_table.cc:
        Remove not used define
      strings/ctype-tis620.c:
        Remove not used variables
      3ca0fa15
    • unknown's avatar
      Merge key cache structures to one · 35da5e43
      unknown authored
      Fixed compiler warnings (IRIX C compiler and VC++)
      
      
      VC++Files/client/mysqlclient.dsp:
        Add missing file to project
      VC++Files/libmysql/libmysql.dsp:
        Add missing file to project
      VC++Files/myisam/myisam.dsp:
        Add missing file to project
      VC++Files/mysys/mysys.dsp:
        Add missing file to project
      heap/hp_test1.c:
        Fixed wrong call to heap_rkey()
      heap/hp_test2.c:
        Fixed wrong call to heap_rkey()
      include/hash.h:
        Move not used (internal) struct to hash.c
      include/my_pthread.h:
        Made some structs 'const char*' to avoid warnings
      include/my_sys.h:
        Moved key cache structs and functions to keycache.h
      include/myisam.h:
        Merge key cache structures to one
      include/mysql.h:
        Remove STDCALL from internal functions
      include/sql_common.h:
        Remove STDCALL from internal functions
      include/violite.h:
        Fixed compiler warning
      isam/_locking.c:
        Merge key cache structures to one
      isam/_page.c:
        Merge key cache structures to one
      isam/close.c:
        Merge key cache structures to one
      isam/extra.c:
        Merge key cache structures to one
      isam/isamchk.c:
        Merge key cache structures to one
      isam/isamdef.h:
        Merge key cache structures to one
      isam/isamlog.c:
        Merge key cache structures to one
      isam/panic.c:
        Merge key cache structures to one
      isam/test2.c:
        Merge key cache structures to one
      isam/test3.c:
        Merge key cache structures to one
      libmysql/client_settings.h:
        Remove STDCALL from internal functions
      libmysql/libmysql.c:
        Remove STDCALL from internal functions
      myisam/ft_boolean_search.c:
        Fixed compiler warning
      myisam/ft_dump.c:
        Fixed compiler warnings (%qx is not portable)
      myisam/ft_update.c:
        Fixed compiler warnings
      myisam/mi_check.c:
        Merge key cache structures to one
      myisam/mi_close.c:
        Merge key cache structures to one
      myisam/mi_delete_all.c:
        Merge key cache structures to one
      myisam/mi_extra.c:
        Merge key cache structures to one
      myisam/mi_keycache.c:
        Merge key cache structures to one
      myisam/mi_locking.c:
        Merge key cache structures to one
      myisam/mi_page.c:
        Merge key cache structures to one
      myisam/mi_panic.c:
        Merge key cache structures to one
      myisam/mi_preload.c:
        Merge key cache structures to one
      myisam/mi_test1.c:
        Merge key cache structures to one
      myisam/mi_test2.c:
        Merge key cache structures to one
      myisam/mi_test3.c:
        Merge key cache structures to one
      myisam/myisamchk.c:
        Merge key cache structures to one
      myisam/myisamdef.h:
        Merge key cache structures to one
      myisam/myisamlog.c:
        Merge key cache structures to one
        Removed not used option
      myisam/sort.c:
        Fixed compiler warnings
      myisam/sp_test.c:
        Fixed compiler warnings
      mysql-test/r/case.result:
        Updated results after fix of correct NULL detection in WHEN
      mysql-test/r/date_formats.result:
        Updated results after fixing date handling
      mysql-test/r/symlink.result:
        Updated results after adding DEFAULT CHARSET
      mysql-test/t/case.test:
        New test
      mysql-test/t/symlink.test:
        Updated error numbers
      mysys/hash.c:
        Made HASH_LINK struct local
      mysys/mf_keycache.c:
        Merge key cache structures to one
        Fixed key_cache_read() and key_cache_write() to be resize-safe.
      mysys/mf_keycaches.c:
        Merge key cache structures to one
      mysys/thr_mutex.c:
        Added test if mutex is initalized
      sql-common/client.c:
        Remove STDCALL from internal functions
      sql/derror.cc:
        Added comment
      sql/field.cc:
        Removed not used variables
      sql/ha_innodb.cc:
        Fixed compiler warnings (removed not used variables)
      sql/ha_myisam.cc:
        Merge key cache structures to one
      sql/ha_myisammrg.cc:
        Removed not used variables
      sql/handler.cc:
        Merge key cache structures to one
      sql/handler.h:
        Merge key cache structures to one
      sql/item.cc:
        Fixed compiler warning
      sql/item_cmpfunc.cc:
        Remove not used variables
      sql/item_func.cc:
        Remove not used variables
      sql/item_strfunc.cc:
        Removed not used variables
      sql/item_sum.cc:
        Removed not used variables
        Moved setting of item_thd to fix_fields()
      sql/item_timefunc.cc:
        Removed not used variables
      sql/mysql_priv.h:
        Merge key cache structures to one
      sql/mysqld.cc:
        Merge key cache structures to one
        init_thread_environment() is not called before mysql_init_variables(). This fixes a case where a mutex was not initialized before it was used
      sql/opt_sum.cc:
        Remove not used variables
      sql/protocol.cc:
        Don't send errors after ok has been sent
      sql/protocol_cursor.cc:
        Remove not used variable
        Simple optimization
      sql/repl_failsafe.cc:
        Remove not used variables
      sql/set_var.cc:
        Merge key cache structures to one
      sql/set_var.h:
        Merge key cache structures to one
      sql/sql_acl.cc:
        Remove not used variables
      sql/sql_base.cc:
        Remove not used function
      sql/sql_db.cc:
        Remove not used variables
      sql/sql_handler.cc:
        Remove not used variables
      sql/sql_insert.cc:
        More DBUG statements
        Simple code cleanup
      sql/sql_lex.cc:
        Remove not used variables
      sql/sql_parse.cc:
        Remove not used variables
      sql/sql_prepare.cc:
        Remove not used variables
      sql/sql_repl.cc:
        Remove not used variables
      sql/sql_select.cc:
        Remove not used variables
      sql/sql_show.cc:
        Remove not used variables
      sql/sql_table.cc:
        Merge key cache structures to one
        Removed not used variables
      sql/sql_test.cc:
        Merge key cache structures to one
      sql/strfunc.cc:
        Fixed that find_type() returns correct value for partly matched words.
        (This fixed the error found by date_formats.test)
      sql/time.cc:
        Remove not used variables
      strings/my_strtoll10.c:
        Fixed compiler warnings
      35da5e43
    • unknown's avatar
      Use same style for SHOW MASTER STATUS fields as · c9a9fa8e
      unknown authored
      for SHOW SLAVE STATUS.
      
      
      c9a9fa8e
  20. 18 Nov, 2003 1 commit
    • unknown's avatar
      Fix for BUG#1870 · 80649ee8
      unknown authored
          "CHANGE MASTER makes SQL thread restart from coordinates of I/O thread".
          So, in CHANGE MASTER:
          when it seems reasonable that the user did not want to discontinue
          its replication (i.e. when he is not specifying host or port or master_log_file
          or master_log_pos; this will be documented), set the coordinates of the
          I/O thread to those of the SQL thread. This way, the SQL thread will see
          no discontinuity in the relay log (i.e. will skip no events), because
          the I/O thread will fill the brand new relay log with the events which
          are just after the position where the SQL thread had stopped
          (before CHANGE MASTER was issued).
          And a new test for this bug.
      
      
      mysql-test/r/rpl_loaddata.result:
        Now, after CHANGE MASTER the coordinates of the I/O thread are the last ones of the SQL thread, so result update.
      sql/sql_repl.cc:
        Fix for BUG#1870
        "CHANGE MASTER makes SQL thread restart from coordinates of I/O thread".
        So, in CHANGE MASTER:
        when it seems reasonable that the user did not want to discontinue
        its replication (i.e. when he is not specifying host or port or master_log_file
        or master_log_pos; this will be documented), set the coordinates of the
        I/O thread to those of the SQL thread. This way, the SQL thread will see
        no discontinuity in the relay log (i.e. will skip no events), because
        the I/O thread will fill the brand new relay log with the events which
        are just after the position where the SQL thread had stopped
        (before CHANGE MASTER was issued).
      80649ee8
  21. 30 Oct, 2003 1 commit
    • unknown's avatar
      added code covarage for functions convert(), nullif(), crc32(),... · 87e6c2ba
      unknown authored
      added code covarage for functions convert(), nullif(), crc32(), is_used_lock(), char_lengtrh(), bit_xor()
      added string length for more speed
      made code covarage for print() method of Item
      fixed printability of some items (SCRUM) (WL#1274)
      
      
      mysql-test/r/auto_increment.result:
        print() code coverage
      mysql-test/r/bench_count_distinct.result:
        print() code coverage
      mysql-test/r/case.result:
        print() code coverage
      mysql-test/r/cast.result:
        print() code coverage
      mysql-test/r/ctype_collate.result:
        print() code coverage
      mysql-test/r/ctype_many.result:
        convert with 3 arguments code covarage
        print() code coverage
      mysql-test/r/ctype_utf8.result:
        char_length code coverage
      mysql-test/r/date_formats.result:
        print() code coverage
      mysql-test/r/fulltext.result:
        print() code coverage
      mysql-test/r/func_compress.result:
        print() code coverage
      mysql-test/r/func_gconcat.result:
        print() code coverage
      mysql-test/r/func_group.result:
        bit_xor() code coverage
        print() code coverage
      mysql-test/r/func_if.result:
        nullif() code coverage
        print() code coverage
      mysql-test/r/func_in.result:
        print() code coverage
      mysql-test/r/func_math.result:
        print() code coverage
      mysql-test/r/func_op.result:
        print() code coverage
      mysql-test/r/func_regexp.result:
        print() code coverage
      mysql-test/r/func_set.result:
        print() code coverage
      mysql-test/r/func_str.result:
        crc32() code coverage
        print() code coverage
      mysql-test/r/func_system.result:
        print() code coverage
      mysql-test/r/func_test.result:
        print() code coverage
      mysql-test/r/func_time.result:
        print() code coverage
      mysql-test/r/group_by.result:
        print() code coverage
      mysql-test/r/having.result:
        print() code coverage
      mysql-test/r/insert_update.result:
        print() code coverage
      mysql-test/r/null.result:
        print() code coverage
      mysql-test/r/olap.result:
        print() code coverage
      mysql-test/r/query_cache.result:
        print() code coverage
      mysql-test/r/row.result:
        print() code coverage
      mysql-test/r/rpl000001.result:
        print() code coverage
      mysql-test/r/rpl_get_lock.result:
        print() code coverage
      mysql-test/r/rpl_master_pos_wait.result:
        print() code coverage
      mysql-test/r/select.result:
        print() code coverage
      mysql-test/r/subselect.result:
        print() code coverage
      mysql-test/r/type_blob.result:
        print() code coverage
      mysql-test/r/varbinary.result:
        print() code coverage
      mysql-test/r/variables.result:
        print() code coverage
      mysql-test/t/auto_increment.test:
        print() code coverage
      mysql-test/t/bench_count_distinct.test:
        print() code coverage
      mysql-test/t/case.test:
        print() code coverage
      mysql-test/t/cast.test:
        print() code coverage
      mysql-test/t/ctype_collate.test:
        print() code coverage
      mysql-test/t/ctype_many.test:
        convert with 3 arguments code covarage
        print() code coverage
      mysql-test/t/ctype_utf8.test:
        char_length code coverage
      mysql-test/t/date_formats.test:
        print() code coverage
      mysql-test/t/fulltext.test:
        print() code coverage
      mysql-test/t/func_compress.test:
        print() code coverage
      mysql-test/t/func_gconcat.test:
        print() code coverage
      mysql-test/t/func_group.test:
        bit_xor() code coverage
        print() code coverage
      mysql-test/t/func_if.test:
        nullif() code coverage
        print() code coverage
      mysql-test/t/func_in.test:
        print() code coverage
      mysql-test/t/func_math.test:
        print() code coverage
      mysql-test/t/func_op.test:
        print() code coverage
      mysql-test/t/func_regexp.test:
        print() code coverage
      mysql-test/t/func_set.test:
        print() code coverage
      mysql-test/t/func_str.test:
        crc32() code covarage
        print() code coverage
      mysql-test/t/func_system.test:
        print() code coverage
      mysql-test/t/func_test.test:
        print() code coverage
      mysql-test/t/func_time.test:
        print() code coverage
      mysql-test/t/group_by.test:
        print() code coverage
      mysql-test/t/having.test:
        print() code coverage
      mysql-test/t/insert_update.test:
        print() code coverage
      mysql-test/t/null.test:
        print() code coverage
      mysql-test/t/olap.test:
        print() code coverage
      mysql-test/t/query_cache.test:
        print() code coverage
      mysql-test/t/row.test:
        print() code coverage
      mysql-test/t/rpl000001.test:
        print() code coverage
      mysql-test/t/rpl_get_lock.test:
        print() code coverage
      mysql-test/t/rpl_master_pos_wait.test:
        print() code coverage
      mysql-test/t/select.test:
        print() code coverage
      mysql-test/t/type_blob.test:
        print() code coverage
      mysql-test/t/varbinary.test:
        print() code coverage
      mysql-test/t/variables.test:
        print() code coverage
      sql/item.cc:
        added string length for more speed
        layout fix
        fixed string printability
      sql/item.h:
        added string length for more speed
      sql/item_cmpfunc.cc:
        added string length for more speed
      sql/item_cmpfunc.h:
        fixed printability
      sql/item_create.cc:
        fixed printability
      sql/item_func.cc:
        fixed printability
        added string length for more speed
      sql/item_func.h:
        fixed printability
      sql/item_strfunc.cc:
        fixed printability
        added string length for more speed
      sql/item_strfunc.h:
        fixed printability
      sql/item_subselect.cc:
        added string length for more speed
      sql/item_sum.cc:
        added string length for more speed
      sql/item_timefunc.cc:
        added string length for more speed
      sql/item_timefunc.h:
        fixed printability
      sql/item_uniq.h:
        added string length for more speed
      sql/key.cc:
        added string length for more speed
      sql/sql_lex.cc:
        added string length for more speed
      sql/sql_parse.cc:
        after merge fix
      sql/sql_repl.cc:
        string changed with character for more speed
      sql/sql_select.cc:
        added string length for more speed
      sql/sql_show.cc:
        added string length for more speed
      87e6c2ba
  22. 08 Oct, 2003 3 commits
    • unknown's avatar
      Final push for WL#1098: · a7a7a8ca
      unknown authored
      "Add a column "Timestamp_of_last_master_event_executed" in SHOW SLAVE STATUS".
      Finally this is adding
      - Slave_IO_State (a copy of the State column of SHOW PROCESSLIST for the I/O thread,
      so that the users, most of the time, has enough info with only SHOW SLAVE STATUS).
      - Seconds_behind_master. When the slave connects to the master it does SELECT UNIX_TIMESTAMP()
      on the master, computes the absolute difference between the master's and the slave's clock.
      It records the timestamp of the last event executed by the SQL thread, and does a
      small computation to find the number of seconds by which the slave is late.
      
      
      mysql-test/r/rpl000015.result:
        result update
      mysql-test/r/rpl_empty_master_crash.result:
        result update
      mysql-test/r/rpl_error_ignored_table.result:
        result update
      mysql-test/r/rpl_flush_log_loop.result:
        result update
      mysql-test/r/rpl_loaddata.result:
        result update
      mysql-test/r/rpl_log.result:
        result update
      mysql-test/r/rpl_log_pos.result:
        result update
      mysql-test/r/rpl_max_relay_size.result:
        result update
      mysql-test/r/rpl_redirect.result:
        result update
      mysql-test/r/rpl_replicate_do.result:
        result update
      mysql-test/r/rpl_reset_slave.result:
        result update
      mysql-test/r/rpl_rotate_logs.result:
        result update
      mysql-test/r/rpl_trunc_binlog.result:
        result update
      mysql-test/r/rpl_until.result:
        result update
      mysql-test/t/rpl000015.test:
        update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
      mysql-test/t/rpl_empty_master_crash.test:
        update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
      mysql-test/t/rpl_error_ignored_table.test:
        update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
      mysql-test/t/rpl_flush_log_loop.test:
        update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
      mysql-test/t/rpl_loaddata.test:
        update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
      mysql-test/t/rpl_log.test:
        update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
      mysql-test/t/rpl_log_pos.test:
        update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
      mysql-test/t/rpl_max_relay_size.test:
        update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
      mysql-test/t/rpl_openssl.test:
        update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
      mysql-test/t/rpl_redirect.test:
        update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
      mysql-test/t/rpl_replicate_do.test:
        update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
      mysql-test/t/rpl_reset_slave.test:
        update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
      mysql-test/t/rpl_rotate_logs.test:
        update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
      mysql-test/t/rpl_trunc_binlog.test:
        update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
      mysql-test/t/rpl_until.test:
        update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
      sql/log_event.cc:
        when the SQL thread executes an event, we record its timestamp
      sql/slave.cc:
        in check_master_version() we know read the master's clock, to know the clock difference
        with the slave.
        In show_master_info() we send the state of the I/O thread, and compute the number of
        seconds by which the slave is late.
      sql/slave.h:
        timestamp of the last master's event executed by the SQL thread,
        and difference between the clocks of the master and slave.
      sql/sql_repl.cc:
        clear the Seconds_behind_master column of SHOW SLAVE STATUS when RESET SLAVE or CHANGE MASTER.
      a7a7a8ca
    • unknown's avatar
      Indentation cleanups · d1d07c99
      unknown authored
      Remove wait_if_global_read_lock on commit as this can cause deadlocks
      
      
      BUILD/FINISH.sh:
        Cleanup
      BUILD/SETUP.sh:
        Cleanup
      BUILD/compile-pentium-valgrind-max:
        Don't write message twice
      mysql-test/r/innodb.result:
        Removed failure as this can cause deadlocks
      mysql-test/r/rpl_max_relay_size.result:
        Make test repeatable
      mysql-test/t/innodb.test:
        Removed failure as this can cause deadlocks
      mysql-test/t/rpl_max_relay_size.test:
        Removed failure as this can cause deadlocks
      sql/handler.cc:
        Remove wait_if_global_read_lock as this can cause deadlocks
      sql/opt_range.cc:
        Indentation cleanup
      sql/sql_db.cc:
        Comment cleanup
      sql/sql_parse.cc:
        Comment cleanup
      sql/sql_repl.cc:
        Indentation cleanup
      sql/sql_select.cc:
        Indentation cleanup
      d1d07c99
    • unknown's avatar
      Fixed memory leak in send_file · 7e9e20e3
      unknown authored
      mysql-test/t/myisam.test:
        Cleanup test
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      7e9e20e3
  23. 29 Sep, 2003 1 commit
  24. 26 Sep, 2003 1 commit
    • unknown's avatar
      SCRUM: · 17053698
      unknown authored
      WL#604 Privileges in embedded library
      code added to check privileges in embedded library
      NO_EMBEDDED_ACCESS_CHECKS macros inserted in code so we can exclude
      access-checking parts. Actually we now can exclude these parts from
      standalone server as well. Do we need it?
      Access checks are disabled in embedded server by default. One should
      edit libmysqld/Makefile manually to get this working.
      We definitely need the separate configure for embedded server
      
      
      include/mysql.h:
        options added so user of embedded library can set the client host
        it will work as if the usual client connects from this host
      libmysqld/Makefile.am:
        Usually one doesn't need access checking in embedded library
        we definitely should separate configure for embedded server
      libmysqld/lib_sql.cc:
        necessary code for getting passwords and access checks added
      libmysqld/libmysqld.c:
        code #ifdef-ed - we use this only when we check permissions
      sql-common/client.c:
        one mysql_close left now
      sql/item_strfunc.cc:
        #ifndef-s added
      sql/log.cc:
        #ifndef-s added
      sql/mysql_priv.h:
        #ifndef-s added
        also i removed default parameters from check_access and check_table_access
        definitions to set definitions working
      sql/mysqld.cc:
        #ifndef-s added
        localhost renamed to my_localhost
      sql/repl_failsafe.cc:
        parameters added
      sql/set_var.cc:
        #ifndef-s added
      sql/sql_acl.cc:
        #ifndef-s added
      sql/sql_acl.h:
        #ifndef-s added
      sql/sql_base.cc:
        #ifndef-s added
      sql/sql_cache.cc:
        #ifndef-s added
      sql/sql_class.cc:
        #ifndef-s added
      sql/sql_db.cc:
        #ifndef-s added
      sql/sql_derived.cc:
        #ifndef-s added
      sql/sql_insert.cc:
        #ifndef-s added
      sql/sql_parse.cc:
        a horde of #ifndef-s added
      sql/sql_prepare.cc:
        #ifndef-s added
      sql/sql_repl.cc:
        parameters added
      sql/sql_show.cc:
        #ifndef-s added
      sql/sql_update.cc:
        #ifndef-s added
      17053698
  25. 24 Sep, 2003 1 commit
  26. 13 Sep, 2003 2 commits
    • unknown's avatar
      Implemented support for START SLAVE UNTIL (WL#868) · 2f8f0a7e
      unknown authored
      include/mysqld_error.h:
        Added error codes for warnings and error messages for START SLAVE UNTIL
      mysql-test/r/rpl000015.result:
        Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
      mysql-test/r/rpl_empty_master_crash.result:
        Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
      mysql-test/r/rpl_flush_log_loop.result:
        Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
      mysql-test/r/rpl_log.result:
        Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
      mysql-test/r/rpl_log_pos.result:
        Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
      mysql-test/r/rpl_redirect.result:
        Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
      mysql-test/r/rpl_replicate_do.result:
        Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
      mysql-test/r/rpl_rotate_logs.result:
        Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
      sql/lex.h:
        Added UNTIL symbol
      sql/log.cc:
        Invalidating until_log_name comparison result if group_relay_log_name is changed
      sql/log_event.cc:
        Invalidating until_log_name comparison result if group_master_log_name is changed
      sql/repl_failsafe.cc:
        Cancel until condition if LOAD MASTER DATA is executed
      sql/share/czech/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/danish/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/dutch/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/english/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/estonian/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/french/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/german/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/greek/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/hungarian/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/italian/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/japanese/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/korean/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/norwegian-ny/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/norwegian/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/polish/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/portuguese/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/romanian/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/russian/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/serbian/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/slovak/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/spanish/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/swedish/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/ukrainian/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/slave.cc:
        Fixed wrong locking order in init_relay_log_pos()
        Added until condition fields to SHOW SLAVE STATUS
        Added checking if UNTIL condition is reached 
        (added proper method, added its invocation, reorganized locking 
        in exec_relay_log_event() and next_event())
      sql/slave.h:
        Members in RELAY_LOG_INFO for storing UNTIL condition. Also 
        methods for for invalidation of cached UNTIL condition comparison
        results
      sql/sql_repl.cc:
        Now honoring UNTIL clause then starting slave thread. Proper 
        errors and warnings.
      sql/sql_yacc.yy:
        Added support for UNTIL clause in START SLAVE. This involved 
        extraction of some of master_defs to separate master_file_def
        non-terminal.
      2f8f0a7e
    • unknown's avatar
      Remove 'extern' references from .cc files · c4079104
      unknown authored
      mysys/checksum.c:
        Cleanup
      mysys/my_static.h:
        Remove not used include file
      sql/item_strfunc.cc:
        Remove 'extern' references
      sql/lock.cc:
        Remove 'extern' references
      sql/log.cc:
        Remove 'extern' references
      sql/mysql_priv.h:
        Add 'extern' references
      sql/net_serv.cc:
        Added comment
      sql/repl_failsafe.cc:
        Remove 'extern' references
      sql/set_var.cc:
        Remove 'extern' references
      sql/sql_derived.cc:
        Remove 'extern' references
      sql/sql_insert.cc:
        Remove 'extern' references
      sql/sql_parse.cc:
        Remove 'extern' references
      sql/sql_prepare.cc:
        Remove 'extern' references
      sql/sql_repl.cc:
        Remove 'extern' references
      sql/sql_string.cc:
        Added comment
      sql/sql_table.cc:
        Remove 'extern' references
      sql/sql_test.cc:
        Remove 'extern' references
      sql/sql_yacc.yy:
        Remove 'extern' references
      sql/table.cc:
        Remove 'extern' references
      c4079104
  27. 01 Sep, 2003 1 commit
    • unknown's avatar
      Implemented replication over SSL · 8a548ffd
      unknown authored
       Added proper options to CHANGE MASTER TO, new fields to SHOW SLAVE STATUS,
       Honoring this parameters during connection to master.
       Introduced new format of master.info file
      
      
      include/mysqld_error.h:
        Added error code for "slave without SSL ignored SSL params warning"
      mysql-test/Makefile.am:
        Copy files required for rpl_openssl test during the make process
      mysql-test/r/rpl000015.result:
        Added fields to SHOW SLAVE STATUS for replication over SSL
      mysql-test/r/rpl_empty_master_crash.result:
        Added fields to SHOW SLAVE STATUS for replication over SSL
      mysql-test/r/rpl_flush_log_loop.result:
        Added fields to SHOW SLAVE STATUS for replication over SSL
      mysql-test/r/rpl_log.result:
        Added fields to SHOW SLAVE STATUS for replication over SSL
      mysql-test/r/rpl_log_pos.result:
        Added fields to SHOW SLAVE STATUS for replication over SSL
      mysql-test/r/rpl_redirect.result:
        Added fields to SHOW SLAVE STATUS for replication over SSL
      mysql-test/r/rpl_replicate_do.result:
        Added fields to SHOW SLAVE STATUS for replication over SSL
      mysql-test/r/rpl_rotate_logs.result:
        Added fields to SHOW SLAVE STATUS for replication over SSL
      sql/lex.h:
        Added MASTER_SSL lexems for CHANGE MASTER
      sql/mysqld.cc:
        Added --master-ssl-ca parameter. Fixed description of other master-ssl parameters
      sql/repl_failsafe.cc:
        Added SSL support to connect_to_master()
      sql/share/czech/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/danish/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/dutch/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/english/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/estonian/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/french/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/german/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/greek/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/hungarian/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/italian/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/japanese/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/korean/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/norwegian-ny/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/norwegian/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/polish/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/portuguese/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/romanian/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/russian/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/serbian/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/slovak/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/spanish/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/swedish/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/ukrainian/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/slave.cc:
        Introduced new format of master.info file
        Added support of SSL params in master.info and SHOW SLAVE STATUS
        Added support of SSL connections
      sql/slave.h:
        Added SSL parameters to MASTER_INFO
      sql/sql_lex.h:
        Added SSL parameters for CHANGE MASTER TO
      sql/sql_repl.cc:
        Added SSL parameters for CHANGE MASTER TO
      sql/sql_yacc.yy:
        Added SSL parameters for CHANGE MASTER TO
      8a548ffd
  28. 25 Aug, 2003 1 commit
    • unknown's avatar
      Clearer states in SHOW PROCESSLIST for replication threads. · c47ee569
      unknown authored
      For example the Binlog_dump thread (on the master) sometimes showed "Slave:".
      And there were confusing messages where "binlog" was employed instead
      of "relay log".
      
      
      sql/log.cc:
        MYSQL_LOG::wait_for_update() is used by the binlog_dump and I/Oslave threads,
        and it updates thd->proc_info, so we need a bool to not show the same
        proc_info for 2 different things (previously we showed "Slave: etc" and that's
        bad for a binlog_dump thread).
      sql/slave.cc:
        Clearer thd-proc_info for slave threads.
      sql/sql_class.h:
        prototype change
      sql/sql_repl.cc:
        clearer thd->proc_info for binlog_dump thread
      c47ee569
  29. 20 Aug, 2003 1 commit
    • unknown's avatar
      First commit for fixing BUG#1100 · 1542fffb
      unknown authored
      "LOAD DATA INFILE is badly filtered by binlog-*-db rules".
      There will probably be a second final one to merge Dmitri's changes
      to rpl_log.result and mine.
      2 new tests:
      rpl_loaddata_rule_m : test of logging of LOAD DATA INFILE when the master has binlog-*-db rules,
      rpl_loaddata_rule_s : test of logging of LOAD DATA INFILE when the slave has binlog-*-db rules and --log-slave-updates.
      
      
      mysql-test/r/rpl_loaddata.result:
        Test that logging of LOAD DATA INFILE is done on the slave
      mysql-test/t/rpl_loaddata.test:
        Test that logging of LOAD DATA is done on the slave
      sql/log.cc:
        debug info
      sql/log_event.cc:
        * Append_block, Exec_load and Delete_file now have a member 'db' like Create_file.
        This member is filled by mysql_load(). It is used for filtering by binlog-*-db rules,
        that's all. It's not written to the binlog, and so can't be read from the binlog.
        In other words, that's temporary info which is stored in the event and lost when
        it is written and deleted.
        * Better error messages in Append_block et al. events.
        * The slave now logs (log-slave-updates) the Create_file et al. events in mysql_load()
        (they are not directly copied from the events in the relay log, because this
        prevented filtering by binlog-*-db rules). Before, mysql_load() in the slave
        did no logging, now it does the logging, as in any regular thread.
      sql/log_event.h:
        New member 'db' for Append_block et al. events.
      sql/slave.cc:
        Removed useless code. Why was it useless:
        - CREATE_FILE_EVENT is not defined in 3.23. It appeared in 4.0.
        - in queue_old_event(), which is called only if the master is 3.23, we had a
        case CREATE_FILE_EVENT:
        so this case can be removed.
        - this case was the only caller of process_io_create_file() so this function
        can be removed.
      sql/sql_load.cc:
        Pass the db to events, so that they can be well filtered.
      sql/sql_repl.cc:
        Pass the db to events so that they can be well filtered.
      1542fffb
  30. 18 Aug, 2003 1 commit
    • unknown's avatar
      After merge fixes · 2901c3b8
      unknown authored
      Use server character set if --default-character-set is not used
      Added convert_string() for more efficient alloc+character-set convert of strings
      
      
      BitKeeper/deleted/.del-convert.result~a3b56e1db6f498e9:
        Delete: mysql-test/r/convert.result
      BitKeeper/deleted/.del-convert.test~f4ceb743194dfe72:
        Delete: mysql-test/t/convert.test
      BitKeeper/deleted/.del-make_win_src_distribution.old~5c9ebdc4a852b43b:
        Delete: scripts/make_win_src_distribution.old
      client/mysql.cc:
        Use server character set if --default-character-set is not used
      client/mysqltest.c:
        Code cleanup (merge identical code)
        More debug messages
      heap/hp_create.c:
        After merge fix
      include/m_ctype.h:
        After merge fix
      include/my_global.h:
        Remove size_str (we already have size_s)
      include/mysql_com.h:
        After merge fix
      libmysql/libmysql.c:
        After merge fix
      libmysqld/Makefile.am:
        After merge fix
      mysql-test/r/auto_increment.result:
        After merge fix
      mysql-test/r/create.result:
        After merge fix
      mysql-test/r/ctype_latin1_de.result:
        After merge fix
      mysql-test/r/distinct.result:
        After merge fix
      mysql-test/r/drop.result:
        After merge fix
      mysql-test/r/fulltext.result:
        After merge fix
      mysql-test/r/func_gconcat.result:
        After merge fix
      mysql-test/r/func_str.result:
        After merge fix
      mysql-test/r/func_test.result:
        After merge fix
      mysql-test/r/grant.result:
        After merge fix
      mysql-test/r/group_by.result:
        After merge fix
      mysql-test/r/handler.result:
        After merge fix
      mysql-test/r/heap.result:
        After merge fix
      mysql-test/r/heap_btree.result:
        After merge fix
      mysql-test/r/heap_hash.result:
        After merge fix
      mysql-test/r/innodb.result:
        After merge fix
      mysql-test/r/insert.result:
        After merge fix
      mysql-test/r/insert_select.result:
        After merge fix
      mysql-test/r/join_outer.result:
        After merge fix
      mysql-test/r/key.result:
        After merge fix
      mysql-test/r/key_cache.result:
        After merge fix
      mysql-test/r/loaddata.result:
        After merge fix
      mysql-test/r/myisam.result:
        After merge fix
      mysql-test/r/null.result:
        After merge fix
      mysql-test/r/null_key.result:
        After merge fix
      mysql-test/r/order_by.result:
        After merge fix
      mysql-test/r/rpl_do_grant.result:
        After merge fix
      mysql-test/r/rpl_error_ignored_table.result:
        After merge fix
      mysql-test/r/rpl_ignore_grant.result:
        After merge fix
      mysql-test/r/rpl_loaddata.result:
        After merge fix
      mysql-test/r/rpl_log.result:
        After merge fix
      mysql-test/r/rpl_log_pos.result:
        After merge fix
      mysql-test/r/rpl_max_relay_size.result:
        After merge fix
      mysql-test/r/rpl_replicate_do.result:
        After merge fix
      mysql-test/r/rpl_reset_slave.result:
        After merge fix
      mysql-test/r/rpl_rotate_logs.result:
        After merge fix
      mysql-test/r/rpl_user_variables.result:
        After merge fix
      mysql-test/r/select.result:
        After merge fix
      mysql-test/r/select_safe.result:
        After merge fix
      mysql-test/r/subselect.result:
        After merge fix
      mysql-test/r/type_blob.result:
        After merge fix
      mysql-test/r/type_decimal.result:
        After merge fix
      mysql-test/r/type_float.result:
        After merge fix
      mysql-test/r/type_ranges.result:
        After merge fix
      mysql-test/r/type_time.result:
        After merge fix
      mysql-test/r/type_uint.result:
        After merge fix
      mysql-test/r/union.result:
        After merge fix
      mysql-test/r/warnings.result:
        After merge fix
      mysql-test/t/auto_increment.test:
        After merge fix
      mysql-test/t/case.test:
        After merge fix
      mysql-test/t/ctype_collate.test:
        After merge fix
      mysql-test/t/ctype_latin1_de.test:
        After merge fix
      mysql-test/t/drop.test:
        After merge fix
      mysql-test/t/func_in.test:
        After merge fix
      mysql-test/t/func_set.test:
        After merge fix
      mysql-test/t/func_str.test:
        After merge fix
      mysql-test/t/func_test.test:
        After merge fix
      mysql-test/t/grant.test:
        After merge fix
      mysql-test/t/group_by.test:
        After merge fix
      mysql-test/t/handler.test:
        After merge fix
      mysql-test/t/heap.test:
        After merge fix
      mysql-test/t/heap_btree.test:
        After merge fix
      mysql-test/t/heap_hash.test:
        After merge fix
      mysql-test/t/innodb.test:
        After merge fix
      mysql-test/t/insert_select.test:
        After merge fix
      mysql-test/t/key.test:
        After merge fix
      mysql-test/t/key_cache.test:
        After merge fix
      mysql-test/t/lock_tables_lost_commit-master.opt:
        After merge fix
      mysql-test/t/lock_tables_lost_commit.test:
        After merge fix
      mysql-test/t/myisam.test:
        After merge fix
      mysql-test/t/row.test:
        After merge fix
      mysql-test/t/subselect.test:
        After merge fix
      mysql-test/t/type_decimal.test:
        After merge fix
      mysql-test/t/type_ranges.test:
        After merge fix
      mysql-test/t/type_uint.test:
        After merge fix
      mysql-test/t/variables.test:
        After merge fix
      mysql-test/t/warnings.test:
        After merge fix
      scripts/make_win_src_distribution.sh:
        after merge fixes
      sql-common/client.c:
        After merge fix
        Change my_connect() to use poll()
        If character set is not given, use servers character set.
      sql/field.cc:
        After merge fix
        Don't give warnings when storing data in fields in optimizer.
      sql/ha_myisammrg.h:
        After merge fix
      sql/log.cc:
        After merge fix
      sql/log_event.cc:
        After merge fix
      sql/mysqld.cc:
        After merge fix
      sql/opt_range.cc:
        After merge fix
      sql/set_var.cc:
        Code cleanup
        Fixed wrong usage of base_names (like medium.key_buffer) that caused core dumps
      sql/set_var.h:
        Fixed wrong usage of base_names (like medium.key_buffer) that caused core dumps
      sql/slave.cc:
        After merge fix
      sql/sql_acl.cc:
        After merge fix
        Code cleanup
      sql/sql_class.cc:
        Added convert_string() for more efficient alloc+character-set convert of strings
        Add cached flags to avoid calling mysql_charset_same() during parsing.
      sql/sql_class.h:
        Added convert_string() for more efficient alloc+character-set convert of strings
        Add cached flags to avoid calling mysql_charset_same() during parsing.
      sql/sql_handler.cc:
        After merge fix
      sql/sql_lex.h:
        After merge fix
      sql/sql_parse.cc:
        Optimize and fix memory reference errors reported by valgrind
      sql/sql_repl.cc:
        After merge fix
      sql/sql_yacc.yy:
        After merge fix
        Avoid calling mysql_charset_same() when parsing identifiers
      strings/ctype-latin1.c:
        Port latin_de conversion code from 4.0
      2901c3b8