An error occurred fetching the project authors.
  1. 29 Aug, 2007 1 commit
    • unknown's avatar
      BUG#29968 (rpl_ndb_circular.test and rpl_ndb_log.test fail): · e5c8240a
      unknown authored
      Removing unguarded read of slave_running field from inside
      terminate_slave_threads(). This could cause premature exit in the event
      that the slave thread already were shutting down, but isn't finished yet.
      
      The fields slave_running, io_thd, and sql_thread are guarded by an
      associated run_lock. A read of these fields were not guarded inside
      terminate_slave_threads(), which caused an assertion to fire. The
      assertion was removed, and the code reorganized slightly.
      
      
      sql/slave.cc:
        Changing signature of terminate_slave_thread() to accept a skip_lock
        parameter instead of two mutexes. This mimics the signature of the
        terminate_slave_threads() function. Code is also changed as a result
        of this.
        
        Removing unguarded check of slave_running field in the master info and
        relay log info structure since that could cause premature exit of
        terminate_slave_threads().
        
        The thread variable for each of the slave threads can change before
        acquiring the run_lock mutex inside terminate_slave_thread(). Hence
        an assertion was removed that read the variable without guarding it
        with run_lock.
        
        Code that checked *slave_running status inside terminate_slave_thread()
        was reorganized slightly.
      sql/slave.h:
        Moving terminate_slave_thread() to use internal linkage.
      e5c8240a
  2. 16 Aug, 2007 2 commits
    • unknown's avatar
      Renaming MASTER_INFO to Master_info in order to follow the coding · 9a7658a3
      unknown authored
      standards (and help Doxygen generating good documentation).
      
      
      sql/ha_ndbcluster.cc:
        Renaming MASTER_INFO to Master_info.
      sql/log_event.cc:
        Renaming MASTER_INFO to Master_info.
      sql/repl_failsafe.cc:
        Renaming MASTER_INFO to Master_info.
      sql/repl_failsafe.h:
        Renaming MASTER_INFO to Master_info.
      sql/rpl_mi.cc:
        Renaming MASTER_INFO to Master_info.
      sql/rpl_mi.h:
        Renaming MASTER_INFO to Master_info.
      sql/rpl_rli.h:
        Renaming MASTER_INFO to Master_info.
      sql/slave.cc:
        Renaming MASTER_INFO to Master_info.
      sql/slave.h:
        Renaming MASTER_INFO to Master_info.
      sql/sql_repl.cc:
        Renaming MASTER_INFO to Master_info.
      sql/sql_repl.h:
        Renaming MASTER_INFO to Master_info.
      9a7658a3
    • unknown's avatar
      Renaming RELAY_LOG_INFO and st_relay_log_info to follow coding standards · 044a4a3e
      unknown authored
      (and be more friendly to Doxygen by removing unnecessary typedefs).
      
      
      sql/log.cc:
        Renaming struct st_relay_log_info to class Relay_log_info.
      sql/log.h:
        Renaming struct st_relay_log_info to class Relay_log_info.
      sql/log_event.cc:
        Renaming RELAY_LOG_INFO to Relay_log_info.
      sql/log_event.h:
        Renaming struct st_relay_log_info to class Relay_log_info.
        Renaming RELAY_LOG_INFO to Relay_log_info.
        Removing typedef RELAY_LOG_INFO.
      sql/log_event_old.cc:
        Renaming RELAY_LOG_INFO to Relay_log_info.
      sql/log_event_old.h:
        Renaming RELAY_LOG_INFO to Relay_log_info.
      sql/rpl_mi.h:
        Renaming RELAY_LOG_INFO to Relay_log_info.
      sql/rpl_record.cc:
        Renaming RELAY_LOG_INFO to Relay_log_info.
      sql/rpl_record.h:
        Renaming RELAY_LOG_INFO to Relay_log_info.
      sql/rpl_record_old.cc:
        Renaming RELAY_LOG_INFO to Relay_log_info.
      sql/rpl_record_old.h:
        Renaming RELAY_LOG_INFO to Relay_log_info.
      sql/rpl_rli.cc:
        Renaming struct st_relay_log_info to class Relay_log_info.
        Renaming RELAY_LOG_INFO to Relay_log_info.
      sql/rpl_rli.h:
        Renaming struct st_relay_log_info to class Relay_log_info.
        Renaming RELAY_LOG_INFO to Relay_log_info.
        Removing typedef RELAY_LOG_INFO.
      sql/rpl_utility.cc:
        Renaming RELAY_LOG_INFO to Relay_log_info.
      sql/rpl_utility.h:
        Renaming struct st_relay_log_info to class Relay_log_info.
        Renaming RELAY_LOG_INFO to Relay_log_info.
        Removing typedef RELAY_LOG_INFO.
      sql/slave.cc:
        Renaming RELAY_LOG_INFO to Relay_log_info.
      sql/slave.h:
        Renaming struct st_relay_log_info to class Relay_log_info.
        Renaming RELAY_LOG_INFO to Relay_log_info.
        Removing typedef RELAY_LOG_INFO.
      sql/sql_binlog.cc:
        Renaming RELAY_LOG_INFO to Relay_log_info.
      sql/sql_class.h:
        Renaming struct st_relay_log_info to class Relay_log_info.
        Renaming RELAY_LOG_INFO to Relay_log_info.
        Removing typedef RELAY_LOG_INFO.
      sql/sql_repl.cc:
        Renaming RELAY_LOG_INFO to Relay_log_info.
      044a4a3e
  3. 30 Jul, 2007 1 commit
    • unknown's avatar
      Slow query log to file now displays queries with microsecond precission · b59217eb
      unknown authored
      --long-query-time is now given in seconds with microseconds as decimals
      --min_examined_row_limit added for slow query log
      long_query_time user variable is now double with 6 decimals
      Added functions to get time in microseconds
      Added faster time() functions for system that has gethrtime()  (Solaris)
      We now do less time() calls.
      Added field->in_read_set() and field->in_write_set() for easier field manipulation by handlers
      set_var.cc and my_getopt() can now handle DOUBLE variables.
      All time() calls changed to my_time()
      my_time() now does retry's if time() call fails.
      Added debug function for stopping in mysql_admin_table() when tables are locked
      Some trivial function and struct variable renames to avoid merge errors.
      Fixed compiler warnings
      Initialization of some time variables on windows moved to my_init() 
      
      
      include/my_getopt.h:
        Added support for double arguments
      include/my_sys.h:
        Fixed wrong type to packfrm()
        Added new my_time functions
      include/mysql/plugin.h:
        Added support for DOUBLE
      libmysql/CMakeLists.txt:
        Added new time functions
      libmysql/Makefile.shared:
        Added new time functions
      mysql-test/r/variables.result:
        Testing of long_query_time
      mysql-test/t/variables.test:
        Testing of long_query_time
      mysys/charset.c:
        Fixed compiler warnings
      mysys/default_modify.c:
        Fixed compiler warnings
      mysys/hash.c:
        Fixed compiler warnings
      mysys/mf_getdate.c:
        Use my_time()
      mysys/mf_iocache2.c:
        Fixed compiler warnings
      mysys/mf_pack.c:
        Fixed compiler warnings
      mysys/mf_path.c:
        Fixed compiler warnings
      mysys/my_append.c:
        Fixed compiler warnings
      mysys/my_compress.c:
        Fixed compiler warnings
      mysys/my_copy.c:
        Fixed compiler warnings
      mysys/my_gethwaddr.c:
        Fixed compiler warnings
      mysys/my_getopt.c:
        Added support for double arguments
      mysys/my_getsystime.c:
        Added functions to get time in microseconds.
        Added faster time() functions for system that has gethrtime()  (Solaris)
        Moved windows initialization code to my_init()
      mysys/my_init.c:
        Added initializing of variables needed for windows time functions
      mysys/my_static.c:
        Added variables needed for windows time functions
      mysys/my_static.h:
        Added variables needed for windows time functions
      mysys/my_thr_init.c:
        Added THR_LOCK_time, used for faster my_time()
      mysys/mysys_priv.h:
        Added THR_LOCK_time, used for faster my_time()
      mysys/thr_alarm.c:
        time() -> my_time()
      sql/event_data_objects.cc:
        end_time() -> set_current_time()
      sql/event_queue.cc:
        end_time() -> set_current_time()
      sql/event_scheduler.cc:
        Fixed compiler warnings
      sql/field.h:
        Added field->in_read_set() and field->in_write_set() for easier field manipulation by handlers
      sql/item.h:
        Added decimal to Item_float(double)
      sql/item_cmpfunc.h:
        Added decimal to Item_float(double)
      sql/item_timefunc.cc:
        time() -> my_time()
      sql/item_xmlfunc.cc:
        Fixed compiler warning
      sql/lock.cc:
        lock_time() -> set_time_after_lock()
      sql/log.cc:
        Timing in slow query log to file is now done in microseconds
        Changed some while() loops to for() loops.
        Fixed indentation
        time() -> my_time()
      sql/log.h:
        Slow query logging is now done based on microseconds
      sql/log_event.cc:
        time() -> my_time()
        Fixed arguments to new Item_float()
      sql/mysql_priv.h:
        Fixed compiler warnings
        Added opt_log_slow_slave_statements
      sql/mysqld.cc:
        Added --log_slow_slave_statements and --min_examined_row_limit
        --long-query-time now takes a double argument with microsecond resolution
        Don't write shutdown message when using --help
        Removed not needed \n
        Thread create time and connect time is now done in microseconds
        time() -> my_time()
        Avoid some time() calls
      sql/net_serv.cc:
        Fixed compiler warnings
      sql/parse_file.cc:
        time() -> my_time()
      sql/set_var.cc:
        Added support for DOUBLE variables
        Added support for variables that are given in seconds with microsecond resolution
      sql/set_var.h:
        Added support for variables that are given in seconds with microsecond resolution
      sql/slave.cc:
        Allow logging of slave queries to slow query log if 'opt_log_slow_slave_statements' is given
        time() -> my_time()
      sql/sql_cache.h:
        Fixed compiler warning()
      sql/sql_class.cc:
        Initialize new THD variables
      sql/sql_class.h:
        long_query_time is now in microseconds
        Added min_examined_row_limit
        Reordered some THD elements for higher efficency
        Added timers in microseconds (connect_utime, thr_create_utime, start_utime and utime_after_lock)
        Start of query is now recorded both in seconds and in microseconds.
        Following renames was made for more clarity and avoid merge problems from earlier versions:
        connect_time -> connect_utime
        thr_create_time -> thr_create_utime
        end_time()  -> set_current_time()
        lock_time() -> set_time_after_lock()
        
        Added THD::start_utime, which is start of query in microseconds from some arbitary time
        Added function THD::current_utime()
        
        Removed safe_time() as retry's are handled in my_time()
      sql/sql_connect.cc:
        User resources are now using microsecond resolution
      sql/sql_insert.cc:
        end_time() -> set_current_time()
      sql-common/client.c:
        time() -> my_time()
      sql/sql_parse.cc:
        Testing if we should print to slow_query_log() is now done with microsecond precission.
        If min_examined_row_limit is given, only log queries to slow query log that has examined more rows than this.
      sql/sql_select.cc:
        Simplify code now that Item_float() takes decimals as argument
      sql/sql_show.cc:
        time() -> my_time()
        Added support for SYS_DOUBLE
      sql/sql_table.cc:
        Added debug function for stopping in mysql_admin_table() when tables are locked
      sql/structs.h:
        intime -> reset_utime
      b59217eb
  4. 27 Jul, 2007 1 commit
    • unknown's avatar
      WL#3984 (Revise locking of mysql.general_log and mysql.slow_log) · 4462578a
      unknown authored
      Bug#25422 (Hang with log tables)
      Bug 17876 (Truncating mysql.slow_log in a SP after using cursor locks the
                thread)
      Bug 23044 (Warnings on flush of a log table)
      Bug 29129 (Resetting general_log while the GLOBAL READ LOCK is set causes
                 a deadlock)
      
      Prior to this fix, the server would hang when performing concurrent
      ALTER TABLE or TRUNCATE TABLE statements against the LOG TABLES,
      which are mysql.general_log and mysql.slow_log.
      
      The root cause traces to the following code:
      in sql_base.cc, open_table()
        if (table->in_use != thd)
        {
          /* wait_for_condition will unlock LOCK_open for us */
          wait_for_condition(thd, &LOCK_open, &COND_refresh);
        }
      The problem with this code is that the current implementation of the
      LOGGER creates 'fake' THD objects, like
      - Log_to_csv_event_handler::general_log_thd
      - Log_to_csv_event_handler::slow_log_thd
      which are not associated to a real thread running in the server,
      so that waiting for these non-existing threads to release table locks
      cause the dead lock.
      
      In general, the design of Log_to_csv_event_handler does not fit into the
      general architecture of the server, so that the concept of general_log_thd
      and slow_log_thd has to be abandoned:
      - this implementation does not work with table locking
      - it will not work with commands like SHOW PROCESSLIST
      - having the log tables always opened does not integrate well with DDL
      operations / FLUSH TABLES / SET GLOBAL READ_ONLY
      
      With this patch, the fundamental design of the LOGGER has been changed to:
      - always open and close a log table when writing a log
      - remove totally the usage of fake THD objects
      - clarify how locking of log tables is implemented in general.
      
      See WL#3984 for details related to the new locking design.
      
      Additional changes (misc bugs exposed and fixed):
      
      1)
      
      mysqldump which would ignore some tables in dump_all_tables_in_db(),
       but forget to ignore the same in dump_all_views_in_db().
      
      2)
      
      mysqldump would also issue an empty "LOCK TABLE" command when all the tables
      to lock are to be ignored (numrows == 0), instead of not issuing the query.
      
      3)
      
      Internal errors handlers could intercept errors but not warnings
      (see sql_error.cc).
      
      4)
      
      Implementing a nested call to open tables, for the performance schema tables,
      exposed an existing bug in remove_table_from_cache(), which would perform:
        in_use->some_tables_deleted=1;
      against another thread, without any consideration about thread locking.
      This call inside remove_table_from_cache() was not required anyway,
      since calling mysql_lock_abort() takes care of aborting -- cleanly -- threads
      that might hold a lock on a table.
      This line (in_use->some_tables_deleted=1) has been removed.
      
      
      sql/handler.cc:
        Moved logic for system / log tables in the SQL layer.
      sql/handler.h:
        Moved logic for system / log tables in the SQL layer.
      sql/lock.cc:
        Revised locking of log tables
      sql/log.cc:
        Major cleanup: changed how log tables are locked / written to.
      sql/log.h:
        Major cleanup: changed how log tables are locked / written to.
      sql/mysql_priv.h:
        performance schema helpers
      sql/slave.cc:
        open_ltable() lock flags
      sql/sp.cc:
        open_ltable() lock flags
      sql/sql_acl.cc:
        open_ltable() lock flags
      sql/sql_class.h:
        performance schema helpers
      sql/sql_delete.cc:
        log tables cleanup in TRUNCATE
      sql/sql_error.cc:
        Internal handlers can also intercept warnings
      sql/sql_insert.cc:
        open_ltable() lock flags
      sql/sql_parse.cc:
        performance schema helpers
      sql/sql_plugin.cc:
        open_ltable() lock flags
      sql/sql_rename.cc:
        log tables cleanup in RENAME
      sql/sql_servers.cc:
        open_ltable() lock flags
      sql/sql_show.cc:
        Move INFORMATION_SCHEMA_NAME to table.cc
      sql/sql_table.cc:
        log tables cleanup (admin operations, ALTER TABLE)
      sql/sql_udf.cc:
        open_ltable() lock flags
      sql/table.cc:
        Implemented TABLE_CATEGORY.
      sql/share/errmsg.txt:
        Changed the wording and name of ER_CANT_READ_LOCK_LOG_TABLE
      sql/table.h:
        Implemented TABLE_CATEGORY.
      storage/csv/ha_tina.cc:
        Moved logic for system / log tables in the SQL layer.
      storage/csv/ha_tina.h:
        Moved logic for system / log tables in the SQL layer.
      storage/myisam/ha_myisam.cc:
        Moved logic for system / log tables in the SQL layer.
      storage/myisam/ha_myisam.h:
        Moved logic for system / log tables in the SQL layer.
      client/mysqldump.c:
        Don't lock tables in the ignore list.
        Don't issue empty LOCK TABLES queries.
      sql/sql_base.cc:
        log tables cleanup
        performance schema helpers
      mysql-test/r/ps.result:
        Adjust test results
      mysql-test/r/show_check.result:
        Adjust test results
      mysql-test/r/status.result:
        Adjust test results
      mysql-test/t/log_state.test:
        Added tests for Bug#29129
      mysql-test/t/ps.test:
        Make the test output deterministic
      mysql-test/t/show_check.test:
        Make the test output deterministic
      mysql-test/r/log_state.result:
        Changed the default location of the log output to LOG_FILE,
        for backward compatibility with MySQL 5.0
        ---
        Adjust test results
      mysql-test/r/log_tables.result:
        cleanup for -ps-protocol
      mysql-test/t/log_tables.test:
        cleanup for -ps-protocol
      sql/set_var.cc:
        Changed the default location of the log output to LOG_FILE,
        for backward compatibility with MySQL 5.0
        ---
        log tables cleanup
      4462578a
  5. 11 Jul, 2007 1 commit
    • unknown's avatar
      Fix for bug #24192 "MySQL replication does not exit server when running out of memory" · 8abc8b9d
      unknown authored
      In case of out-of-memory error received from the master, print the corresponding message to the error log and stop slave I/O thread to avoid reconnecting with a wrong binary log position.
      
      
      sql/slave.cc:
        In case of out-of-memory error received from the master, print the corresponding message to the error log and stop slave I/O thread to avoid reconnecting with a wrong binary log position.
      8abc8b9d
  6. 29 Jun, 2007 1 commit
    • unknown's avatar
      Fix for bug #19328: Slave timeout with COM_REGISTER_SLAVE error causing stop · 8aa59891
      unknown authored
      Problem: "Under high load, the slave registering to the master can timeout 
      during the COM_REGISTER_SLAVE execution. This causes an error, which 
      prevents the slave from connecting at all."
      
      Fix: Do not abort immediately, but retry registering on master.
      
      
      sql/slave.cc:
        Fix for bug #19328: Slave timeout with COM_REGISTER_SLAVE error causing stop
          - retry connecting after a failed slave registration on master.
            Reconnecting has been factored out (see try_to_reconnect() and 
            check_io_slave_killed()) to get rid of similar code used during 
            registering on master/dump requesting/event reading.
            All messages have been moved to reconnect_messages[] array 
            for easy usage and maintenance.
          - now one can force slave to reconnect using 
            ./mtr --mysqld=--loose-debug=d,FORCE_SLAVE_TO_RECONNECT_{REG, DUMP, EVENT}
      8aa59891
  7. 11 Jun, 2007 1 commit
    • unknown's avatar
      BUG#24954 (Last_errno and Last_error not set after master_retry_count has · abbf5941
      unknown authored
      been reached):
      
      Post-merge patch to handle all the changes to the tree since the tree
      was cloned.
      
      
      mysql-test/extra/rpl_tests/rpl_log.test:
        Replacing SHOW SLAVE STATUS with include file.
      mysql-test/extra/rpl_tests/rpl_max_relay_size.test:
        Replacing SHOW SLAVE STATUS with include file.
      mysql-test/extra/rpl_tests/rpl_reset_slave.test:
        Replacing SHOW SLAVE STATUS with include file.
      mysql-test/include/show_slave_status.inc:
        Column change.
      mysql-test/r/rpl_000015.result:
        Result file change.
      mysql-test/r/rpl_change_master.result:
        Result file change.
      mysql-test/r/rpl_empty_master_crash.result:
        Result file change.
      mysql-test/r/rpl_extraCol_innodb.result:
        Result file change.
      mysql-test/r/rpl_extraCol_myisam.result:
        Result file change.
      mysql-test/r/rpl_flushlog_loop.result:
        Result file change.
      mysql-test/r/rpl_incident.result:
        Result file change.
      mysql-test/r/rpl_known_bugs_detection.result:
        Result file change.
      mysql-test/r/rpl_loaddata.result:
        Result file change.
      mysql-test/r/rpl_loaddata_fatal.result:
        Result file change.
      mysql-test/r/rpl_log_pos.result:
        Result file change.
      mysql-test/r/rpl_ndb_basic.result:
        Result file change.
      mysql-test/r/rpl_ndb_circular.result:
        Result file change.
      mysql-test/r/rpl_ndb_extraCol.result:
        Result file change.
      mysql-test/r/rpl_ndb_idempotent.result:
        Result file change.
      mysql-test/r/rpl_ndb_log.result:
        Result file change.
      mysql-test/r/rpl_ndb_sync.result:
        Result file change.
      mysql-test/r/rpl_rbr_to_sbr.result:
        Result file change.
      mysql-test/r/rpl_redirect.result:
        Result file change.
      mysql-test/r/rpl_replicate_do.result:
        Result file change.
      mysql-test/r/rpl_rotate_logs.result:
        Result file change.
      mysql-test/r/rpl_row_inexist_tbl.result:
        Result file change.
      mysql-test/r/rpl_row_log.result:
        Result file change.
      mysql-test/r/rpl_row_log_innodb.result:
        Result file change.
      mysql-test/r/rpl_row_max_relay_size.result:
        Result file change.
      mysql-test/r/rpl_row_reset_slave.result:
        Result file change.
      mysql-test/r/rpl_row_tabledefs_2myisam.result:
        Result file change.
      mysql-test/r/rpl_row_tabledefs_3innodb.result:
        Result file change.
      mysql-test/r/rpl_row_until.result:
        Result file change.
      mysql-test/r/rpl_server_id1.result:
        Result file change.
      mysql-test/r/rpl_server_id2.result:
        Result file change.
      mysql-test/r/rpl_slave_skip.result:
        Result file change.
      mysql-test/r/rpl_ssl.result:
        Result file change.
      mysql-test/r/rpl_ssl1.result:
        Result file change.
      mysql-test/r/rpl_stm_log.result:
        Result file change.
      mysql-test/r/rpl_stm_max_relay_size.result:
        Result file change.
      mysql-test/r/rpl_stm_reset_slave.result:
        Result file change.
      mysql-test/r/rpl_stm_until.result:
        Result file change.
      mysql-test/t/rpl_000015.test:
        Replacing SHOW SLAVE STATUS with include file.
      mysql-test/t/rpl_change_master.test:
        Column position change.
        Making result of SHOW SLAVE STATUS vertical.
      mysql-test/t/rpl_empty_master_crash.test:
        Replacing SHOW SLAVE STATUS with include file.
      mysql-test/t/rpl_log_pos.test:
        Replacing SHOW SLAVE STATUS with include file.
      mysql-test/t/rpl_ndb_basic.test:
        Column position change.
      mysql-test/t/rpl_ndb_idempotent.test:
        Column position change.
      mysql-test/t/rpl_ndb_sync.test:
        Column position change.
        Making result of SHOW SLAVE STATUS vertical.
      mysql-test/t/rpl_redirect.test:
        Replacing SHOW SLAVE STATUS with include file.
      mysql-test/t/rpl_replicate_do.test:
        Column position change.
        Making result of SHOW SLAVE STATUS vertical.
      mysql-test/t/rpl_rotate_logs.test:
        Replacing SHOW SLAVE STATUS with include file.
      mysql-test/t/rpl_row_inexist_tbl.test:
        Replacing SHOW SLAVE STATUS with include file.
      mysql-test/t/rpl_row_until.test:
        Replacing SHOW SLAVE STATUS with include file.
      mysql-test/t/rpl_server_id1.test:
        Column position change.
        Making result of SHOW SLAVE STATUS vertical.
      mysql-test/t/rpl_server_id2.test:
        Column position change.
        Making result of SHOW SLAVE STATUS vertical.
      mysql-test/t/rpl_slave_status.test:
        Column position change.
      mysql-test/t/rpl_ssl.test:
        Column position change.
      mysql-test/t/rpl_ssl1.test:
        Column position change.
      mysql-test/t/rpl_stm_until.test:
        Replacing SHOW SLAVE STATUS with include file.
      sql/log_event.cc:
        Using member function last_error() instead of member variable.
        Replacing use of 'table' with 'm_table'.
        Suppressing warnings in debug printout.
        Setting thd->net.last_error on error return from unpack_row() to get
        a non-zero error message.  The error codes for are being harmonized
        in another worklog.
        Replacing use of slave_print_msg() with RELAY_LOG_INFO::report().
      sql/rpl_mi.h:
        Moving order of include files since they are dependent (!).
      sql/rpl_record.cc:
        Adding missing include file.
        Replacing use of slave_print_msg() with RELAY_LOG_INFO::report().
      sql/rpl_record_old.cc:
        Adding missing include file.
        Replacing use of slave_print_msg() with RELAY_LOG_INFO::report().
      sql/rpl_reporting.cc:
        Adding const modifier to member function.
        Using renamed member variable m_last_error.
      sql/rpl_reporting.h:
        Adding missing constant MAX_SLAVE_ERRMSG.
        Adding const modifier to Slave_reporting_capability::report().
        Hiding and renaming member variable last_error and incorporating
        member function for access in order to make it mutable.
      sql/rpl_rli.h:
        Moving constant MAX_SLAVE_ERRMSG.
      sql/rpl_utility.cc:
        Adding missing include file rpl_rli.h.
      sql/slave.cc:
        Replacing use of member variable last_error with call to member function
        last_error().
        Replacing use of slave_print_msg() with RELAY_LOG_INFO::report().
      abbf5941
  8. 09 Jun, 2007 1 commit
    • unknown's avatar
      BUG#24954 (Last_errno and Last_error not set after master_retry_count was reached): · 79a609aa
      unknown authored
      Adding new fields Last_{IO,SQL}_Errno and Last_{IO,SQL}_Error to output
      of SHOW SLAVE STATUS to hold errors from I/O and SQL thread respectively.
      Old fields Last_Error and Last_Errno are aliases for Last_SQL_Error and
      Last_SQL_Errno respectively.
      
      Fields are added last to output of SHOW SLAVE STATUS to allow old applications
      to use the same positional arguments into the row, while allowing new
      application to benefit from the added information.
      
      In addition, some new error codes are added (especially for the I/O
      thread) to be able to provide sensible error message.
      
      
      mysql-test/extra/rpl_tests/rpl_max_relay_size.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/r/binlog_row_mix_innodb_myisam.result:
        Result change
      mysql-test/r/rpl_000015.result:
        Result change
      mysql-test/r/rpl_change_master.result:
        Result change
      mysql-test/r/rpl_deadlock_innodb.result:
        Result change
      mysql-test/r/rpl_empty_master_crash.result:
        Result change
      mysql-test/r/rpl_extraCol_innodb.result:
        Result change
        ---
        Result change.
      mysql-test/r/rpl_extraCol_myisam.result:
        Result change
        ---
        Result change.
      mysql-test/r/rpl_flushlog_loop.result:
        Result change
      mysql-test/r/rpl_loaddata.result:
        Result change
      mysql-test/r/rpl_log_pos.result:
        Result change
      mysql-test/r/rpl_ndb_basic.result:
        Result change
      mysql-test/r/rpl_ndb_extraCol.result:
        Result change
        ---
        Result change.
      mysql-test/r/rpl_ndb_idempotent.result:
        Result change
      mysql-test/r/rpl_ndb_log.result:
        Result change
      mysql-test/r/rpl_openssl.result:
        Result change
      mysql-test/r/rpl_rbr_to_sbr.result:
        Result change
      mysql-test/r/rpl_redirect.result:
        Result change
      mysql-test/r/rpl_replicate_do.result:
        Result change
      mysql-test/r/rpl_rotate_logs.result:
        Result change
      mysql-test/r/rpl_row_inexist_tbl.result:
        Result change
      mysql-test/r/rpl_row_log.result:
        Result change
      mysql-test/r/rpl_row_log_innodb.result:
        Result change
      mysql-test/r/rpl_row_max_relay_size.result:
        Result change
      mysql-test/r/rpl_row_reset_slave.result:
        Result change
      mysql-test/r/rpl_row_tabledefs_2myisam.result:
        Result change
        ---
        Result change.
      mysql-test/r/rpl_row_tabledefs_3innodb.result:
        Result change
        ---
        Result change.
      mysql-test/r/rpl_row_until.result:
        Result change
      mysql-test/r/rpl_server_id1.result:
        Result change
      mysql-test/r/rpl_server_id2.result:
        Result change
      mysql-test/r/rpl_slave_status.result:
        Result change
      mysql-test/r/rpl_stm_log.result:
        Result change
      mysql-test/r/rpl_stm_max_relay_size.result:
        Result change
        ---
        Result change.
      mysql-test/r/rpl_stm_reset_slave.result:
        Result change
      mysql-test/r/rpl_stm_until.result:
        Result change
      mysql-test/t/binlog_row_mix_innodb_myisam.test:
        Test fixed.
      mysql-test/t/rpl_000015.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_change_master.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_empty_master_crash.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_flushlog_loop.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_log_pos.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_ndb_bank.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_ndb_basic.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_ndb_idempotent.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_ndb_sync.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_openssl.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_rbr_to_sbr.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_redirect.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_replicate_do.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_rotate_logs.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_row_inexist_tbl.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_row_until.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_server_id1.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_server_id2.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_slave_status.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_stm_until.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      sql/Makefile.am:
        Adding new files
      sql/log_event.cc:
        Changes to use Slave_reporting_capability for reporting errors.
        
        Adding debug variable to stop slave with an out-of-memory error or with
        a fatal error. The checks are put both in the new Execute_load_query_
        log_event and in the old Load_log_event which is used for Execute_load_
        log_event.
        
        Adding code to generate fatal error message.
        
        Eliminating redundant arguments when printing ER_NO_DEFAULT_FOR_FIELD
        message.
      sql/rpl_mi.cc:
        Using Slave_reporting_capability for error reporting.
      sql/rpl_mi.h:
        Using Slave_reporting_capability to handle I/O thread errors and other messages.
      sql/rpl_rli.cc:
        Using Slave_reporting_capability to handle SQL thread errors and other messages.
      sql/rpl_rli.h:
        Changes to use Slave_reporting_capability for reporting SQL thread error and other messages.
      sql/rpl_utility.cc:
        Changes to use Slave_reporting_capability for reporting errors.
      sql/slave.cc:
        Changes to use Slave_reporting_capability for reporting errors.
      sql/slave.h:
        Removing slave_print_msg()
      sql/share/errmsg.txt:
        New error messages.
        
        Making message for ER_NO_DEFAULT_FOR_FIELD consistent over languages
        (actually restoring old message).
        
        Adding argument to ER_SLAVE_FATAL_ERROR message.
      sql/sql_repl.cc:
        Using new names for thread masks.
      mysql-test/t/rpl_loaddata_fatal-slave.opt:
        New BitKeeper file ``mysql-test/t/rpl_loaddata_fatal-slave.opt''
      sql/rpl_reporting.cc:
        New BitKeeper file ``sql/rpl_reporting.cc''
      sql/rpl_reporting.h:
        New BitKeeper file ``sql/rpl_reporting.h''
      mysql-test/include/show_slave_status.inc:
        New BitKeeper file ``mysql-test/include/show_slave_status.inc''
      mysql-test/r/rpl_loaddata_fatal.result:
        New BitKeeper file ``mysql-test/r/rpl_loaddata_fatal.result''
      mysql-test/t/rpl_loaddata_fatal.test:
        New BitKeeper file ``mysql-test/t/rpl_loaddata_fatal.test''
      79a609aa
  9. 31 May, 2007 2 commits
    • unknown's avatar
      Added casts to avoid compiler warnings and fixed a wrong type. · c6ff8a65
      unknown authored
      ```yaml
      Added casts and fixed wrong type.
      ```
      
      Added casts and fixed wrong type.
      ---
      Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.1-marvel
      into  a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.1-marvel
      ---
      Don't give warning that readonly variable is forced to be readonly
      mysql-test-run run now fails if we have [Warning] and [ERROR] as tags in .err file
      Fixed wrong reference to the mysql manual
      Fixed wrong prototype that caused some tests to fail on 64 bit platforms
      ---
      Disabled compiler warnings mainly for Win 64.
      ---
      Added casts to remove compiler warnings on windows
      Give warnings also for safe_mutex errors found by test system
      Added some warnings from different machines in pushbuild
      ---
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1-marvel
      into  mysql.com:/home/my/mysql-5.1
      ---
      Added escapes for double quotes and parenthesis.
      ---
      Archive db fix plus added non-critical warnings
      in ignore list.
      ---
      Fixed previously added patch and added new ignored warning.
      
      
      client/mysqltest.c:
        Added casts to avoid compiler warnings.
        ---
        Added casts to avoid compiler warnings.
      mysql-test/lib/mtr_report.pl:
        Test run now fails if we have [Warning] and [ERROR] as tags in .err file
        Added list of all common 'not fatal' errors to ignore error list
        ---
        Give warnings also for safe_mutex errors
        Added some warnings from different machines in pushbuild
        ---
        Added escapes for double quotes and parenthesis.
        ---
        Added non-critical warnings to be ignored.
        ---
        Fixed a wrong regexp
        Added new non-critical warning
      mysql-test/mysql-test-run-shell.sh:
        Fixed some wrong startup options
      mysql-test/r/func_misc.result:
        Test case for archive db fix.
      mysql-test/t/disabled.def:
        Disable instance manager tests because they generate warnings (and probably don't read the option files correctly)
      mysql-test/t/func_misc.test:
        Test case for archive db fix.
      mysys/array.c:
        Added casts to avoid compiler warnings.
      mysys/hash.c:
        Added casts to avoid compiler warnings.
      mysys/my_compress.c:
        Added casts to remove compiler warnings on windows
      mysys/my_conio.c:
        To avoid a warning from compiler.
      mysys/my_pread.c:
        Archive db fix.
      mysys/my_quick.c:
        Added cast to avoid compiler warning.
        ---
        Added cast to avoid compiler warning.
      sql/ha_ndbcluster_binlog.cc:
        Ensure we log all binglog errors with the "NDB Binlog" tag
      sql/ha_partition.cc:
        result is type bool, so calculation should be forced to
        that also.
      sql/log.cc:
        Fixed compiler problem on Solaris.
      sql/slave.cc:
        Make errors uniform
      sql/sql_class.cc:
        Added cast to remove compiler warnings on windows
      sql/sql_map.cc:
        Added casts to avoid compiler warnings.
        ---
        Added casts to avoid compiler warnings.
      sql/sql_plugin.cc:
        Fixed wrong type.
        ---
        Don't give warning that readonly variable is forced to be readonly
      sql/stacktrace.c:
        Corrected manual reference
      storage/archive/azio.c:
        Archive db fix.
        ---
        Fixed previously added patch.
      storage/blackhole/ha_blackhole.cc:
        Fixed wrong prototype that caused test to fail on 64 bit platforms
      storage/example/ha_example.cc:
        Fixed wrong prototype that caused test to fail on 64 bit platforms
      strings/ctype-ucs2.c:
        Fixed wrong type.
        ---
        Fixed wrong type.
      support-files/compiler_warnings.supp:
        Added new disabled warnings for Win 64.
      c6ff8a65
    • unknown's avatar
      BUG#21123 (Slave fails to reconnect on update_slave_list): · 48b32bdd
      unknown authored
       Fixing comments and adding error message if slave fails to register
       on master.
      
      
      sql/slave.cc:
        Failing to register on master is a fatal error.
      48b32bdd
  10. 29 May, 2007 1 commit
    • unknown's avatar
      Don't give warning that readonly variable is forced to be readonly · 441b1137
      unknown authored
      mysql-test-run run now fails if we have [Warning] and [ERROR] as tags in .err file
      Fixed wrong reference to the mysql manual
      Fixed wrong prototype that caused some tests to fail on 64 bit platforms
      
      
      mysql-test/lib/mtr_report.pl:
        Test run now fails if we have [Warning] and [ERROR] as tags in .err file
        Added list of all common 'not fatal' errors to ignore error list
      mysql-test/mysql-test-run-shell.sh:
        Fixed some wrong startup options
      mysql-test/t/disabled.def:
        Disable instance manager tests because they generate warnings (and probably don't read the option files correctly)
      sql/ha_ndbcluster_binlog.cc:
        Ensure we log all binglog errors with the "NDB Binlog" tag
      sql/slave.cc:
        Make errors uniform
      sql/sql_plugin.cc:
        Don't give warning that readonly variable is forced to be readonly
      sql/stacktrace.c:
        Corrected manual reference
      storage/blackhole/ha_blackhole.cc:
        Fixed wrong prototype that caused test to fail on 64 bit platforms
      storage/example/ha_example.cc:
        Fixed wrong prototype that caused test to fail on 64 bit platforms
      441b1137
  11. 28 May, 2007 1 commit
    • unknown's avatar
      BUG#21132 (Slave fails to reconnect on update_slave_list) · 61c0e4c0
      unknown authored
      This is a one liner which will fix semantics if SHOW SLAVE HOSTS to 
      display the list of slaves currently registered on the host on which
      it was issued.
      
      
      sql/slave.cc:
        Remove call to update_slave_list() which was executing "SHOW SLAVE
        HOSTS" on master and populating slave_list based on the output.
      61c0e4c0
  12. 10 May, 2007 1 commit
    • unknown's avatar
      WL#3817: Simplify string / memory area types and make things more consistent (first part) · f252f924
      unknown authored
      The following type conversions was done:
      
      - Changed byte to uchar
      - Changed gptr to uchar*
      - Change my_string to char *
      - Change my_size_t to size_t
      - Change size_s to size_t
      
      Removed declaration of byte, gptr, my_string, my_size_t and size_s. 
      
      Following function parameter changes was done:
      - All string functions in mysys/strings was changed to use size_t
        instead of uint for string lengths.
      - All read()/write() functions changed to use size_t (including vio).
      - All protocoll functions changed to use size_t instead of uint
      - Functions that used a pointer to a string length was changed to use size_t*
      - Changed malloc(), free() and related functions from using gptr to use void *
        as this requires fewer casts in the code and is more in line with how the
        standard functions work.
      - Added extra length argument to dirname_part() to return the length of the
        created string.
      - Changed (at least) following functions to take uchar* as argument:
        - db_dump()
        - my_net_write()
        - net_write_command()
        - net_store_data()
        - DBUG_DUMP()
        - decimal2bin() & bin2decimal()
      - Changed my_compress() and my_uncompress() to use size_t. Changed one
        argument to my_uncompress() from a pointer to a value as we only return
        one value (makes function easier to use).
      - Changed type of 'pack_data' argument to packfrm() to avoid casts.
      - Changed in readfrm() and writefrom(), ha_discover and handler::discover()
        the type for argument 'frmdata' to uchar** to avoid casts.
      - Changed most Field functions to use uchar* instead of char* (reduced a lot of
        casts).
      - Changed field->val_xxx(xxx, new_ptr) to take const pointers.
      
      Other changes:
      - Removed a lot of not needed casts
      - Added a few new cast required by other changes
      - Added some cast to my_multi_malloc() arguments for safety (as string lengths
        needs to be uint, not size_t).
      - Fixed all calls to hash-get-key functions to use size_t*. (Needed to be done
        explicitely as this conflict was often hided by casting the function to
        hash_get_key).
      - Changed some buffers to memory regions to uchar* to avoid casts.
      - Changed some string lengths from uint to size_t.
      - Changed field->ptr to be uchar* instead of char*. This allowed us to
        get rid of a lot of casts.
      - Some changes from true -> TRUE, false -> FALSE, unsigned char -> uchar
      - Include zlib.h in some files as we needed declaration of crc32()
      - Changed MY_FILE_ERROR to be (size_t) -1.
      - Changed many variables to hold the result of my_read() / my_write() to be
        size_t. This was needed to properly detect errors (which are
        returned as (size_t) -1).
      - Removed some very old VMS code
      - Changed packfrm()/unpackfrm() to not be depending on uint size
        (portability fix)
      - Removed windows specific code to restore cursor position as this
        causes slowdown on windows and we should not mix read() and pread()
        calls anyway as this is not thread safe. Updated function comment to
        reflect this. Changed function that depended on original behavior of
        my_pwrite() to itself restore the cursor position (one such case).
      - Added some missing checking of return value of malloc().
      - Changed definition of MOD_PAD_CHAR_TO_FULL_LENGTH to avoid 'long' overflow.
      - Changed type of table_def::m_size from my_size_t to ulong to reflect that
        m_size is the number of elements in the array, not a string/memory
        length.
      - Moved THD::max_row_length() to table.cc (as it's not depending on THD).
        Inlined max_row_length_blob() into this function.
      - More function comments
      - Fixed some compiler warnings when compiled without partitions.
      - Removed setting of LEX_STRING() arguments in declaration (portability fix).
      - Some trivial indentation/variable name changes.
      - Some trivial code simplifications:
        - Replaced some calls to alloc_root + memcpy to use
          strmake_root()/strdup_root().
        - Changed some calls from memdup() to strmake() (Safety fix)
        - Simpler loops in client-simple.c
      
      
      BitKeeper/etc/ignore:
        added libmysqld/ha_ndbcluster_cond.cc
        ---
        added debian/defs.mk debian/control
      client/completion_hash.cc:
        Remove not needed casts
      client/my_readline.h:
        Remove some old types
      client/mysql.cc:
        Simplify types
      client/mysql_upgrade.c:
        Remove some old types
        Update call to dirname_part
      client/mysqladmin.cc:
        Remove some old types
      client/mysqlbinlog.cc:
        Remove some old types
        Change some buffers to be uchar to avoid casts
      client/mysqlcheck.c:
        Remove some old types
      client/mysqldump.c:
        Remove some old types
        Remove some not needed casts
        Change some string lengths to size_t
      client/mysqlimport.c:
        Remove some old types
      client/mysqlshow.c:
        Remove some old types
      client/mysqlslap.c:
        Remove some old types
        Remove some not needed casts
      client/mysqltest.c:
        Removed some old types
        Removed some not needed casts
        Updated hash-get-key function arguments
        Updated parameters to dirname_part()
      client/readline.cc:
        Removed some old types
        Removed some not needed casts
        Changed some string lengths to use size_t
      client/sql_string.cc:
        Removed some old types
      dbug/dbug.c:
        Removed some old types
        Changed some string lengths to use size_t
        Changed some prototypes to avoid casts
      extra/comp_err.c:
        Removed some old types
      extra/innochecksum.c:
        Removed some old types
      extra/my_print_defaults.c:
        Removed some old types
      extra/mysql_waitpid.c:
        Removed some old types
      extra/perror.c:
        Removed some old types
      extra/replace.c:
        Removed some old types
        Updated parameters to dirname_part()
      extra/resolve_stack_dump.c:
        Removed some old types
      extra/resolveip.c:
        Removed some old types
      include/config-win.h:
        Removed some old types
      include/decimal.h:
        Changed binary strings to be uchar* instead of char*
      include/ft_global.h:
        Removed some old types
      include/hash.h:
        Removed some old types
      include/heap.h:
        Removed some old types
        Changed records_under_level to be 'ulong' instead of 'uint' to clarify usage of variable
      include/keycache.h:
        Removed some old types
      include/m_ctype.h:
        Removed some old types
        Changed some string lengths to use size_t
        Changed character length functions to return uint
        unsigned char -> uchar
      include/m_string.h:
        Removed some old types
        Changed some string lengths to use size_t
      include/my_alloc.h:
        Changed some string lengths to use size_t
      include/my_base.h:
        Removed some old types
      include/my_dbug.h:
        Removed some old types
        Changed some string lengths to use size_t
        Changed db_dump() to take uchar * as argument for memory to reduce number of casts in usage
      include/my_getopt.h:
        Removed some old types
      include/my_global.h:
        Removed old types:
        my_size_t -> size_t
        byte -> uchar
        gptr -> uchar *
      include/my_list.h:
        Removed some old types
      include/my_nosys.h:
        Removed some old types
      include/my_pthread.h:
        Removed some old types
      include/my_sys.h:
        Removed some old types
        Changed MY_FILE_ERROR to be in line with new definitions of my_write()/my_read()
        Changed some string lengths to use size_t
        my_malloc() / my_free() now uses void *
        Updated parameters to dirname_part() & my_uncompress()
      include/my_tree.h:
        Removed some old types
      include/my_trie.h:
        Removed some old types
      include/my_user.h:
        Changed some string lengths to use size_t
      include/my_vle.h:
        Removed some old types
      include/my_xml.h:
        Removed some old types
        Changed some string lengths to use size_t
      include/myisam.h:
        Removed some old types
      include/myisammrg.h:
        Removed some old types
      include/mysql.h:
        Removed some old types
        Changed byte streams to use uchar* instead of char*
      include/mysql_com.h:
        Removed some old types
        Changed some string lengths to use size_t
        Changed some buffers to be uchar* to avoid casts
      include/queues.h:
        Removed some old types
      include/sql_common.h:
        Removed some old types
      include/sslopt-longopts.h:
        Removed some old types
      include/violite.h:
        Removed some old types
        Changed some string lengths to use size_t
      libmysql/client_settings.h:
        Removed some old types
      libmysql/libmysql.c:
        Removed some old types
      libmysql/manager.c:
        Removed some old types
      libmysqld/emb_qcache.cc:
        Removed some old types
      libmysqld/emb_qcache.h:
        Removed some old types
      libmysqld/lib_sql.cc:
        Removed some old types
        Removed some not needed casts
        Changed some buffers to be uchar* to avoid casts
        true -> TRUE, false -> FALSE
      mysys/array.c:
        Removed some old types
      mysys/charset.c:
        Changed some string lengths to use size_t
      mysys/checksum.c:
        Include zlib to get definition for crc32
        Removed some old types
      mysys/default.c:
        Removed some old types
        Changed some string lengths to use size_t
      mysys/default_modify.c:
        Changed some string lengths to use size_t
        Removed some not needed casts
      mysys/hash.c:
        Removed some old types
        Changed some string lengths to use size_t
        Note: Prototype of hash_key() has changed which may cause problems if client uses hash_init() with a cast for the hash-get-key function.
        hash_element now takes 'ulong' as the index type (cleanup)
      mysys/list.c:
        Removed some old types
      mysys/mf_cache.c:
        Changed some string lengths to use size_t
      mysys/mf_dirname.c:
        Removed some old types
        Changed some string lengths to use size_t
        Added argument to dirname_part() to avoid calculation of length for 'to'
      mysys/mf_fn_ext.c:
        Removed some old types
        Updated parameters to dirname_part()
      mysys/mf_format.c:
        Removed some old types
        Changed some string lengths to use size_t
      mysys/mf_getdate.c:
        Removed some old types
      mysys/mf_iocache.c:
        Removed some old types
        Changed some string lengths to use size_t
        Changed calculation of 'max_length' to be done the same way in all functions
      mysys/mf_iocache2.c:
        Removed some old types
        Changed some string lengths to use size_t
        Clean up comments
        Removed not needed indentation
      mysys/mf_keycache.c:
        Removed some old types
      mysys/mf_keycaches.c:
        Removed some old types
      mysys/mf_loadpath.c:
        Removed some old types
      mysys/mf_pack.c:
        Removed some old types
        Changed some string lengths to use size_t
        Removed some not needed casts
        Removed very old VMS code
        Updated parameters to dirname_part()
        Use result of dirnam_part() to remove call to strcat()
      mysys/mf_path.c:
        Removed some old types
      mysys/mf_radix.c:
        Removed some old types
      mysys/mf_same.c:
        Removed some old types
      mysys/mf_sort.c:
        Removed some old types
      mysys/mf_soundex.c:
        Removed some old types
      mysys/mf_strip.c:
        Removed some old types
      mysys/mf_tempdir.c:
        Removed some old types
      mysys/mf_unixpath.c:
        Removed some old types
      mysys/mf_wfile.c:
        Removed some old types
      mysys/mulalloc.c:
        Removed some old types
      mysys/my_alloc.c:
        Removed some old types
        Changed some string lengths to use size_t
        Use void* as type for allocated memory area
        Removed some not needed casts
        Changed argument 'Size' to 'length' according coding guidelines
      mysys/my_chsize.c:
        Changed some buffers to be uchar* to avoid casts
      mysys/my_compress.c:
        More comments
        Removed some old types
        Changed string lengths to use size_t
        Changed arguments to my_uncompress() to make them easier to understand
        Changed packfrm()/unpackfrm() to not be depending on uint size (portability fix)
        Changed type of 'pack_data' argument to packfrm() to avoid casts.
      mysys/my_conio.c:
        Changed some string lengths to use size_t
      mysys/my_create.c:
        Removed some old types
      mysys/my_div.c:
        Removed some old types
      mysys/my_error.c:
        Removed some old types
      mysys/my_fopen.c:
        Removed some old types
      mysys/my_fstream.c:
        Removed some old types
        Changed some string lengths to use size_t
        writen -> written
      mysys/my_getopt.c:
        Removed some old types
      mysys/my_getwd.c:
        Removed some old types
        More comments
      mysys/my_init.c:
        Removed some old types
      mysys/my_largepage.c:
        Removed some old types
        Changed some string lengths to use size_t
      mysys/my_lib.c:
        Removed some old types
      mysys/my_lockmem.c:
        Removed some old types
      mysys/my_malloc.c:
        Removed some old types
        Changed malloc(), free() and related functions to use void *
        Changed all functions to use size_t
      mysys/my_memmem.c:
        Indentation cleanup
      mysys/my_once.c:
        Removed some old types
        Changed malloc(), free() and related functions to use void *
      mysys/my_open.c:
        Removed some old types
      mysys/my_pread.c:
        Removed some old types
        Changed all functions to use size_t
        Added comment for how my_pread() / my_pwrite() are supposed to work.
        Removed windows specific code to restore cursor position as this causes slowdown on windows and we should not mix read() and pread() calls anyway as this is not thread safe.
        (If we ever would really need this, it should be enabled only with a flag argument)
      mysys/my_quick.c:
        Removed some old types
        Changed all functions to use size_t
      mysys/my_read.c:
        Removed some old types
        Changed all functions to use size_t
      mysys/my_realloc.c:
        Removed some old types
        Use void* as type for allocated memory area
        Changed all functions to use size_t
      mysys/my_static.c:
        Removed some old types
      mysys/my_static.h:
        Removed some old types
      mysys/my_vle.c:
        Removed some old types
      mysys/my_wincond.c:
        Removed some old types
      mysys/my_windac.c:
        Removed some old types
      mysys/my_write.c:
        Removed some old types
        Changed all functions to use size_t
      mysys/ptr_cmp.c:
        Removed some old types
        Changed all functions to use size_t
      mysys/queues.c:
        Removed some old types
      mysys/safemalloc.c:
        Removed some old types
        Changed malloc(), free() and related functions to use void *
        Changed all functions to use size_t
      mysys/string.c:
        Removed some old types
        Changed all functions to use size_t
      mysys/testhash.c:
        Removed some old types
      mysys/thr_alarm.c:
        Removed some old types
      mysys/thr_lock.c:
        Removed some old types
      mysys/tree.c:
        Removed some old types
      mysys/trie.c:
        Removed some old types
      mysys/typelib.c:
        Removed some old types
      plugin/daemon_example/daemon_example.cc:
        Removed some old types
      regex/reginit.c:
        Removed some old types
      server-tools/instance-manager/buffer.cc:
        Changed some string lengths to use size_t
        Changed buffer to be of type uchar*
      server-tools/instance-manager/buffer.h:
        Changed some string lengths to use size_t
        Changed buffer to be of type uchar*
      server-tools/instance-manager/commands.cc:
        Removed some old types
        Changed some string lengths to use size_t
        Changed buffer to be of type uchar*
      server-tools/instance-manager/instance_map.cc:
        Removed some old types
        Changed some string lengths to use size_t
        Changed buffer to be of type uchar*
      server-tools/instance-manager/instance_options.cc:
        Changed buffer to be of type uchar*
        Replaced alloc_root + strcpy() with strdup_root()
      server-tools/instance-manager/mysql_connection.cc:
        Changed buffer to be of type uchar*
      server-tools/instance-manager/options.cc:
        Removed some old types
      server-tools/instance-manager/parse.cc:
        Changed some string lengths to use size_t
      server-tools/instance-manager/parse.h:
        Removed some old types
        Changed some string lengths to use size_t
      server-tools/instance-manager/protocol.cc:
        Changed some buffers to be uchar* to avoid casts
        Changed some string lengths to use size_t
      server-tools/instance-manager/protocol.h:
        Changed some string lengths to use size_t
      server-tools/instance-manager/user_map.cc:
        Removed some old types
        Changed some string lengths to use size_t
      sql/derror.cc:
        Removed some old types
        Changed some buffers to be uchar* to avoid casts
        Changed some string lengths to use size_t
      sql/discover.cc:
        Changed in readfrm() and writefrom() the type for argument 'frmdata' to uchar** to avoid casts
        Changed some string lengths to use size_t
        Changed some buffers to be uchar* to avoid casts
      sql/event_data_objects.cc:
        Removed some old types
        Added missing casts for alloc() and sprintf()
      sql/event_db_repository.cc:
        Changed some buffers to be uchar* to avoid casts
        Added missing casts for sprintf()
      sql/event_queue.cc:
        Removed some old types
      sql/field.cc:
        Removed some old types
        Changed memory buffers to be uchar*
        Changed some string lengths to use size_t
        Removed a lot of casts
        Safety fix in Field_blob::val_decimal() to not access zero pointer
      sql/field.h:
        Removed some old types
        Changed memory buffers to be uchar* (except of store() as this would have caused too many other changes). 
        Changed some string lengths to use size_t
        Removed some not needed casts
        Changed val_xxx(xxx, new_ptr) to take const pointers
      sql/field_conv.cc:
        Removed some old types
        Added casts required because memory area pointers are now uchar*
      sql/filesort.cc:
        Initalize variable that was used unitialized in error conditions
      sql/gen_lex_hash.cc:
        Removed some old types
        Changed memory buffers to be uchar*
        Changed some string lengths to use size_t
        Removed a lot of casts
        Safety fix in Field_blob::val_decimal() to not access zero pointer
      sql/gstream.h:
        Added required cast
      sql/ha_ndbcluster.cc:
        Removed some old types
        Updated hash-get-key function arguments
        Changed some buffers to be uchar* to avoid casts
        Added required casts
        Removed some not needed casts
      sql/ha_ndbcluster.h:
        Removed some old types
      sql/ha_ndbcluster_binlog.cc:
        Removed some old types
        Changed some buffers to be uchar* to avoid casts
        Replaced sql_alloc() + memcpy() + set end 0 with sql_strmake()
        Changed some string lengths to use size_t
        Added missing casts for alloc() and sprintf()
      sql/ha_ndbcluster_binlog.h:
        Removed some old types
      sql/ha_ndbcluster_cond.cc:
        Removed some old types
        Removed some not needed casts
      sql/ha_ndbcluster_cond.h:
        Removed some old types
      sql/ha_partition.cc:
        Removed some old types
        Changed prototype for change_partition() to avoid casts
      sql/ha_partition.h:
        Removed some old types
      sql/handler.cc:
        Removed some old types
        Changed some string lengths to use size_t
      sql/handler.h:
        Removed some old types
        Changed some string lengths to use size_t
        Changed type for 'frmblob' parameter for discover() and ha_discover() to get fewer casts
      sql/hash_filo.h:
        Removed some old types
        Changed all functions to use size_t
      sql/hostname.cc:
        Removed some old types
      sql/item.cc:
        Removed some old types
        Changed some string lengths to use size_t
        Use strmake() instead of memdup() to create a null terminated string.
        Updated calls to new Field()
      sql/item.h:
        Removed some old types
        Changed malloc(), free() and related functions to use void *
        Changed some buffers to be uchar* to avoid casts
      sql/item_cmpfunc.cc:
        Removed some old types
        Changed some buffers to be uchar* to avoid casts
      sql/item_cmpfunc.h:
        Removed some old types
      sql/item_create.cc:
        Removed some old types
      sql/item_func.cc:
        Removed some old types
        Changed some buffers to be uchar* to avoid casts
        Removed some not needed casts
        Added test for failing alloc() in init_result_field()
        Remove old confusing comment
        Fixed compiler warning
      sql/item_func.h:
        Removed some old types
      sql/item_row.cc:
        Removed some old types
      sql/item_row.h:
        Removed some old types
      sql/item_strfunc.cc:
        Include zlib (needed becasue we call crc32)
        Removed some old types
      sql/item_strfunc.h:
        Removed some old types
        Changed some types to match new function prototypes
      sql/item_subselect.cc:
        Removed some old types
      sql/item_subselect.h:
        Removed some old types
      sql/item_sum.cc:
        Removed some old types
        Changed some buffers to be uchar* to avoid casts
        Removed some not needed casts
      sql/item_sum.h:
        Removed some old types
      sql/item_timefunc.cc:
        Removed some old types
        Changed some string lengths to use size_t
      sql/item_timefunc.h:
        Removed some old types
      sql/item_xmlfunc.cc:
        Changed some string lengths to use size_t
      sql/item_xmlfunc.h:
        Removed some old types
      sql/key.cc:
        Removed some old types
        Removed some not needed casts
      sql/lock.cc:
        Removed some old types
        Added some cast to my_multi_malloc() arguments for safety
      sql/log.cc:
        Removed some old types
        Changed some string lengths to use size_t
        Changed some buffers to be uchar* to avoid casts
        Changed usage of pwrite() to not assume it holds the cursor position for the file
        Made usage of my_read() safer
      sql/log_event.cc:
        Removed some old types
        Added checking of return value of malloc() in pack_info()
        Changed some buffers to be uchar* to avoid casts
        Removed some 'const' to avoid casts
        Added missing casts for alloc() and sprintf()
        Added required casts
        Removed some not needed casts
        Added some cast to my_multi_malloc() arguments for safety
      sql/log_event.h:
        Removed some old types
        Changed some buffers to be uchar* to avoid casts
      sql/log_event_old.cc:
        Changed some buffers to be uchar* to avoid casts
        Removed some not needed casts
      sql/log_event_old.h:
        Changed some buffers to be uchar* to avoid casts
      sql/mf_iocache.cc:
        Removed some old types
      sql/my_decimal.cc:
        Changed memory area to use uchar*
      sql/my_decimal.h:
        Changed memory area to use uchar*
      sql/mysql_priv.h:
        Removed some old types
        Changed malloc(), free() and related functions to use void *
        Changed some string lengths to use size_t
        Changed definition of MOD_PAD_CHAR_TO_FULL_LENGTH to avoid long overflow
        Changed some buffers to be uchar* to avoid casts
      sql/mysqld.cc:
        Removed some old types
      sql/net_serv.cc:
        Removed some old types
        Changed some string lengths to use size_t
        Changed some buffers to be uchar* to avoid casts
        Ensure that vio_read()/vio_write() return values are stored in a size_t variable
        Removed some not needed casts
      sql/opt_range.cc:
        Removed some old types
        Changed some buffers to be uchar* to avoid casts
        Removed some not needed casts
      sql/opt_range.h:
        Removed some old types
        Changed some buffers to be uchar* to avoid casts
      sql/opt_sum.cc:
        Removed some old types
        Removed some not needed casts
      sql/parse_file.cc:
        Removed some old types
        Changed some string lengths to use size_t
        Changed alloc_root + memcpy + set end 0 -> strmake_root()
      sql/parse_file.h:
        Removed some old types
      sql/partition_info.cc:
        Removed some old types
        Added missing casts for alloc()
        Changed some buffers to be uchar* to avoid casts
      sql/partition_info.h:
        Changed some buffers to be uchar* to avoid casts
      sql/protocol.cc:
        Removed some old types
        Changed some buffers to be uchar* to avoid casts
        Removed some not needed casts
      sql/protocol.h:
        Removed some old types
        Changed some buffers to be uchar* to avoid casts
        Changed some string lengths to use size_t
      sql/records.cc:
        Removed some old types
      sql/repl_failsafe.cc:
        Removed some old types
        Changed some string lengths to use size_t
        Added required casts
      sql/rpl_filter.cc:
        Removed some old types
        Updated hash-get-key function arguments
        Changed some string lengths to use size_t
      sql/rpl_filter.h:
        Changed some string lengths to use size_t
      sql/rpl_injector.h:
        Removed some old types
      sql/rpl_record.cc:
        Removed some old types
        Removed some not needed casts
        Changed some buffers to be uchar* to avoid casts
      sql/rpl_record.h:
        Removed some old types
        Changed some buffers to be uchar* to avoid casts
      sql/rpl_record_old.cc:
        Removed some old types
        Changed some buffers to be uchar* to avoid casts
        Removed some not needed casts
      sql/rpl_record_old.h:
        Removed some old types
        Changed some buffers to be uchar* to avoid cast
      sql/rpl_rli.cc:
        Removed some old types
      sql/rpl_tblmap.cc:
        Removed some old types
      sql/rpl_tblmap.h:
        Removed some old types
      sql/rpl_utility.cc:
        Removed some old types
      sql/rpl_utility.h:
        Removed some old types
        Changed type of m_size from my_size_t to ulong to reflect that m_size is the number of elements in the array, not a string/memory length
      sql/set_var.cc:
        Removed some old types
        Updated parameters to dirname_part()
      sql/set_var.h:
        Removed some old types
      sql/slave.cc:
        Removed some old types
        Changed some string lengths to use size_t
      sql/slave.h:
        Removed some old types
      sql/sp.cc:
        Removed some old types
        Added missing casts for printf()
      sql/sp.h:
        Removed some old types
        Updated hash-get-key function arguments
      sql/sp_cache.cc:
        Removed some old types
        Added missing casts for printf()
        Updated hash-get-key function arguments
      sql/sp_head.cc:
        Removed some old types
        Added missing casts for alloc() and printf()
        Added required casts
        Updated hash-get-key function arguments
      sql/sp_head.h:
        Removed some old types
      sql/sp_pcontext.cc:
        Removed some old types
      sql/sp_pcontext.h:
        Removed some old types
      sql/sql_acl.cc:
        Removed some old types
        Changed some string lengths to use size_t
        Changed some buffers to be uchar* to avoid casts
        Removed some not needed casts
        Added required casts
      sql/sql_analyse.cc:
        Changed some buffers to be uchar* to avoid casts
      sql/sql_analyse.h:
        Changed some buffers to be uchar* to avoid casts
      sql/sql_array.h:
        Removed some old types
      sql/sql_base.cc:
        Removed some old types
        Updated hash-get-key function arguments
      sql/sql_binlog.cc:
        Removed some old types
        Added missing casts for printf()
      sql/sql_cache.cc:
        Removed some old types
        Updated hash-get-key function arguments
        Removed some not needed casts
        Changed some string lengths to use size_t
      sql/sql_cache.h:
        Removed some old types
        Removed reference to not existing function cache_key()
        Updated hash-get-key function arguments
      sql/sql_class.cc:
        Removed some old types
        Updated hash-get-key function arguments
        Added missing casts for alloc()
        Updated hash-get-key function arguments
        Moved THD::max_row_length() to table.cc (as it's not depending on THD)
        Removed some not needed casts
      sql/sql_class.h:
        Removed some old types
        Changed malloc(), free() and related functions to use void *
        Removed some not needed casts
        Changed some string lengths to use size_t
        Moved max_row_length and max_row_length_blob() to table.cc, as they are not depending on THD
      sql/sql_connect.cc:
        Removed some old types
        Added required casts
      sql/sql_db.cc:
        Removed some old types
        Removed some not needed casts
        Added some cast to my_multi_malloc() arguments for safety
        Added missing casts for alloc()
      sql/sql_delete.cc:
        Removed some old types
      sql/sql_handler.cc:
        Removed some old types
        Updated hash-get-key function arguments
        Added some cast to my_multi_malloc() arguments for safety
      sql/sql_help.cc:
        Removed some old types
        Changed some buffers to be uchar* to avoid casts
        Removed some not needed casts
      sql/sql_insert.cc:
        Removed some old types
        Added missing casts for alloc() and printf()
      sql/sql_lex.cc:
        Removed some old types
      sql/sql_lex.h:
        Removed some old types
        Removed some not needed casts
      sql/sql_list.h:
        Removed some old types
        Removed some not needed casts
      sql/sql_load.cc:
        Removed some old types
        Removed compiler warning
      sql/sql_manager.cc:
        Removed some old types
      sql/sql_map.cc:
        Removed some old types
      sql/sql_map.h:
        Removed some old types
      sql/sql_olap.cc:
        Removed some old types
      sql/sql_parse.cc:
        Removed some old types
        Trivial move of code lines to make things more readable
        Changed some string lengths to use size_t
        Added missing casts for alloc()
      sql/sql_partition.cc:
        Removed some old types
        Removed compiler warnings about not used functions
        Changed some buffers to be uchar* to avoid casts
        Removed some not needed casts
      sql/sql_partition.h:
        Removed some old types
        Changed some buffers to be uchar* to avoid casts
      sql/sql_plugin.cc:
        Removed some old types
        Added missing casts for alloc()
        Updated hash-get-key function arguments
      sql/sql_prepare.cc:
        Removed some old types
        Changed some buffers to be uchar* to avoid casts
        Added missing casts for alloc() and printf()
      sql-common/client.c:
        Removed some old types
        Changed some memory areas to use uchar*
      sql-common/my_user.c:
        Changed some string lengths to use size_t
      sql-common/pack.c:
        Changed some buffers to be uchar* to avoid casts
      sql/sql_repl.cc:
        Added required casts
        Changed some buffers to be uchar* to avoid casts
        Changed some string lengths to use size_t
      sql/sql_select.cc:
        Removed some old types
        Changed some buffers to be uchar* to avoid casts
        Removed some old types
      sql/sql_select.h:
        Removed some old types
        Changed some buffers to be uchar* to avoid casts
      sql/sql_servers.cc:
        Removed some old types
        Updated hash-get-key function arguments
      sql/sql_show.cc:
        Removed some old types
        Added missing casts for alloc()
        Removed some not needed casts
      sql/sql_string.cc:
        Removed some old types
        Added required casts
      sql/sql_table.cc:
        Removed some old types
        Removed compiler warning about not used variable
        Changed some buffers to be uchar* to avoid casts
        Removed some not needed casts
      sql/sql_test.cc:
        Removed some old types
      sql/sql_trigger.cc:
        Removed some old types
        Added missing casts for alloc()
      sql/sql_udf.cc:
        Removed some old types
        Updated hash-get-key function arguments
      sql/sql_union.cc:
        Removed some old types
      sql/sql_update.cc:
        Removed some old types
        Removed some not needed casts
      sql/sql_view.cc:
        Removed some old types
      sql/sql_yacc.yy:
        Removed some old types
        Changed some string lengths to use size_t
        Added missing casts for alloc()
      sql/stacktrace.c:
        Removed some old types
      sql/stacktrace.h:
        Removed some old types
      sql/structs.h:
        Removed some old types
      sql/table.cc:
        Removed some old types
        Updated hash-get-key function arguments
        Changed some buffers to be uchar* to avoid casts
        Removed setting of LEX_STRING() arguments in declaration
        Added required casts
        More function comments
        Moved max_row_length() here from sql_class.cc/sql_class.h
      sql/table.h:
        Removed some old types
        Changed some string lengths to use size_t
      sql/thr_malloc.cc:
        Use void* as type for allocated memory area
        Changed all functions to use size_t
      sql/tzfile.h:
        Changed some buffers to be uchar* to avoid casts
      sql/tztime.cc:
        Changed some buffers to be uchar* to avoid casts
        Updated hash-get-key function arguments
        Added missing casts for alloc()
        Removed some not needed casts
      sql/uniques.cc:
        Removed some old types
        Removed some not needed casts
      sql/unireg.cc:
        Removed some old types
        Changed some buffers to be uchar* to avoid casts
        Removed some not needed casts
        Added missing casts for alloc()
      storage/archive/archive_reader.c:
        Removed some old types
      storage/archive/azio.c:
        Removed some old types
        Removed some not needed casts
      storage/archive/ha_archive.cc:
        Removed some old types
        Changed type for 'frmblob' in archive_discover() to match handler
        Updated hash-get-key function arguments
        Removed some not needed casts
      storage/archive/ha_archive.h:
        Removed some old types
      storage/blackhole/ha_blackhole.cc:
        Removed some old types
      storage/blackhole/ha_blackhole.h:
        Removed some old types
      storage/csv/ha_tina.cc:
        Removed some old types
        Updated hash-get-key function arguments
        Changed some buffers to be uchar* to avoid casts
      storage/csv/ha_tina.h:
        Removed some old types
        Removed some not needed casts
      storage/csv/transparent_file.cc:
        Removed some old types
        Changed type of 'bytes_read' to be able to detect read errors
        Fixed indentation
      storage/csv/transparent_file.h:
        Removed some old types
      storage/example/ha_example.cc:
        Removed some old types
        Updated hash-get-key function arguments
      storage/example/ha_example.h:
        Removed some old types
      storage/federated/ha_federated.cc:
        Removed some old types
        Updated hash-get-key function arguments
        Removed some not needed casts
      storage/federated/ha_federated.h:
        Removed some old types
      storage/heap/_check.c:
        Changed some buffers to be uchar* to avoid casts
      storage/heap/_rectest.c:
        Removed some old types
      storage/heap/ha_heap.cc:
        Removed some old types
      storage/heap/ha_heap.h:
        Removed some old types
      storage/heap/heapdef.h:
        Removed some old types
      storage/heap/hp_block.c:
        Removed some old types
        Changed some string lengths to use size_t
      storage/heap/hp_clear.c:
        Removed some old types
      storage/heap/hp_close.c:
        Removed some old types
      storage/heap/hp_create.c:
        Removed some old types
      storage/heap/hp_delete.c:
        Removed some old types
      storage/heap/hp_hash.c:
        Removed some old types
      storage/heap/hp_info.c:
        Removed some old types
      storage/heap/hp_open.c:
        Removed some old types
      storage/heap/hp_rfirst.c:
        Removed some old types
      storage/heap/hp_rkey.c:
        Removed some old types
      storage/heap/hp_rlast.c:
        Removed some old types
      storage/heap/hp_rnext.c:
        Removed some old types
      storage/heap/hp_rprev.c:
        Removed some old types
      storage/heap/hp_rrnd.c:
        Removed some old types
      storage/heap/hp_rsame.c:
        Removed some old types
      storage/heap/hp_scan.c:
        Removed some old types
      storage/heap/hp_test1.c:
        Removed some old types
      storage/heap/hp_test2.c:
        Removed some old types
      storage/heap/hp_update.c:
        Removed some old types
      storage/heap/hp_write.c:
        Removed some old types
        Changed some string lengths to use size_t
      storage/innobase/handler/ha_innodb.cc:
        Removed some old types
        Updated hash-get-key function arguments
        Added missing casts for alloc() and printf()
        Removed some not needed casts
      storage/innobase/handler/ha_innodb.h:
        Removed some old types
      storage/myisam/ft_boolean_search.c:
        Removed some old types
      storage/myisam/ft_nlq_search.c:
        Removed some old types
      storage/myisam/ft_parser.c:
        Removed some old types
        Changed some buffers to be uchar* to avoid casts
      storage/myisam/ft_static.c:
        Removed some old types
      storage/myisam/ft_stopwords.c:
        Removed some old types
      storage/myisam/ft_update.c:
        Removed some old types
        Changed some buffers to be uchar* to avoid casts
      storage/myisam/ftdefs.h:
        Removed some old types
        Changed some buffers to be uchar* to avoid casts
      storage/myisam/fulltext.h:
        Removed some old types
      storage/myisam/ha_myisam.cc:
        Removed some old types
      storage/myisam/ha_myisam.h:
        Removed some old types
      storage/myisam/mi_cache.c:
        Removed some old types
        Changed some buffers to be uchar* to avoid casts
      storage/myisam/mi_check.c:
        Removed some old types
      storage/myisam/mi_checksum.c:
        Removed some old types
      storage/myisam/mi_close.c:
        Removed some old types
      storage/myisam/mi_create.c:
        Removed some old types
      storage/myisam/mi_delete.c:
        Removed some old types
      storage/myisam/mi_delete_all.c:
        Removed some old types
      storage/myisam/mi_dynrec.c:
        Removed some old types
      storage/myisam/mi_extra.c:
        Removed some old types
      storage/myisam/mi_key.c:
        Removed some old types
      storage/myisam/mi_locking.c:
        Removed some old types
      storage/myisam/mi_log.c:
        Removed some old types
      storage/myisam/mi_open.c:
        Removed some old types
        Removed some not needed casts
        Check argument of my_write()/my_pwrite() in functions returning int
        Added casting of string lengths to size_t
      storage/myisam/mi_packrec.c:
        Removed some old types
        Changed some buffers to be uchar* to avoid casts
      storage/myisam/mi_page.c:
        Removed some old types
      storage/myisam/mi_preload.c:
        Removed some old types
      storage/myisam/mi_range.c:
        Removed some old types
      storage/myisam/mi_rfirst.c:
        Removed some old types
      storage/myisam/mi_rkey.c:
        Removed some old types
      storage/myisam/mi_rlast.c:
        Removed some old types
      storage/myisam/mi_rnext.c:
        Removed some old types
      storage/myisam/mi_rnext_same.c:
        Removed some old types
      storage/myisam/mi_rprev.c:
        Removed some old types
      storage/myisam/mi_rrnd.c:
        Removed some old types
      storage/myisam/mi_rsame.c:
        Removed some old types
      storage/myisam/mi_rsamepos.c:
        Removed some old types
      storage/myisam/mi_scan.c:
        Removed some old types
      storage/myisam/mi_search.c:
        Removed some old types
      storage/myisam/mi_static.c:
        Removed some old types
      storage/myisam/mi_statrec.c:
        Removed some old types
      storage/myisam/mi_test1.c:
        Removed some old types
      storage/myisam/mi_test2.c:
        Removed some old types
      storage/myisam/mi_test3.c:
        Removed some old types
      storage/myisam/mi_unique.c:
        Removed some old types
      storage/myisam/mi_update.c:
        Removed some old types
      storage/myisam/mi_write.c:
        Removed some old types
      storage/myisam/myisam_ftdump.c:
        Removed some old types
      storage/myisam/myisamchk.c:
        Removed some old types
      storage/myisam/myisamdef.h:
        Removed some old types
      storage/myisam/myisamlog.c:
        Removed some old types
        Indentation fix
      storage/myisam/myisampack.c:
        Removed some old types
      storage/myisam/rt_index.c:
        Removed some old types
      storage/myisam/rt_split.c:
        Removed some old types
      storage/myisam/sort.c:
        Removed some old types
      storage/myisam/sp_defs.h:
        Removed some old types
      storage/myisam/sp_key.c:
        Removed some old types
      storage/myisammrg/ha_myisammrg.cc:
        Removed some old types
      storage/myisammrg/ha_myisammrg.h:
        Removed some old types
      storage/myisammrg/myrg_close.c:
        Removed some old types
      storage/myisammrg/myrg_def.h:
        Removed some old types
      storage/myisammrg/myrg_delete.c:
        Removed some old types
      storage/myisammrg/myrg_open.c:
        Removed some old types
        Updated parameters to dirname_part()
      storage/myisammrg/myrg_queue.c:
        Removed some old types
      storage/myisammrg/myrg_rfirst.c:
        Removed some old types
      storage/myisammrg/myrg_rkey.c:
        Removed some old types
      storage/myisammrg/myrg_rlast.c:
        Removed some old types
      storage/myisammrg/myrg_rnext.c:
        Removed some old types
      storage/myisammrg/myrg_rnext_same.c:
        Removed some old types
      storage/myisammrg/myrg_rprev.c:
        Removed some old types
      storage/myisammrg/myrg_rrnd.c:
        Removed some old types
      storage/myisammrg/myrg_rsame.c:
        Removed some old types
      storage/myisammrg/myrg_update.c:
        Removed some old types
      storage/myisammrg/myrg_write.c:
        Removed some old types
      storage/ndb/include/util/ndb_opts.h:
        Removed some old types
      storage/ndb/src/cw/cpcd/main.cpp:
        Removed some old types
      storage/ndb/src/kernel/vm/Configuration.cpp:
        Removed some old types
      storage/ndb/src/mgmclient/main.cpp:
        Removed some old types
      storage/ndb/src/mgmsrv/InitConfigFileParser.cpp:
        Removed some old types
        Removed old disabled code
      storage/ndb/src/mgmsrv/main.cpp:
        Removed some old types
      storage/ndb/src/ndbapi/NdbBlob.cpp:
        Removed some old types
      storage/ndb/src/ndbapi/NdbOperationDefine.cpp:
        Removed not used variable
      storage/ndb/src/ndbapi/NdbOperationInt.cpp:
        Added required casts
      storage/ndb/src/ndbapi/NdbScanOperation.cpp:
        Added required casts
      storage/ndb/tools/delete_all.cpp:
        Removed some old types
      storage/ndb/tools/desc.cpp:
        Removed some old types
      storage/ndb/tools/drop_index.cpp:
        Removed some old types
      storage/ndb/tools/drop_tab.cpp:
        Removed some old types
      storage/ndb/tools/listTables.cpp:
        Removed some old types
      storage/ndb/tools/ndb_config.cpp:
        Removed some old types
      storage/ndb/tools/restore/consumer_restore.cpp:
        Changed some buffers to be uchar* to avoid casts with new defintion of packfrm()
      storage/ndb/tools/restore/restore_main.cpp:
        Removed some old types
      storage/ndb/tools/select_all.cpp:
        Removed some old types
      storage/ndb/tools/select_count.cpp:
        Removed some old types
      storage/ndb/tools/waiter.cpp:
        Removed some old types
      strings/bchange.c:
        Changed function to use uchar * and size_t
      strings/bcmp.c:
        Changed function to use uchar * and size_t
      strings/bmove512.c:
        Changed function to use uchar * and size_t
      strings/bmove_upp.c:
        Changed function to use uchar * and size_t
      strings/ctype-big5.c:
        Changed functions to use size_t
        Changed character length functions to return uint
      strings/ctype-bin.c:
        Changed functions to use size_t
      strings/ctype-cp932.c:
        Changed functions to use size_t
        Changed character length functions to return uint
      strings/ctype-czech.c:
        Fixed indentation
        Changed functions to use size_t
      strings/ctype-euc_kr.c:
        Changed functions to use size_t
        Changed character length functions to return uint
      strings/ctype-eucjpms.c:
        Changed functions to use size_t
        Changed character length functions to return uint
        unsigned char -> uchar
      strings/ctype-gb2312.c:
        Changed functions to use size_t
        Changed character length functions to return uint
      strings/ctype-gbk.c:
        Changed functions to use size_t
        Changed character length functions to return uint
      strings/ctype-latin1.c:
        Changed functions to use size_t
        Changed character length functions to return uint
        unsigned char -> uchar
      strings/ctype-mb.c:
        Changed functions to use size_t
        Changed character length functions to return uint
      strings/ctype-simple.c:
        Changed functions to use size_t
        Simpler loops for caseup/casedown
        unsigned int -> uint
        unsigned char -> uchar
      strings/ctype-sjis.c:
        Changed functions to use size_t
        Changed character length functions to return uint
      strings/ctype-tis620.c:
        Changed functions to use size_t
        Changed character length functions to return uint
        unsigned char -> uchar
      strings/ctype-uca.c:
        Changed functions to use size_t
        unsigned char -> uchar
      strings/ctype-ucs2.c:
        Moved inclusion of stdarg.h to other includes
        usigned char -> uchar
        Changed functions to use size_t
        Changed character length functions to return uint
      strings/ctype-ujis.c:
        Changed functions to use size_t
        Changed character length functions to return uint
        unsigned char -> uchar
      strings/ctype-utf8.c:
        Changed functions to use size_t
        unsigned char -> uchar
        Indentation fixes
      strings/ctype-win1250ch.c:
        Indentation fixes
        Changed functions to use size_t
      strings/ctype.c:
        Changed functions to use size_t
      strings/decimal.c:
        Changed type for memory argument to uchar *
      strings/do_ctype.c:
        Indentation fixes
      strings/my_strtoll10.c:
        unsigned char -> uchar
      strings/my_vsnprintf.c:
        Changed functions to use size_t
      strings/r_strinstr.c:
        Removed some old types
        Changed functions to use size_t
      strings/str_test.c:
        Removed some old types
      strings/strappend.c:
        Changed functions to use size_t
      strings/strcont.c:
        Removed some old types
      strings/strfill.c:
        Removed some old types
      strings/strinstr.c:
        Changed functions to use size_t
      strings/strlen.c:
        Changed functions to use size_t
      strings/strmake.c:
        Changed functions to use size_t
      strings/strnlen.c:
        Changed functions to use size_t
      strings/strnmov.c:
        Changed functions to use size_t
      strings/strto.c:
        unsigned char -> uchar
      strings/strtod.c:
        Changed functions to use size_t
      strings/strxnmov.c:
        Changed functions to use size_t
      strings/xml.c:
        Changed functions to use size_t
        Indentation fixes
      tests/mysql_client_test.c:
        Removed some old types
      tests/thread_test.c:
        Removed some old types
      vio/test-ssl.c:
        Removed some old types
      vio/test-sslclient.c:
        Removed some old types
      vio/test-sslserver.c:
        Removed some old types
      vio/vio.c:
        Removed some old types
      vio/vio_priv.h:
        Removed some old types
        Changed vio_read()/vio_write() to work with size_t
      vio/viosocket.c:
        Changed vio_read()/vio_write() to work with size_t
        Indentation fixes
      vio/viossl.c:
        Changed vio_read()/vio_write() to work with size_t
        Indentation fixes
      vio/viosslfactories.c:
        Removed some old types
      vio/viotest-ssl.c:
        Removed some old types
      win/README:
        More explanations
      f252f924
  13. 26 Apr, 2007 1 commit
  14. 24 Apr, 2007 1 commit
    • unknown's avatar
      Bug#25411 (trigger code truncated), PART I · 3eff7d4d
      unknown authored
      The issue found with bug 25411 is due to the function skip_rear_comments()
      which damages the source code while implementing a work around.
      The root cause of the problem is in the lexical analyser, which does not
      process special comments properly.
      For special comments like :
      [1] aaa /*!50000 bbb */ ccc
      since 5.0 is a version older that the current code, the parser is in lining
      the content of the special comment, so that the query to process is
      [2] aaa bbb ccc
      However, the text of the query captured when processing a stored procedure,
      stored function or trigger (or event in 5.1), can be after rebuilding it:
      [3] aaa bbb */ ccc
      which is wrong.
      
      To fix bug 25411 properly, the lexical analyser needs to return [2] when
      in lining special comments.
      In order to implement this, some preliminary cleanup is required in the code,
      which is implemented by this patch.
      
      Before this change, the structure named LEX (or st_lex) contains attributes
      that belong to lexical analysis, as well as attributes that represents the
      abstract syntax tree (AST) of a statement.
      Creating a new LEX structure for each statements (which makes sense for the
      AST part) also re-initialized the lexical analysis phase each time, which
      is conceptually wrong.
      
      With this patch, the previous st_lex structure has been split in two:
      - st_lex represents the Abstract Syntax Tree for a statement. The name "lex"
      has not been changed to avoid a bigger impact in the code base.
      - class lex_input_stream represents the internal state of the lexical
        analyser, which by definition should *not* be reinitialized when parsing
        multiple statements from the same input stream.
      
      This change is a pre-requisite for bug 25411, since the implementation of
      lex_input_stream will later improve to deal properly with special comments,
      and this processing can not be done with the current implementation of
      sp_head::reset_lex and sp_head::restore_lex, which interfere with the lexer.
      
      This change set alone does not fix bug 25411.
      
      
      sql/item_func.cc:
        Refactoring, separate lex_input_stream from st_lex.
      sql/log_event.cc:
        Refactoring, separate lex_input_stream from st_lex.
      sql/mysql_priv.h:
        Refactoring, separate lex_input_stream from st_lex.
      sql/slave.cc:
        Refactoring, separate lex_input_stream from st_lex.
      sql/sp.cc:
        Refactoring, separate lex_input_stream from st_lex.
      sql/sp_head.cc:
        Refactoring, separate lex_input_stream from st_lex.
      sql/sp_head.h:
        Refactoring, separate lex_input_stream from st_lex.
      sql/sql_class.cc:
        Refactoring, separate lex_input_stream from st_lex.
      sql/sql_class.h:
        Refactoring, separate lex_input_stream from st_lex.
      sql/sql_lex.cc:
        Refactoring, separate lex_input_stream from st_lex.
      sql/sql_lex.h:
        Refactoring, separate lex_input_stream from st_lex.
      sql/sql_parse.cc:
        Refactoring, separate lex_input_stream from st_lex.
      sql/sql_prepare.cc:
        Refactoring, separate lex_input_stream from st_lex.
      sql/sql_trigger.cc:
        Refactoring, separate lex_input_stream from st_lex.
      sql/sql_view.cc:
        Refactoring, separate lex_input_stream from st_lex.
      sql/sql_yacc.yy:
        Refactoring, separate lex_input_stream from st_lex.
      3eff7d4d
  15. 17 Apr, 2007 2 commits
    • unknown's avatar
      Fixed federated and some replication tests to not stop slave until it's up and running. · 763f105d
      unknown authored
      (Removes some warnings about UNIX_TIMESTAMP from the slave.err logs)
      Marked federated_server as a '--big-test'
      Change error in net_clear to 'Note', as it interfered with mysql-test-run.
      
      
      client/mysqltest.c:
        More DBUG messages
        Adding missing DBUG_RETURN
      mysql-test/extra/rpl_tests/rpl_max_relay_size.test:
        Added missing sync_slave_with_master
      mysql-test/extra/rpl_tests/rpl_relayrotate.test:
        Added missing sync_slave_with_master
      mysql-test/include/federated.inc:
        Don't do stop slave before the slave has started properly
        (Removes some warnings about UNIX_TIMESTAMP from the slave.err logs)
      mysql-test/include/federated_cleanup.inc:
        Trivial cleanup
      mysql-test/t/federated_server.test:
        Don't run this unless under --big-test
        Made test-loop smaller. (We will find out errors in code over time, as the test is run under a lot of difference machines which will compensate for the smaller loop)
      mysql-test/t/rpl_flushlog_loop.test:
        Added missing sync_slave_with_master
      sql/net_serv.cc:
        Change error to Note (low level warning), as it interfered with mysql-test-run.
        This is probably fine as we in some context on sever shutdown can get information about connection shutdown on the connection while we are doing a query at the same time.
        Still, in normal context one should get this, so it's good to have it in the log as it enables one to find errors easier.
      sql/slave.cc:
        Added reason to why things failed to error message
      763f105d
    • unknown's avatar
      Reverting to use time_t instead of my_time_t since the latter caused · 24964ff3
      unknown authored
      compile warnings on windows machines.
      
      
      24964ff3
  16. 13 Apr, 2007 1 commit
  17. 12 Apr, 2007 2 commits
    • unknown's avatar
      BUG#26551 (Aborted query for non-transactional table breaks replication): · d4dfe766
      unknown authored
      Added error code ER_QUERY_INTERRUPTED to the list of special errors
      that prevent the slave from starting to execute a query.
      
      
      sql/slave.cc:
        Added ER_QUERY_INTERRUPTED to special error code that prevents statement
        from being executed on slave.
      mysql-test/r/rpl_critical_errors.result.txt:
        New BitKeeper file ``mysql-test/r/rpl_critical_errors.result.txt''
      mysql-test/t/rpl_critical_errors.test:
        New BitKeeper file ``mysql-test/t/rpl_critical_errors.test''
      d4dfe766
    • unknown's avatar
      BUG#25688 (RBR: circular replication may cause STMT_END_F flags to be · 6ed9fc6b
      unknown authored
      skipped):
      
      By moving statement end actions from Rows_log_event::do_apply_event() to
      Rows_log_event::do_update_pos() they will always be executed, even if
      Rows_log_event::do_apply_event() is skipped because the event originated
      at the same server. This because Rows_log_event::do_update_pos() is always
      executed (unless Rows_log_event::do_apply_event() failed with an error,
      in which case the slave stops with an error anyway). 
      
      Adding test case.
      
      Fixing logic to detect if inside a group. If a rotate event occured
      when an initial prefix of events for a statement, but for which the
      table did contain a key, last_event_start_time is set to zero, causing
      rotate to end the group but without unlocking any tables. This left a
      lock hanging around, which subsequently triggered an assertion when a
      second attempt was made to lock the same sequence of tables.
      
      In order to solve the above problem, a new flag was added to the relay
      log info structure that is used to indicate that the replication thread
      is currently executing a statement. Using this flag, the replication
      thread is in a group if it is either in a statement or inside a trans-
      action.
      
      The patch also eliminates some gratuitous header file inclusions that
      were not needed (and caused compile errors) and replaced them with
      forward definitions.
      
      
      sql/item_func.cc:
        Including definition of MASTER_INFO.
      sql/log.cc:
        Including definition of RELAY_LOG_INFO since it is used in the file.
      sql/log_event.cc:
        Moving statement end actions from Rows_log_event::do_apply_event() to
        Rows_log_event::do_update_pos().
        Factoring out code to update group positions and event positions into
        relay log info structure.
        ---
        Adding debugging printouts.
        Fixing logic to detect if inside a group.
      sql/log_event.h:
        Adding Rows_log_event::do_update_pos().
      sql/mysqld.cc:
        Including definition of MASTER_INFO.
      sql/repl_failsafe.cc:
        Including definition of MASTER_INFO.
      sql/rpl_mi.h:
        Including definition of RELAY_LOG_INFO since it is used in the file.
      sql/rpl_rli.cc:
        Adding member function stmt_done() to do after-statement updates of the
        relay log info structure.
      sql/rpl_rli.h:
        Adding member function stmt_done() to do after-statement updates of the
        relay log info structure.
      sql/set_var.cc:
        Including definition of MASTER_INFO.
      sql/slave.cc:
        Adding debuging printouts.
      sql/slave.h:
        Removing inclusion definitions of MASTER_INFO and RELAY_LOG_INFO and
        replacing them with forward declarations since the classes are not
        used in the file. The gratuitous inclusion lead to compile errors in
        the two classes above in files that used neither.
      sql/sql_binlog.cc:
        Including definition of RELAY_LOG_INFO since it is used in the file.
      sql/sql_class.cc:
        Including definition of RELAY_LOG_INFO since it is used in the file.
      sql/sql_class.h:
        Removing inclusion definitions of RELAY_LOG_INFO and replacing it
        with forward declaration since the class is not used in the file.
        The gratuitous inclusion lead to compile errors in the class above
        in files didn't use the class.
      sql/sql_insert.cc:
        Including definition of MASTER_INFO.
      sql/sql_repl.cc:
        Including definition of MASTER_INFO.
      mysql-test/r/rpl_ndb_circular_simplex.result:
        New BitKeeper file ``mysql-test/r/rpl_ndb_circular_simplex.result''
      mysql-test/t/rpl_ndb_circular_simplex.test:
        New BitKeeper file ``mysql-test/t/rpl_ndb_circular_simplex.test''
      6ed9fc6b
  18. 29 Mar, 2007 1 commit
    • unknown's avatar
      Bug#19991 CHANGE MASTER need option ssl-verify-server-cert · d6422f61
      unknown authored
       - Add MASTER_SSL_VERIFY_SERVER_CERT option to CHANGE MASTER TO
       - Add Master_Ssl_Serify_Server_Cert to SHOW SLAVE STATUS
       - Save and restore ssl_verify_server_cert  to master info file
         setting it to disabled as default.
      
      
      mysql-test/r/rpl_000015.result:
        Update test result after adding new column to SHOW SLAVE STATUS
      mysql-test/r/rpl_change_master.result:
        Update test result after adding new column to SHOW SLAVE STATUS
      mysql-test/r/rpl_empty_master_crash.result:
        Update test result after adding new column to SHOW SLAVE STATUS
      mysql-test/r/rpl_flushlog_loop.result:
        Update test result after adding new column to SHOW SLAVE STATUS
      mysql-test/r/rpl_loaddata.result:
        Update test result after adding new column to SHOW SLAVE STATUS
      mysql-test/r/rpl_log_pos.result:
        Update test result after adding new column to SHOW SLAVE STATUS
      mysql-test/r/rpl_rbr_to_sbr.result:
        Update test result after adding new column to SHOW SLAVE STATUS
      mysql-test/r/rpl_redirect.result:
        Update test result after adding new column to SHOW SLAVE STATUS
      mysql-test/r/rpl_replicate_do.result:
        Update test result after adding new column to SHOW SLAVE STATUS
      mysql-test/r/rpl_rotate_logs.result:
        Update test result after adding new column to SHOW SLAVE STATUS
      mysql-test/r/rpl_row_max_relay_size.result:
        Update test result after adding new column to SHOW SLAVE STATUS
      mysql-test/r/rpl_server_id1.result:
        Update test result after adding new column to SHOW SLAVE STATUS
      mysql-test/r/rpl_server_id2.result:
        Update test result after adding new column to SHOW SLAVE STATUS
      mysql-test/r/rpl_slave_status.result:
        Update test result after adding new column to SHOW SLAVE STATUS
      mysql-test/r/rpl_ssl1.result:
        Update test result after adding new column to SHOW SLAVE STATUS
      mysql-test/r/rpl_stm_log.result:
        Update test result after adding new column to SHOW SLAVE STATUS
      mysql-test/r/rpl_stm_max_relay_size.result:
        Update test result after adding new column to SHOW SLAVE STATUS
      mysql-test/r/rpl_stm_reset_slave.result:
        Update test result after adding new column to SHOW SLAVE STATUS
      mysql-test/r/rpl_stm_until.result:
        Update test result after adding new column to SHOW SLAVE STATUS
      mysql-test/t/rpl_ssl1.test:
        Change to "query_vertical show slave status"
      sql/lex.h:
        Add new token for MASTER_SSL_VERIFY_SERVER_CERT
      sql/repl_failsafe.cc:
        Turn on verification of master cert if so requested
      sql/rpl_mi.cc:
        Add new variable to MASTER_INFo and save/restore it from/to line 15 of master info
        file
      sql/rpl_mi.h:
        Add variable for ssl_verify_server_cert to MASTER_INFO
      sql/slave.cc:
        Turn on verification of master cert if so requested
        Add new column to SHOW  SLAVE STATUS
      sql/sql_lex.h:
        Add ssl_verify_server_cert to "st_lex_master_info" struct - allow
        it to be UNCHANGED just like the ssl option.
      sql/sql_repl.cc:
        Add ssl_verify_server_cert to "st_lex_master_info" struct - allow
        it to be UNCHANGED just like the ssl option.
      sql/sql_yacc.yy:
        Add MASTER_SSL_VERIFY_SERVER_CERT to CHANGE MASTER TO
      mysql-test/t/rpl_ssl_verify_server.test:
        New BitKeeper file ``mysql-test/t/rpl_ssl_verify_server.test''
      mysql-test/r/rpl_ssl_verify_server.result:
        New BitKeeper file ``mysql-test/r/rpl_ssl_verify_server.result''
      d6422f61
  19. 27 Mar, 2007 1 commit
    • unknown's avatar
      Eliminating some compiler warnings. · 04c0f3cb
      unknown authored
      sql/log_event.cc:
        Adding non-reachable return statement at end of function to keep compiler
        happy.
      sql/slave.cc:
        In order to keep compiler happy: using variable only used in debug code
        instead of recalling virtual function.
      04c0f3cb
  20. 22 Mar, 2007 2 commits
    • unknown's avatar
      Fixed compiler warnings. · 7eb3881b
      unknown authored
      mysys/default.c:
        Fixed bug.
      ndb/src/mgmclient/CommandInterpreter.cpp:
        Added parenthesis around the expression.
      sql/mysqld.cc:
        Fixed compiler warnings.
        
        Added a missing component in options struct (bug).
      sql-common/my_time.c:
        Removed garbage.
      sql/sql_table.cc:
        A possible use of a variable uninitialized.
      support-files/compiler_warnings.supp:
        BitKeeper file /home/my/bk/mysql-4.1-main/support-files/compiler_warnings.supp
      7eb3881b
    • unknown's avatar
      BUG#23171: Illegal group log position · 8666675f
      unknown authored
      Tail fixes after re-applying patches to older version of clone.
      
      
      sql/log_event.cc:
        Name change of shall_skip() -> do_shall_skip()
        Introducing public shall_skip().
        Name change of skip reason enumeration constants.
        Removing extreneous argument to slave_print_msg() causing compiler warning.
      sql/log_event.h:
        Adding enumeration for skip reason.
        Factoring out exec_event() into exec_relay_log_event().
        Making public interface to event execution primitives.
        Adding documentation.
        Making some (internal) functions const-correct.
      sql/rpl_rli.cc:
        replicate_same_server_id is now a member variable of RLI.
      sql/rpl_rli.h:
        replicate_same_server_id is now a member variable of RLI.
      sql/slave.cc:
        Using RLI-specific member variable replicate_same_server_id instead of
        global instance.
        Moving comments about skipping logic to exec_relay_log_event().
        Moving event execution logic to exec_relay_log_event().
      sql/sql_binlog.cc:
        Using apply_event() directly and adding comment with explenation.
      8666675f
  21. 16 Mar, 2007 2 commits
    • unknown's avatar
      Fix for bug #23775 "Replicated event larger that max_allowed_packet infinitely re-transmits". · f7aa1930
      unknown authored
      Problem: to handle a situation when the size of event on the master is greater than max_allowed_packet on slave, we checked for the wrong constant (ER_NET_PACKET_TOO_LARGE instead of CR_NET_PACKET_TOO_LARGE).
      
      Solution: test for the client "packet too large" error code instead of the server one in slave I/O thread.
      
      
      mysql-test/r/rpl_packet.result:
        Added test case for bug #23775 "Replicated event larger that max_allowed_packet infinitely re-transmits"
      mysql-test/t/rpl_packet.test:
        Added test case for bug #23775 "Replicated event larger that max_allowed_packet infinitely re-transmits"
      sql/slave.cc:
        Test for the client "packet too large" error code instead of the server one in slave I/O thread.
      f7aa1930
    • unknown's avatar
      WL#3629 - Replication of Invocation and Invoked Features · 62b41b5f
      unknown authored
      This changeset adds replication of events and user-defined functions. 
      There are several bug reports involved in this change:
      
      BUG#16421, BUG#17857, BUG#20384:
      This patch modifies the mysql.events table to permit the addition of
      another enum value for the status column. The column now has values
      of ('DISABLED','SLAVESIDE_DISABLED','ENABLED'). A status of
      SLAVESIDE_DISABLED is set on the slave during replication of events.
      This enables users to determine which events werereplicated from the 
      master and to later enable them if they promote the slave to a master.
      The CREATE, ALTER, and DROP statements are binlogged.
      A new test was added for replication of events (rpl_events).
      
      BUG#17671:
      This patch modifies the code to permit logging of user-defined functions.
      Note: this is the CREATE FUNCTION ... SONAME variety. A more friendly error 
      message to be displayed should a replicated user-defined function not be
      found in the loadable library or if the library is missing from the
      slave.The CREATE andDROP statements are binlogged. A new test was added 
      for replication of user-defined functions (rpl_udf). 
      
      The patch also adds a new column to the mysql.event table named
      'originator' that is used to store the server_id of the server that
      the event originated on. This enables users to promote a slave to a 
      master and later return the promoted slave to a slave and disable the
      replicated events.
      
      
      mysql-test/lib/init_db.sql:
        WL#3629 - Replication of Invocation and Invoked Feature
        This patch adds the SLAVESIDE_DISABLED to the list of enumerated 
        values for the mysql.event table.
        
        This patch adds the column 'originator' to the mysql.event table.
      mysql-test/r/events.result:
        WL#3629 - Replication of Invocation and Invoked Feature
        This patch adds the 'originator' column to the events test results.
        This was necessary to ensure the manual insert into mysql.event table 
        succeeds because the originator column is set to NOT NULL.
      mysql-test/r/events_grant.result:
        WL#3629 - Replication of Invocation and Invoked Feature
        This patch adds the 'originator' column to the events_grant test results.
        This was necessary to ensure the manual insert into mysql.event table 
        succeeds because the originator column is set to NOT NULL.
      mysql-test/r/events_restart_phase1.result:
        WL#3629 - Replication of Invocation and Invoked Feature
        This patch adds the 'originator' column to the events_restart_phase1
        test results. This was necessary to ensure the manual insert into 
        mysql.event table succeeds because the originator column is set to 
        NOT NULL.
      mysql-test/r/system_mysql_db.result:
        WL#3629 - Replication of Invocation and Invoked Feature
        This patch adds the SLAVESIDE_DISABLED to the list of enumerated 
        values for the mysql.event table.
        
        This patch adds the column 'originator' to the mysql.event table.
        
        These changes to the result file were necessary to ensure correct test
        results.
      mysql-test/t/events.test:
        WL#3629 - Replication of Invocation and Invoked Feature
        This patch adds the 'originator' column to the events
        test. This was necessary to ensure the manual insert into 
        mysql.event table succeeds because the originator column is set to 
        NOT NULL.
      mysql-test/t/events_restart_phase1.test:
        WL#3629 - Replication of Invocation and Invoked Feature
        This patch adds the 'originator' column to the events_restart_phase1
        test. This was necessary to ensure the manual insert into 
        mysql.event table succeeds because the originator column is set to 
        NOT NULL.
      scripts/mysql_create_system_tables.sh:
        WL#3629 - Replication of Invocation and Invoked Feature
        This patch adds the SLAVESIDE_DISABLED to the list of enumerated 
        values for the mysql.event table.
        
        This patch adds the column 'originator' to the mysql.event table.
      scripts/mysql_fix_privilege_tables.sql:
        WL#3629 - Replication of Invocation and Invoked Feature
        This patch adds the SLAVESIDE_DISABLED to the list of enumerated 
        values for the mysql.event table.
        
        This patch adds the column 'originator' to the mysql.event table.
      sql/event_data_objects.cc:
        WL#3629 - Replication of Invocation and Invoked Features
        This patch modifies the code to permit processing of the new enum
        SLAVESIDE_DISABLED which is set on the slave during replication
        of events. 
        
        This patch uses the new Event_basic:: enumerated values.
      sql/event_data_objects.h:
        WL#3629 - Replication of Invocation and Invoked Features
        This patch moves the duplicated enumeration values for ENABLED, 
        SLAVESIDE_DISABLED, and DISABLED to the Event_basic class removing
        them from the other Event_* classes.
      sql/event_db_repository.cc:
        WL#3629 - Replication of Invocation and Invoked Features
        This patch modifies the code to permit processing of the new enum
        SLAVESIDE_DISABLED which is set on the slave during replication
        of events. 
        
        The patch also adds a new column to the mysql.event table named
        'originator' that is used to store the server_id of the server that
        the event originated on. This enables users to promote a slave to a 
        master and later return the promoted slave to a slave and disable the
        replicated events.
      sql/event_db_repository.h:
        WL#3629 - Replication of Invocation and Invoked Features
        This patch modifies the code to add a new field named 'originator' 
        to the enum_event_table_field and associated structure.
      sql/event_queue.cc:
        WL#3629 - Replication of Invocation and Invoked Features
        This patch modifies the code to permit processing of the new enum
        SLAVESIDE_DISABLED which is set on the slave during replication
        of events.
      sql/events.cc:
        WL#3629 - Replication of Invocation and Invoked Features
        This patch modifies the code to permit processing of the new enum
        SLAVESIDE_DISABLED which is set on the slave during replication
        of events.
      sql/lex.h:
        WL#3629 - Replication of Invocation and Invoked Features
        This patch modifies the code to add the new SLAVESIDE_DISABLE symbol
        to the lexical parser.
      sql/slave.cc:
        WL#3629 - Replication of Invocation and Invoked Features
        This patch modifies the code to permit the capture of the error on
        the slave when a UDF from a loadable library is not loaded on the server
        when replicated from the master.
      sql/sql_parse.cc:
        WL#3629 - Replication of Invocation and Invoked Features
        This patch removes the comment because drop functions commands 
        are replicated.
      sql/sql_show.cc:
        WL#3629 - Replication of Invocation and Invoked Features
        This patch modifies the code to permit processing of the new enum
        SLAVESIDE_DISABLED which is set on the slave during replication
        of events. The code also adds changes the display width of the status
        column for the schema table for the show events command and also adds
        the new column 'originator' to the events_field_info structure.
      sql/sql_udf.cc:
        WL#3629 - Replication of Invocation and Invoked Features
        This patch modifies the code to add the binlogging of the create and
        drop function events.
      sql/sql_yacc.yy:
        WL#3629 - Replication of Invocation and Invoked Features
        This patch modifies the code to change the enumeration of the status
        column for the events in the parser. The code uses the Event_basic::
        enumerations allowing the enums to be defined in one place.
      mysql-test/t/rpl_events.test:
        WL#3629 - Replication of Invocation and Invoked Features
        This patch adds a new test for testing replication of events. The test
        uses include files so that the test can test under both RBR and SBR.
      mysql-test/r/rpl_events.result:
        WL#3629 - Replication of Invocation and Invoked Features
        This patch adds a new result file for testing replication of events.
      mysql-test/r/rpl_udf.result:
        WL#3629 - Replication of Invocation and Invoked Features
        This patch adds a new result file for testing replication of UDFs.
      mysql-test/t/rpl_udf.test:
        WL#3629 - Replication of Invocation and Invoked Features
        This patch adds a new test for testing replication of UDFs. The test
        uses include files so that the test can test under both RBR and SBR.
      mysql-test/include/rpl_events.inc:
        WL#3629 - Replication of Invocation and Invoked Features
        This patch adds a new include file for testing replication of events.
        This file contains the core test procedures.
      mysql-test/include/rpl_udf.inc:
        WL#3629 - Replication of Invocation and Invoked Features
        This patch adds a new include file for testing replication of UDFs.
        This file contains the core test procedures.
      62b41b5f
  22. 02 Mar, 2007 1 commit
  23. 01 Mar, 2007 2 commits
    • unknown's avatar
      Fixing manual merge error. · bf9521d2
      unknown authored
      sql/slave.cc:
        Removing piece of code which get there when manual merging from 5.0 tree.
      bf9521d2
    • unknown's avatar
      Removing two more compilation warnings. · 8fa0d1b9
      unknown authored
      sql/slave.cc:
        Guard declaration of variable to avoid "unused variable" warning.
      sql/sql_repl.cc:
        Guard declaration of variable to avoid "unused variable" warning.
      8fa0d1b9
  24. 28 Feb, 2007 1 commit
    • unknown's avatar
      Fixed compiler warnings. · def9c0b2
      unknown authored
      client/mysql_upgrade.c:
        Fixed problem with mysql_upgrade being dependent
        on local my.cnf files and problem with memory not being freed.
      client/mysqltest.c:
        Changed type to avoid warning.
      cmd-line-utils/readline/xmalloc.c:
        Fix to avoid warning.
      include/my_dbug.h:
        To disable parts from code in non-debug more.
      sql/field.cc:
        Fixed warning.
      sql/ha_archive.cc:
        Fixed warning.
      sql/ha_berkeley.cc:
        Added casts to avoid warnings.
      sql/ha_ndbcluster.cc:
        Fixed warnings.
      sql/log.cc:
        Added casts to avoid warnings.
      sql/slave.cc:
        Avoid warning.
      sql/sql_repl.cc:
        Avoid warning.
      support-files/compiler_warnings.supp:
        Added disabled warnings to compiler_warnings.supp file.
        These are backported mainly from 5.1 suppress file, but there
        are some additional new ones.
      def9c0b2
  25. 23 Feb, 2007 2 commits
    • unknown's avatar
      the fix for BUG#24432 · 8c07265c
      unknown authored
        "INSERT... ON DUPLICATE KEY UPDATE skips auto_increment values"
      didn't make it into 5.0.36 and 5.1.16,
      so we need to adjust the bug-detection-based-on-version-number code.
      Because the rpl tree has a too old version, rpl_insert_id cannot pass,
      so I disable it (like is already the case in 5.1-rpl for the same reason),
      and the repl team will re-enable it when they merge 5.0 and 5.1 into
      their trees (thus getting the right version number).
      
      
      mysql-test/t/disabled.def:
            rpl_insert_id tests statement-based replication of INSERT ON
            DUPLICATE KEY UPDATE. This type of INSERT had BUG#24432, which is
            fixed in 5.0.38; we made the slave detect if it is connected to a
            <5.0.38 master and if so refuse to replicate.
            The problem is that this 5.0-rpl tree, even though it will produce
            the 5.0.38 release, still has a 5.0.36 version in configure.in.
            Thus rpl_insert_id fails. So I disable it. As soon as the 5.0-rpl
            tree gets the changesets from the main 5.0, its version will change
            to 5.0.38 and so the repl team will re-enable the test.
      sql/slave.cc:
        the fix for BUG#24432 didn't make it into 5.0.36 and 5.1.16,
        so we need to adjust the bug-detection-based-on-version-number code.
      8c07265c
    • unknown's avatar
      Fixed compiler warnings · 9e678492
      unknown authored
      Fixed compile-pentium64 scripts
      Fixed wrong estimate of update_with_key_prefix in sql-bench
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1 into mysql.com:/home/my/mysql-5.1
      Fixed unsafe define of uint4korr()
      Fixed that --extern works with mysql-test-run.pl
      Small trivial cleanups
      This also fixes a bug in counting number of rows that are updated when we have many simultanous queries
      Move all connection handling and command exectuion main loop from sql_parse.cc to sql_connection.cc
      Split handle_one_connection() into reusable sub functions.
      Split create_new_thread() into reusable sub functions.
      Added thread_scheduler; Preliminary interface code for future thread_handling code.
      
      Use 'my_thread_id' for internal thread id's
      Make thr_alarm_kill() to depend on thread_id instead of thread
      Make thr_abort_locks_for_thread() depend on thread_id instead of thread
      In store_globals(), set my_thread_var->id to be thd->thread_id.
      Use my_thread_var->id as basis for my_thread_name()
      The above changes makes the connection we have between THD and threads more soft.
      
      Added a lot of DBUG_PRINT() and DBUG_ASSERT() functions
      Fixed compiler warnings
      Fixed core dumps when running with --debug
      Removed setting of signal masks (was never used)
      Made event code call pthread_exit() (portability fix)
      Fixed that event code doesn't call DBUG_xxx functions before my_thread_init() is called.
      Made handling of thread_id and thd->variables.pseudo_thread_id uniform.
      Removed one common 'not freed memory' warning from mysqltest
      Fixed a couple of usage of not initialized warnings (unlikely cases)
      Suppress compiler warnings from bdb and (for the moment) warnings from ndb
      
      
      BitKeeper/deleted/.del-SETUP.sh.rej:
        Rename: BUILD/SETUP.sh.rej -> BitKeeper/deleted/.del-SETUP.sh.rej
      BitKeeper/deleted/.del-configure.in.rej:
        Rename: configure.in.rej -> BitKeeper/deleted/.del-configure.in.rej
      BitKeeper/deleted/.del-my_global.h.rej:
        Rename: include/my_global.h.rej -> BitKeeper/deleted/.del-my_global.h.rej
      BitKeeper/deleted/.del-my_pthread.h.rej:
        Rename: include/my_pthread.h.rej -> BitKeeper/deleted/.del-my_pthread.h.rej
      BitKeeper/deleted/.del-mysql_client_test.c.rej:
        Rename: tests/mysql_client_test.c.rej -> BitKeeper/deleted/.del-mysql_client_test.c.rej
      BitKeeper/deleted/.del-mysqld.cc.rej~35c1c438e11ebd89:
        Rename: sql/mysqld.cc.rej -> BitKeeper/deleted/.del-mysqld.cc.rej~35c1c438e11ebd89
      BitKeeper/deleted/.del-sql_parse.cc.rej:
        Rename: sql/sql_parse.cc.rej -> BitKeeper/deleted/.del-sql_parse.cc.rej
      BitKeeper/deleted/.del-table.cc.rej:
        Rename: sql/table.cc.rej -> BitKeeper/deleted/.del-table.cc.rej
      BitKeeper/deleted/.del-thr_alarm.c.rej:
        Rename: mysys/thr_alarm.c.rej -> BitKeeper/deleted/.del-thr_alarm.c.rej
      BUILD/compile-pentium64:
        Update this to be in line with compile-pentium
      BUILD/compile-pentium:
        Send command line options to SETUP.sh
      BUILD/compile-solaris-sparc-debug:
        Update scripts
      BUILD/compile-solaris-sparc-forte:
        Update scripts
      BUILD/compile-solaris-sparc-purify:
        Update scripts
      BUILD/compile-solaris-sparc:
        Update scripts
      BitKeeper/deleted/.del-DbtupSystemRestart.cpp~15b54d7e4e75d2d:
        Removed compiler warning
      BitKeeper/deleted/.del-ha_berkeley.cc:
        Moved get_auto_primary_key() here as int5store() gives (wrong) compiler warnings in win64
      configure.in:
        Added detection of port_create and port.h (for future)as 
        ---
        manual merge
      BitKeeper/deleted/.del-ha_berkeley.h:
        Moved get_auto_primary_key() to ha_berkeley.cc
      BitKeeper/deleted/.del-mysqlmanager.c~e97636d71145a0b:
        Fixed compiler warnings
      BitKeeper/etc/ignore:
        added storage/ndb/src/ndbapi/ndberror_check
      client/mysqlbinlog.cc:
        Removed not needed 'static' (caused compiler warning)
      client/mysqldump.c:
        Fixed compiler warnings from 'max' build
      client/mysqltest.c:
        Free warning and query memory no abort.
        (Removes strange warnings on screen if mysql-test-run fails)
        Removed compiler warnings
        Portability fix for windows (windows doesn't have mode_t)
      client/sql_string.h:
        Removed compiler warning
      cmd-line-utils/readline/xmalloc.c:
        Fixed compiler warnings from 'max' build
      extra/charset2html.c:
        Fixed compiler warnings
      extra/comp_err.c:
        Fixed compiler warnings from 'max' build
      extra/yassl/include/lock.hpp:
        Fix for windows64
      extra/yassl/include/openssl/ssl.h:
        Changed prototype for SSL_set_fd() to fix compiler warnings (and possible errors) on windows 64 bit
      extra/yassl/include/socket_wrapper.hpp:
        Moved socket_t to ssl.h, to be able to removed compiler warnings on windows 64 bit
      extra/yassl/include/yassl.hpp:
        Fix for windows64
      extra/yassl/src/ssl.cpp:
        Removed compiler warning
        Detect wrong parameter (Happens when running test suite on solaris)
        Changed prototype for SSL_set_fd() to fix compiler warnings (and possible errors) on windows 64 bit
      extra/yassl/taocrypt/src/integer.cpp:
        Fixed compiler warnings
      extra/yassl/testsuite/testsuite.cpp:
        Removed compiler warning
      include/config-win.h:
        Added HAVE_WINSOCK2 (for future)
      include/my_dbug.h:
        Fixed DBUG_PROCESS() so that we don't get compiler warnings for it
      include/my_global.h:
        Fixed unsafe define of uint4korr()
        manual merge (ignore changes from 5.0)
        Fixed warnings on win64 when using int5store and int6store
      include/my_pthread.h:
        Added my_thread_id typedef
        Renamed 'my_thread_id() function to my_thead_dbug_id()
      include/thr_alarm.h:
        Make thr_alarm_kill() to depend on thread_id instead of thread
      include/thr_lock.h:
        Make thr_abort_locks_for_thread() depend on thread_id instead of thread
      libmysql/libmysql.def:
        Fixed compiler warnings on win64
      libmysqld/CMakeLists.txt:
        Added missing files
      libmysqld/Makefile.am:
        Added new files
      libmysqld/lib_sql.cc:
        Remove not needed code (store_globals() now takes care of things)
      mysql-test/lib/mtr_report.pl:
        Removed wrong messages when using --extern
      mysql-test/mysql-test-run.pl:
        Fixed that --extern works
        Print help on stdout instead of stderr (make it easier to pipe it to less)
        Fixed typo that caused mysql-test-run.pl to fail on Solaris
      mysql-test/r/keywords.result:
        manual merge
      mysql-test/r/ndb_lock.result:
        After merge fixes
      mysql-test/r/ps.result:
        Portability fix
      mysql-test/t/disabled.def:
        Disabled ndb_alter_table as this very often fails for me (and have done it for a long time)
      mysql-test/t/keywords.test:
        manual merge
      mysql-test/t/ndb_lock.test:
        Added other possible error code
      mysql-test/t/ps.test:
        Portability fix (when compiling without DLOPEN)
      mysql-test/t/wait_timeout.test:
        Don't run this if we are not using a thread per connection (as other thread_handling code may not support timeouts)
      mysys/base64.c:
        Fixed compiler warnings on win64
      mysys/mf_keycache.c:
        Fixed compiler warnings
      mysys/my_getopt.c:
        Fixed compiler warning
      mysys/my_init.c:
        Fixed compiler warning
        Re-indented long comment
      mysys/my_thr_init.c:
        Always use mysys_var->id to generate thread name (makes things uniform accross thread implementations and thread usage)
        Always generate my_thread_name() when using DBUG
        Ensure mysys_var->pthread_self is set
        Fixed compiler warnings
      mysys/ptr_cmp.c:
        Fixed compiler warnings from 'max' build
      mysys/thr_alarm.c:
        Change thr_alarm_kill() to use mysys_var->id instead of thread id
        Fixed compiler warning on windows
      mysys/thr_lock.c:
        Change thr_abort_locks_for_thread() to use mysys_var->id instead of thread id
        Add purecov statements around not tested code
        Fixed compiler warnings
      mysys/thr_mutex.c:
        my_thread_id() -> my_thread_dbug_id()
      server-tools/instance-manager/guardian.cc:
        Fixed compiler warning
      server-tools/instance-manager/instance.cc:
        Fixed compiler warning
      server-tools/instance-manager/mysql_connection.cc:
        Fixed compiler warnings
      server-tools/instance-manager/mysqlmanager.cc:
        Fixed compiler warnings
      sql/CMakeLists.txt:
        Added missing files
      sql/Makefile.am:
        Added new files
      sql/event_scheduler.cc:
        Added pthread_exit() calls
        Ensure DBUG_xxx calls are not made before my_thread_init()
        Use common functions to set up thread handling
      sql/field.h:
        manual merge
      sql/ha_ndbcluster.cc:
        Removed some trivial 'current_thd' calls
      sql/handler.cc:
        Avoid warnings on KILL_CONNECTION
        Don't print out null pointer with printf()  (Causes crashes on Solaris)
      sql/item.cc:
        Fixed compiler warnings from 'max' build
      sql/item_cmpfunc.cc:
        After merge fixes
      sql/item_func.cc:
        Merge embedded and normal code usage
        (GET_LOCK, RELEASE_LOCK now works on my_thread_id instead of pthread_t)
        Fixed compiler warning
      sql/item_strfunc.cc:
        Fixed compiler warning
      sql/item_timefunc.cc:
        Fixed compiler warnings
      sql/lock.cc:
        Use (new) parameter to thr_abort_locks_for_thread()
      sql/log.cc:
        Fixed compiler warning
      sql/log_event.cc:
        Fixed compiler warnings about not used variable
      sql/mysql_priv.h:
        Remove TEST_NO_THREADS (not needed with new scheduler interface)
        Added functions from sql_connect.cc and new functions from sql_parse.cc
      sql/mysqld.cc:
        Use thread_scheduler structure to dispatch calls (make code more dynamic)
        Change --one-thread option to use thread_scheduler interface
        Made ONE_THREAD option independent of DBUG_BUILD
        --one-thread is now depricated. One should instead use '--thread-handling=no-threads'
        Remove not used uname() function.
        Split create_new_thread() into reusable sub functions.
        Preliminary interface code for future thread_handling code.
        Fixed compiler warnings
      sql/parse_file.cc:
        Don't send zero pointer to fn_format() (Causes crashes when using --debug)
      sql/repl_failsafe.cc:
        Setup pseudo_thread_id same way as other code
      sql/set_var.cc:
        Added variables 'thread_handling'
        Prepare for future variable 'thread_pool_size'
        Fixed compiler warnings
      sql/set_var.h:
        Fixed compiler warning
      sql/slave.cc:
        Setup pseudo_thread_id same way as other code
        Removed not used signal mask
      sql/sql_acl.cc:
        Fixed compiler warnings from 'max' build
      sql/sql_base.cc:
        Fixed long comments
        Normalized variable setup
        Don't destroy value of thd->variables.pseduo_thread_id
        More DBUG_PRINT()'s
        More DBUG_ASSERT()'s
        Fixed compiler warnings from 'max' build
      sql/sql_class.cc:
        Remove thd->real_id and thd->dbug_thread_id
        Added DBUG_ASSERT()
        Use thread_scheduler to signal threads to be killed.
        In THD::store_globals(), set my_thread_var->id to be thd->thread_id.
        Fixed compiler warnings
      sql/sql_class.h:
        Use 'my_thread_id' for internal thread id's
        Remove not needed THD elements: block_signals and dbug_thread_id
        Added 'thread_scheduler' scheduling extension element to THD
      sql/sql_insert.cc:
        After merge fixes
        (This actually fixes a bug in old code when many connections are in use)
        Setup pseudo_thread_id same way as other code
        Removed not used signal mask
        Initialize variable that may be used unitialized on error conditions (not fatal)
      sql/sql_parse.cc:
        Move connection related code to sql_connect.cc
        Remove setting of signal mask (not needed)
        Ensure TABLE_LIST->alias is set for generated TABLE_LIST elements (fixed core dumps when running with --debug)
        Added previous 'optional' element to reset_mgh()
        Removed not needed DBUG_PRINT call
      sql/sql_partition.cc:
        Fixed compiler warnings
      sql/sql_prepare.cc:
        Removed not needed casts
        Fixed compiler warnings from 'max' build
      sql/sql_select.cc:
        Fixed compiler warnings
      sql-bench/bench-init.pl.sh:
        Added --one-missing-tests
      sql-bench/example:
        Better example
      sql-bench/run-all-tests.sh:
        Added --only-missing-tests
      sql-bench/test-insert.sh:
        Fixed wrong estimate of update_with_key_prefix
      sql/sql_show.cc:
        Don't send pthread_kill() to threads to detect if they exists.
        (Not that useful and causes problems with future thread_handling code)
        Fixed compiler warnings
      sql/sql_table.cc:
        Simplify code
        Fixed compiler warnings
      sql/sql_test.cc:
        Remove dbug_thread_id from test output
      sql/sql_view.cc:
        Don't send zero pointer to fn_format()
      sql/tztime.cc:
        Fixed compiler warning
      sql/udf_example.def:
        Fixed compiler warnings on win64
      sql/unireg.cc:
        Initialize variable that may be used unitialized on error conditions
      storage/archive/archive_test.c:
        Fixed compiler warnings
      storage/archive/azio.c:
        Fixed compiler warnings
      storage/innobase/dict/dict0crea.c:
        Fixed compiler warnings detected on windows64
      storage/innobase/dict/dict0dict.c:
        Fixed compiler warnings detected on windows64
      storage/innobase/dict/dict0load.c:
        Fixed compiler warnings detected on windows64
      storage/innobase/dict/dict0mem.c:
        Fixed compiler warnings detected on windows64
      storage/innobase/eval/eval0proc.c:
        Fixed compiler warnings detected on windows64
      storage/innobase/handler/ha_innodb.cc:
        Fixed compiler warnings detected on windows64
      storage/innobase/include/ut0byte.ic:
        Fixed compiler warnings on win64
      storage/innobase/include/ut0ut.ic:
        Fixed compiler warnings on win64
      storage/innobase/mtr/mtr0log.c:
        Fixed compiler warnings detected on windows64
      storage/innobase/pars/pars0lex.l:
        Fixed warnings on win64
      storage/innobase/rem/rem0cmp.c:
        Fixed compiler warnings detected on windows64
      storage/innobase/row/row0mysql.c:
        Fixed compiler warnings detected on windows64
      storage/innobase/row/row0sel.c:
        Fixed compiler warnings detected on windows64
      storage/innobase/sync/sync0rw.c:
        Fixed compiler warnings detected on windows64
      storage/innobase/trx/trx0trx.c:
        Fixed compiler warnings detected on windows64
      storage/myisam/mi_log.c:
        my_thread_id() -> my_thread_debug_id()
      storage/myisam/mi_packrec.c:
        Fixed compiler warnings detected on windows64
      storage/myisam/myisamchk.c:
        Fixed compiler warnings from 'max' build
      storage/ndb/src/common/debugger/EventLogger.cpp:
        Fixed compiler warnings
      storage/ndb/src/common/util/ConfigValues.cpp:
        Removed compiler warnings
      storage/ndb/src/common/util/NdbSqlUtil.cpp:
        Removed compiler warnings
      storage/ndb/src/cw/cpcd/CPCD.hpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/blocks/backup/Backup.cpp:
        Fixed compiler warnings detected on windows64
      storage/ndb/src/kernel/blocks/dbacc/Dbacc.hpp:
        Fixed compiler warnings detected on windows64
      storage/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp:
        Fixed compiler warnings detected on windows64
      storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/blocks/dbtup/DbtupDiskAlloc.cpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/blocks/dbtup/DbtupFixAlloc.cpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/blocks/dbtup/DbtupVarAlloc.cpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/blocks/dbtup/tuppage.cpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/blocks/dbtup/tuppage.hpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/blocks/dbtux/DbtuxStat.cpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/blocks/diskpage.hpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/vm/ndbd_malloc.cpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/vm/ndbd_malloc_impl.cpp:
        Fixed compiler warnings
      storage/ndb/src/mgmclient/main.cpp:
        Fixed compiler warnings
      storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp:
        Fixed compiler warnings
      storage/ndb/src/ndbapi/NdbOperationExec.cpp:
        Fixed compiler warnings
      storage/ndb/src/ndbapi/SignalSender.cpp:
        Fixed compiler warnings
      storage/ndb/tools/restore/consumer_restore.cpp:
        Fixed compiler warnings
      strings/ctype-ucs2.c:
        Fixed compiler warnings
      strings/ctype-utf8.c:
        Fixed compiler warnings
      strings/decimal.c:
        Fixed compiler warnings
      strings/my_strchr.c:
        Fixed conflict between function and prototype
      support-files/compiler_warnings.supp:
        Ignore warnings from sql_yacc.cc that are hard to remove
        Ignore some not important warnings from windows 64 bit build
        Suppress warnings from bdb and (for the moment) warnings from ndb
        Suppress all warnings for all pushbuild platforms (should make all trees green)
      vio/viosslfactories.c:
        Added DBUG_PRINT
      BUILD/compile-pentium64-max:
        New BitKeeper file ``BUILD/compile-pentium64-max''
      libmysqld/scheduler.cc:
        New BitKeeper file ``libmysqld/scheduler.cc''
      libmysqld/sql_connect.cc:
        New BitKeeper file ``libmysqld/sql_connect.cc''
      mysql-test/include/one_thread_per_connection.inc:
        New BitKeeper file ``mysql-test/include/one_thread_per_connection.inc''
      mysql-test/r/no-threads.result:
        New BitKeeper file ``mysql-test/r/no-threads.result''
      mysql-test/r/one_thread_per_connection.require:
        New BitKeeper file ``mysql-test/r/one_thread_per_connection.require''
      mysql-test/t/no-threads-master.opt:
        New BitKeeper file ``mysql-test/t/no-threads-master.opt''
      mysql-test/t/no-threads.test:
        New BitKeeper file ``mysql-test/t/no-threads.test''
      sql/scheduler.cc:
        New BitKeeper file ``sql/scheduler.cc''
      sql/scheduler.h:
        New BitKeeper file ``sql/scheduler.h''
      sql/sql_connect.cc:
        New BitKeeper file ``sql/sql_connect.cc''
      9e678492
  26. 15 Feb, 2007 1 commit
    • unknown's avatar
      Manual merge from 5.0-rpl, of fixes for: · af71cac0
      unknown authored
      1)
        BUG#25507 "multi-row insert delayed + auto increment causes
        duplicate key entries on slave" (two concurrrent connections doing
        multi-row INSERT DELAYED to insert into an auto_increment column,
        caused replication slave to stop with "duplicate key error" (and
        binlog was wrong), and BUG#26116 "If multi-row INSERT
        DELAYED has errors, statement-based binlogging breaks" (the binlog
        was not accounting for all rows inserted, or slave could stop).
        The fix is that: in statement-based binlogging, a multi-row INSERT
        DELAYED is silently converted to a non-delayed INSERT.
        This is supposed to not affect many 5.1 users as in 5.1, the default
        binlog format is "mixed", which does not have the bug (the bug is
        only with binlog_format=STATEMENT).
        We should document how the system delayed_insert thread decides of
        its binlog format (which is not modified by this patch):
        this decision is taken when the thread is created
        and holds until it is terminated (is not affected by any later change
        via SET GLOBAL BINLOG_FORMAT). It is also not affected by the binlog
        format of the connection which issues INSERT DELAYED (this binlog
        format does not affect how the row will be binlogged).
        If one wants to change the binlog format of its server with SET
        GLOBAL BINLOG_FORMAT, it should do FLUSH TABLES to be sure all
        delayed_insert threads terminate and thus new threads are created,
        taking into account the new format.
      2)
        BUG#24432
        "INSERT... ON DUPLICATE KEY UPDATE skips auto_increment values".
        When in an INSERT ON DUPLICATE KEY UPDATE, using
        an autoincrement column, we inserted some autogenerated values and
        also updated some rows, some autogenerated values were not used
        (for example, even if 10 was the largest autoinc value in the table
        at the start of the statement, 12 could be the first autogenerated
        value inserted by the statement, instead of 11). One autogenerated
        value was lost per updated row. Led to exhausting the range of the
        autoincrement column faster.
        Bug introduced by fix of BUG#20188; present since 5.0.24 and 5.1.12.
        This bug breaks replication from a pre-5.0.24/pre-5.1.12 master.
        But the present bugfix, as it makes INSERT ON DUP KEY UPDATE
        behave like pre-5.0.24/pre-5.1.12, breaks replication from a
        [5.0.24,5.0.34]/[5.1.12,5.1.15]
        master to a fixed (5.0.36/5.1.16) slave! To warn users against this when
        they upgrade their slave, as agreed with the support team, we add
        code for a fixed slave to detect that it is connected to a buggy
        master in a situation (INSERT ON DUP KEY UPDATE into autoinc column)
        likely to break replication, in which case it cannot replicate so
        stops and prints a message to the slave's error log and to SHOW SLAVE
        STATUS.
        For 5.0.36->[5.0.24,5.0.34] replication or 5.1.16->[5.1.12,5.1.15]
        replication we cannot warn as master
        does not know the slave's version (but we always recommended to users
        to have slave at least as new as master).
        As agreed with support, I have asked for an alert to be put into
        the MySQL Network Monitoring and Advisory Service.
      3) note that I'll re-enable rpl_insert_id as soon as 5.1-rpl gets
        the changes from the main 5.1.
      
      
      BitKeeper/deleted/.del-rpl_insert_delayed.result:
        Delete: mysql-test/r/rpl_insert_delayed.result
      mysql-test/extra/rpl_tests/rpl_insert_delayed.test:
        tests for BUG#25507 (lauch many concurrent INSERT DELAYED into an auto_inc
        column and see if they cause duplicates) and BUG#26116 (see if one error
        at first row on master makes the slave's data incorrect).
        It is then incorporated into a statement-based and mixed binlogging
        test, and into a row-based test.
        It is in fact mysql-test/t/rpl_insert_delayed.test from 5.0, renamed
        and extended to test BUG#25507.
      mysql-test/extra/rpl_tests/rpl_insert_id.test:
        manual merge of test for BUG#24432
        "INSERT... ON DUPLICATE KEY UPDATE skips auto_increment values"
        from 5.0
      mysql-test/r/rpl_insert_id.result:
        result update (it automerged from 5.0, contrary to the test file)
      mysql-test/r/rpl_known_bugs_detection.result:
        result update (binlog event sizes differ from 5.0)
      mysql-test/t/disabled.def:
        rpl_insert_id tests statement-based replication of INSERT ON
        DUPLICATE KEY UPDATE. This type of INSERT had BUG#24432, which is
        fixed in 5.1.16; we made the slave detect if it is connected to a
        <5.1.16 master and if so refuse to replicate.
        The problem is that this 5.1-rpl tree, even though it will produce
        the 5.1.16 release, still has a 5.1.15 version in configure.in.
        Thus rpl_insert_id fails. So I disable it. As soon as the 5.1-rpl
        tree gets the changesets from the main 5.1, its version will change
        to 5.1.16 and so I'll be able to re-enable the test.
      mysql-test/t/rpl_known_bugs_detection.test:
        only in statement-based; row-based has no bug so test would fail.
      sql/slave.cc:
        slave_print_msg(ERROR_LEVEL) calls my_error(ER_UNKNOWN_ERROR);
        so, for our my_printf_error(), which has a nicer message than this
        my_error(), to have any effect, it must be 
        called before slave_print_msg()
      sql/sql_insert.cc:
        manual merge from 5.0 of a piece of the fixes for
        BUG#24432 "INSERT... ON DUPLICATE KEY UPDATE skips auto_increment values"
        BUG#25507 "multi-row insert delayed + auto increment causes
        duplicate key entries on slave"
        BUG#26116 "If multi-row INSERT DELAYED has errors, statement-based
        binlogging breaks".
        The other pieces (e.g. log_event.cc) automerged from 5.0.
      mysql-test/r/rpl_row_insert_delayed.result:
        result
      mysql-test/r/rpl_stm_insert_delayed.result:
        result. Note how "mixed" and "statement" insert different data in
        the table.
      mysql-test/t/rpl_row_insert_delayed.test:
        wrapper to test INSERT DELAYED binlogging in row-based mode
      mysql-test/t/rpl_stm_insert_delayed.test:
        wrapper to test INSERT DELAYED binlogging in statement-based and mixed
        mode
      af71cac0
  27. 08 Feb, 2007 1 commit
    • unknown's avatar
      Fix for BUG#24432 · 914ae41f
      unknown authored
      "INSERT... ON DUPLICATE KEY UPDATE skips auto_increment values".
      When in an INSERT ON DUPLICATE KEY UPDATE, using
      an autoincrement column, we inserted some autogenerated values and
      also updated some rows, some autogenerated values were not used
      (for example, even if 10 was the largest autoinc value in the table
      at the start of the statement, 12 could be the first autogenerated
      value inserted by the statement, instead of 11). One autogenerated
      value was lost per updated row. Led to exhausting the range of the
      autoincrement column faster.
      Bug introduced by fix of BUG#20188; present since 5.0.24 and 5.1.12.
      This bug breaks replication from a pre-5.0.24 master.
      But the present bugfix, as it makes INSERT ON DUP KEY UPDATE
      behave like pre-5.0.24, breaks replication from a [5.0.24,5.0.34]
      master to a fixed (5.0.36) slave! To warn users against this when
      they upgrade their slave, as agreed with the support team, we add
      code for a fixed slave to detect that it is connected to a buggy
      master in a situation (INSERT ON DUP KEY UPDATE into autoinc column)
      likely to break replication, in which case it cannot replicate so
      stops and prints a message to the slave's error log and to SHOW SLAVE
      STATUS.
      For 5.0.36->[5.0.24,5.0.34] replication we cannot warn as master
      does not know the slave's version (but we always recommended to users
      to have slave at least as new as master).
      As agreed with support, I'll also ask for an alert to be put into
      the MySQL Network Monitoring and Advisory Service.
      
      
      mysql-test/r/rpl_insert_id.result:
        results to check the bugfix; without the bugfix, you would see, in
        master and slave:
        "3,2" instead of "2,2" for the INSERT VALUES testcase,
        "11,6,..." instead of "6,6,..." for the INSERT SELECT testcase.
      mysql-test/t/rpl_insert_id.test:
        testing that BUG#24432 is fixed
      sql/log_event.cc:
        A trick to force the master to pretend it is old and features BUG#24432.
        To do fast lookups in the list of known bugs by version, we compute
        the 3 X.Y.Z numbers from the master's version string and cache that
        into a new member Format_description_log_event::server_version_split.
        We do this computation in the event's two constructors.
        A simple prevention against buffer overrun when reading the master's
        version from a binlog event (assume the event is corrupted on disk,
        and so the version string on disk is longer than ST_SERVER_VER_LEN
        (50), then we would not get a closing 0 at the end of the class member.
      sql/log_event.h:
        new member to hold the "split server version" (3 numbers X.Y.Z),
        and a method to compute this from the version string.
      sql/slave.cc:
        a function which tells, based on master's version (as found
        in the Format_description event in the relay log being executed),
        if master can have a certain bug. This function uses a list of
        bug_id / first_version_with_bug / first_version_with_fix.
        If the test is positive, a short error message is put into SHOW SLAVE
        STATUS, and a verbose message is put into the slave's error log.
        The caller is expected to stop the slave in this case.
      sql/slave.h:
        new function to test if the replication master has a bug
      sql/sql_insert.cc:
        Fix for BUG#24432:t he reason was a misplaced restore_auto_increment() 
        (misplaced when fixing BUG#20188). Indeed, when updating the row,
        it is clear that the autogenerated auto_increment value will not be
        used for this row (and if by "chance" the autoinc value present
        in the updated row is >= to the not used autogenerated value,
        adjust_next_insert_id_after_explicit_value() will fix next_insert_id).
        We also add code for a fixed slave to detect that it is connected to
        a buggy master (in which case it cannot replicate so stops).
      mysql-test/r/rpl_known_bugs_detection.result:
        see that SHOW SLAVE STATUS prints information that slave found a bug
        in master, and does not execute the dangerous event (table stays
        empty).
      mysql-test/t/rpl_known_bugs_detection-master.opt:
        pass debug symbol to make the master pretend it has BUG#24432
      mysql-test/t/rpl_known_bugs_detection.test:
        new test to see if bug detection by slave works
      914ae41f
  28. 03 Feb, 2007 1 commit
    • unknown's avatar
      BUG#25306 (Race conditions during replication slave shutdown (valgrind stacks)): · d51d6adc
      unknown authored
      The possibility of the race is removed by changing sequence of calls
      
        pthread_mutex_unlock(&mi->run_lock);
        pthread_cond_broadcast(&mi->stop_cond);  
      
      into
      
        pthread_cond_broadcast(&mi->stop_cond);
        pthread_mutex_unlock(&mi->run_lock);
      
      at the end of I/O thread (similar change at the end of SQL thread). This ensures 
      that no thread waiting on the condition executes between the broadcast and the 
      unlock and thus can't delete the mi structure which caused the bug.
      
      
      sql/slave.cc:
        Change order of condition broadcast and mutex unlock at the end of slave's 
        I/O thread and SQL thread.
      sql/sql_repl.cc:
        Add DBUG_ENTER() call
      d51d6adc
  29. 29 Jan, 2007 2 commits
    • unknown's avatar
      Bug#22943 syscall pruning in libmysql · a195ad5e
      unknown authored
       - Set the timeout values only where needed
      
      
      sql/mysql_priv.h:
        Add new functions for setting read and write timeout on "net"
      sql/mysqld.cc:
        - Move the setting of "read_timeout" to the value of "connect_timeout" to
          just before 'check_connection' which is the function where we want
          to use the different timeout
        - With the new functions to set timeout on "net", there is no need to
          specifically set the default wait_timeout on windows.
      sql/net_serv.cc:
        Add new functions for setting read and write timeout of "net, when
        server is compiled not to use alarms it will set the write/read timeout
        directly on connection using 'vio_timeout'(using setsockopt if socket)
      sql/repl_failsafe.cc:
        Put unused code within "#if NOT_USED"
      sql/set_var.cc:
        Use 'net_set_*_timeout' when adjusting timeout value
        on the current connection
      sql/slave.cc:
        The read timeout used when connecting to master server is set
        using 'mysql_options' in 'connect_to_master' function
      sql/sql_parse.cc:
        - Set read and write timeout values to "connect_timeout" during
        connect phase
        - Use "read_timeout" value during sslaccept phase, since this is during
        connect phase it implies "connect-timeout"
        - Set read and write timeout value back to default after connect phase
        - Set "read_timeout" to "wait_timeout" while waiting for client.
      sql/sql_repl.cc:
        Set "read_timeout" to "wait_timeout" while ask other mysqld to send file
      sql-common/client.c:
        Call 'vio_timeout' to set up the read and write timeout's for the
        newly created connection. It only need to be done once at connect time.
      vio/vio.c:
        Use 'vio_timeout' for setting timeout also on an SSL connection
        since they both use sockets
      vio/viossl.c:
        Remove 'vio_ssl_timeout' function
      a195ad5e
    • unknown's avatar
      WL#3700: Handler API change: all index search methods - that is, · 4e8b49d6
      unknown authored
      index_read(), index_read_idx(), index_read_last(), and
      records_in_range() - instead of 'uint keylen' argument take
      'ulonglong keypart_map', a bitmap showing which keyparts are
      present in the key value.
      Fallback method is provided for handlers that are lagging behind.
      
      
      4e8b49d6
  30. 28 Jan, 2007 1 commit
    • unknown's avatar
      After merge fixes · f40e0cc0
      unknown authored
      Removed a lot of compiler warnings
      Removed not used variables, functions and labels
      Initialize some variables that could be used unitialized (fatal bugs)
      %ll -> %l
      
      
      BitKeeper/etc/ignore:
        added storage/archive/archive_reader
      BUILD/SETUP.sh:
        ccache now works again
      BUILD/compile-pentium-gcov:
        Added marker that we are using gcov and need special version of ccache
      client/mysql_upgrade.c:
        after merge fixes
      client/mysqlbinlog.cc:
        after merge fixes
      client/mysqldump.c:
        Removed compiler warnings
      client/mysqlimport.c:
        Removed compiler warnings
      client/mysqltest.c:
        Removed compiler warnings
      mysql-test/t/mysqlcheck.test:
        After merge fixes
      mysys/my_bitmap.c:
        After merge fix
      sql/event_data_objects.cc:
        Removed not used variable
      sql/event_db_repository.cc:
        Removed not used variable
      sql/event_queue.cc:
        Removed not used variable
      sql/field.cc:
        After merge fixes
      sql/filesort.cc:
        Added missing initialization (could cause core dump on EOM)
      sql/ha_ndbcluster.cc:
        After merge fixes
        Removed not used variables
        false-> FALSE
        true -> TRUE
        %llu -> %lu (portability fix)
        Fixed bug where field could be used unitialized in build_scan_filter_predicate()
      sql/ha_ndbcluster_binlog.cc:
        Removed not used label
      sql/ha_partition.cc:
        Removed not used variables
      sql/handler.cc:
        Removed not used variable & function
      sql/item.cc:
        After merge fixes
      sql/item_cmpfunc.cc:
        Removed not used variable
      sql/item_func.cc:
        Removed compiler warning
      sql/item_xmlfunc.cc:
        Removed not used variables & declarations
      sql/log.cc:
        Removed compiler warnings
        Removed not used variables & label
      sql/log.h:
        After merge fixes
      sql/log_event.cc:
        Removed not used variable & function
      sql/mysqld.cc:
        After merge fixes
      sql/opt_range.cc:
        Removed not used declaration
      sql/partition_info.cc:
        Removed not used variable
      sql/protocol.cc:
        Removed compiler warnings
      sql/set_var.cc:
        Removed not used variable
      sql/set_var.h:
        After merge fix
      sql/slave.cc:
        After merge fixes
      sql/slave.h:
        Moved wrong declaration to slave.cc
      sql/sp.cc:
        Fixed format of DBUG_PRINT
      sql/sp_head.cc:
        After merge fixes
      sql/spatial.cc:
        Added DBUG_ASSERT() to verify that LINT_INIT is right
      sql/sql_class.cc:
        Removed not used variables
      sql/sql_insert.cc:
        After merge fixes
      sql/sql_parse.cc:
        Removed not used variable
        After merge fixes
      sql/sql_partition.cc:
        Removed not used variables
      sql/sql_plugin.cc:
        Removed compiler warnings when compiling embedded server
      sql/sql_servers.cc:
        Removed not used variables
        Moved wrong placed calle to use_all_columns()
      sql/sql_servers.h:
        Moved declaration to right sql_servers.cc
      sql/sql_show.cc:
        Removed not used variables and function
        After merge fixes
      sql/sql_table.cc:
        Removed not used variable
      sql/sql_yacc.yy:
        Removed not used variables
        Lex -> lex
      sql/table.cc:
        Indentation fix
      storage/archive/ha_archive.cc:
        After merge fixes
      storage/example/ha_example.cc:
        Indentation fixes
      storage/federated/ha_federated.cc:
        Removed not used variables
      storage/myisam/mi_rkey.c:
        Added 0x before address
      storage/myisammrg/ha_myisammrg.cc:
        Removed old declaration
      storage/ndb/include/kernel/signaldata/ArbitSignalData.hpp:
        After merge fixes
      storage/ndb/include/util/SimpleProperties.hpp:
        After merge fixes
      storage/ndb/src/common/debugger/EventLogger.cpp:
        Removed not used function
      storage/ndb/src/kernel/blocks/suma/Suma.cpp:
        Removed compiler warnings
        Removed not used variables
      storage/ndb/src/mgmsrv/MgmtSrvr.cpp:
        After merge fixes
        Removed not used variables
      storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp:
        Removed not used varibles.
      storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp:
        Removed not used variables
      storage/ndb/src/ndbapi/NdbOperationDefine.cpp:
        Removed not used variables and label
      storage/ndb/src/ndbapi/NdbOperationSearch.cpp:
        Removed not used label
      storage/ndb/src/ndbapi/SignalSender.cpp:
        Removed not used function
      storage/ndb/src/ndbapi/TransporterFacade.cpp:
        Removed not used variables
      storage/ndb/src/ndbapi/ndb_cluster_connection.cpp:
        Moved static declaration from header file
      storage/ndb/src/ndbapi/ndb_cluster_connection_impl.hpp:
        Moved static declaration from header file
      support-files/compiler_warnings.supp:
        Remove some warnings from ndb
      f40e0cc0
  31. 17 Jan, 2007 1 commit
    • unknown's avatar
      BUG#23171 (Illegal slave restart position): · 4b00b3f0
      unknown authored
      Third patch of the bug fix where the code for skipping events and for
      executing events is factored out into three functions:
      - shall_skip() to decide if the event shall be skipped and the
        reason for it;
      - do_apply_event(), where the event is applied to the database; and
      - do_update_pos(), which updates the actual relay log position and
        group positions.
      
      
      mysql-test/r/rpl_row_tabledefs_2myisam.result:
        Result change.
      mysql-test/r/rpl_row_tabledefs_3innodb.result:
        Result change.
      sql/log_event.cc:
        Creating shall_skip(), do_update_pos(), and do_apply_event()
        functions for each event by factoring out the previous code.
        Adding debug code and fixing some error codes that were not correct.
      sql/rpl_rli.cc:
        Renaming unsafe_to_stop_at into last_event_start_time.
        Adding debug code.
      sql/rpl_rli.h:
        Renaming unsafe_to_stop_at into last_event_start_time.
      sql/slave.cc:
        Renaming unsafe_to_stop_at into last_event_start_time.
      4b00b3f0