An error occurred fetching the project authors.
  1. 29 Jul, 2005 1 commit
    • unknown's avatar
      patch for bug 10780 · 324c1b47
      unknown authored
      sql/slave.cc:
        bug 10780
      sql/slave.h:
        bug 10780
      mysql-test/r/rpl_slave_status.result:
        New BitKeeper file ``mysql-test/r/rpl_slave_status.result''
      324c1b47
  2. 23 Mar, 2005 1 commit
    • unknown's avatar
      "After Monty's review" changes to the fix for BUG#8325 "Deadlock in... · 832800cc
      unknown authored
      "After Monty's review" changes to the fix for BUG#8325 "Deadlock in replication thread stops replication":
      s/sleep/safe_sleep (thread safe); sleep 0/1/2/3/4/5/5/5 (get slave less late);
      no message on error log (deadlock is too common sometimes), a global counter
      instead (SHOW STATUS LIKE 'slave_retried_transactions').
      Plus a fix for libmysql/Makefile.shared
      
      
      libmysql/Makefile.shared:
        When we "make clean" in libmysql/ we remove the symlinks there, so we
        need to mark that they have to be recreated later: this is done by removing
        ../linked_libmysql_sources. If we don't do this, 'make' will fail after 'cd libmysql;make clean'.
        This Makefile.shared is used by libmysql_r too.
        No reason to remove linked_client_sources as we don't remove the links in client/.
      mysql-test/r/rpl_deadlock.result:
        result fix
      mysql-test/t/rpl_deadlock.test:
        small test addition
      sql/mysqld.cc:
        if active_mi could not be alloced, die. New SHOW STATUS LIKE "slave_retried_transactions".
      sql/slave.cc:
        If slave retries automatically a transaction, no message on error log
        (too common situation); sleep 0 secs at first retry, then 1, 2, 3, 4,
        5, 5, 5... Sleeping 0 is to get the least possible late, as deadlocks
        are usually resolved at first try. New global counter rli->retried_trans
        (for SHOW STATUS: total number of times the slave had to retry
        any transaction). safe_sleep() is thread-safe, sleep() was not.
        I change the rli->trans_retries counter to go from 0 to max instead
        of the other way (better for new sleep()).
      sql/slave.h:
        new global counter rli->retried_trans
      sql/sql_show.cc:
        SHOW STATUS LIKE "slave_retried_transactions"; needs replication mutexes.
        Can't be a simple SHOW_LONG, because active_mi is unset (not alloced yet)
        when the static global status_vars is created (active_mi is set
        in init_slave()).
      sql/structs.h:
        new SHOW_SLAVE_RETRIED_TRANS
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      832800cc
  3. 02 Mar, 2005 1 commit
    • unknown's avatar
      Fix for BUG#8325 "Deadlock in replication thread stops replication": · 932f63ac
      unknown authored
      in slave SQL thread: if a transaction fails because of InnoDB deadlock or innodb_lock_wait_timeout exceeded,
      optionally retry the transaction a certain number of times (new variable --slave_transaction_retries).
      
      
      sql/mysql_priv.h:
        new var slave_transaction_retries
      sql/mysqld.cc:
        new variable slave_transaction_retries. Plus fixing a typo.
      sql/set_var.cc:
        new global variable slave_transaction_retries (will be one per subslave, when we have multimaster).
      sql/slave.cc:
        Slave SQL thread: if a transaction fails because of InnoDB deadlock or innodb_lock_wait_timeout exceeded,
        optionally retry the transaction a certain number of times (--slave_transaction_retries).
      sql/slave.h:
        new RELAY_LOG_INFO::trans_retries.
      932f63ac
  4. 16 Dec, 2004 1 commit
    • unknown's avatar
      A change of behaviour of Seconds_Behind_Master from SHOW SLAVE STATUS. It's going into 4.1 · b3d56a7d
      unknown authored
      because old behaviour was somewhat nonsensical (kind of bug). Changes are that if repl threads are
      down or disconnected the column will be NULL, and if master is idle the column will not grow indefinitely anymore.
      
      
      sql/slave.cc:
        mi->slave_running and rli->slave_running now uints (was needed only for mi but because of start_slave_thread() usage,
        had to change both).
        So mi->slave_running can now take 3 values: not running, running & not connected, running and connected.
        The last value serves for calculation of Seconds_Behind_Master in SHOW SLAVE STATUS.
        Changing this column's behaviour: if SQL or I/O thread is not running, or if I/O thread is not connected
        (for example if it is reconnecting), it's NULL (to mean "unknown"). And if master is idle, the column will
        not grow indefinitely like it used to (that was meaningless); this is fixed by forcing a value of 0
        when the slave SQL thread has hit EOF of relay log (which has only a limited number of caveats explained
        in comments in code).
      sql/slave.h:
        slave_running used to be bool but we need to distinguish, for the I/O slave thread, between 
        "running & connected" and "running & not connected" ("running" means the thread exists).
      sql/sql_repl.cc:
        we don't need anymore to set rli->last_master_timestamp to 0 (we used that to make Seconds_Behind_Master
        be NULL) in RESET SLAVE and CHANGE MASTER, as these commands imply that slave threads are not running
        and so Seconds_Behind_Master is already NULL because of that.
      b3d56a7d
  5. 03 Dec, 2004 1 commit
    • unknown's avatar
      Due to a compiler bug, slave.cc:tables_ok() sometimes wrongly returns · e6f04fe7
      unknown authored
      1 if the return type is int or int_fast8_t.  The test case that showed
      this problem is rpl000001 and the tested version was MySQL 5.0.2.  The
      compiler with the problem is GCC 3.0.4 runing on "Linux bitch 2.4.18
      #2 Thu Apr 11 14:37:17 EDT 2002 sparc64 unknown".
      
      By changing the return type to bool the problem disappear.  (Another
      way to make the problem disappear is to simply print the returned
      value with printf("%d",?).  The printed returned value is always 0 in
      the test cases I have run.)  This is only a partial solution to the
      problem, since someone could later change the return type of the
      function back to int or some other type that does not work.
      
      
      sql/slave.cc:
        Changed type
      sql/slave.h:
        Changed type
      e6f04fe7
  6. 25 Nov, 2004 1 commit
    • unknown's avatar
      Fix for Bug#6148. Only rewind read position in binary log when the · 324b3a45
      unknown authored
      slave SQL thread is started.
      
      
      sql/slave.cc:
        Adding threads to init as parameter to init_master_info.
        Only rewind read position when starting SQL thread.
      sql/slave.h:
        Adding threads to init as parameter to init_master_info.
        Only rewind read position when starting SQL thread.
      sql/sql_repl.cc:
        Adding threads to init as parameter to init_master_info.
        Only rewind read position when starting SQL thread.
      sql/repl_failsafe.cc:
        Adding threads to init as parameter to init_master_info.
        Only rewind read position when starting SQL thread.
      324b3a45
  7. 17 Nov, 2004 1 commit
    • unknown's avatar
      Fixes for compilation errors in Windows (casts from uint32* to uint*) in repl and charset code. · cfc1b1dc
      unknown authored
      Moving the part of user_var.test using UCS2 to ctype_ucs.test
      
      
      mysql-test/r/ctype_ucs.result:
        result update
      mysql-test/r/user_var.result:
        result update
      mysql-test/t/ctype_ucs.test:
        importing test piece from user_var.test
      mysql-test/t/user_var.test:
        using UCS2 in this test fails on non-USC2-capable binaries, so let's move this piece to ctype_ucs.test.
      sql/slave.cc:
        changing arg type to uint32* (as what is used in this arg is &thd->db_length which is uint32*)
      sql/slave.h:
        changing arg type to uint32*
      sql/sql_parse.cc:
        changing arg types to uint32, as what is used in these args is a create_field::length which is uint32.
      cfc1b1dc
  8. 19 Oct, 2004 1 commit
    • unknown's avatar
      Optimization: in the replication slave, we can avoid doing one strlen() per event's execution, · 9aca45b3
      unknown authored
      as we already have db_len in Log_event. Only if rewrite_db() changed the db we need a strlen
      (so we now do the strlen() in rewrite_db). Plus a test (we had none for --replicate-rewrite-db :( ).
      
      
      sql/log_event.cc:
        The goal is to get of rid of one strlen() per replication event in slave:
        we don't need to compute strlen(thd->db) as we already have db_len in the event;
        only case where we need to do a strlen() is if rewrite_db() changed the db.
        Note that db_len is always a meaningful value. It's 0 if event's db is 0.
      sql/slave.cc:
        rewrite_db now returns the len of the returned db.
        print_slave_db_safe() needn't call rewrite_db() as rewrite_db() is already called by caller.
      sql/slave.h:
        declaration updates for slave.cc
      9aca45b3
  9. 09 Sep, 2004 1 commit
    • unknown's avatar
      Updating the headers on a few files to include GPL header. · ca4c39eb
      unknown authored
      sql/repl_failsafe.cc:
        Removed reference to old maintainer.
      sql/repl_failsafe.h:
        Added license header.
      sql/slave.h:
        Added license header.
      sql/sql_repl.cc:
        Removed old maintainer.
      sql/sql_repl.h:
        Added license header
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      ca4c39eb
  10. 28 Apr, 2004 1 commit
    • unknown's avatar
      A new option --replicate-same-server-id to force a slave to execute queries originating from itself · 078bda30
      unknown authored
      (WL#794). This can be of interest in some recovery-from-backup scenarios, and also when you have
      two databases in one mysqld, having a certain similarity and you want one db to be updated when the other is
      (some sort of trigger).
      Plus small fix for BUG#3568 "MySQL server crashes when built --with-debug and CHANGE MASTER +MASTER_POS_WAIT"
      
      
      sql/mysqld.cc:
        new option --replicate-same-server-id
      sql/slave.cc:
        new option replicate_same_server_id, to force a slave to execute its own queries.
        Small fix for BUG#3568 "MySQL server crashes when built --with-debug and CHANGE MASTER +MASTER_POS_WAIT"
      sql/slave.h:
        new option --replicate-same-server-id
      078bda30
  11. 27 Apr, 2004 1 commit
    • unknown's avatar
      After merge fixes · 6fdb9848
      unknown authored
      Changed 'SHOW FIELD STATUS' to use 'Engine' instead of 'Type'
      
      
      client/client_priv.h:
        Added option 'create_options' for mysqldump
      client/mysqldump.c:
        Changed '--all' to '--create-options' as the old name was meaningless
      innobase/buf/buf0buf.c:
        After merge fixes
      innobase/buf/buf0lru.c:
        After merge fixes
      innobase/buf/buf0rea.c:
        After merge fixes
      innobase/dict/dict0load.c:
        After merge fixes
      innobase/fil/fil0fil.c:
        After merge fixes
      innobase/ibuf/ibuf0ibuf.c:
        After merge fixes
      innobase/include/fil0fil.h:
        After merge fixes
      innobase/include/row0mysql.h:
        After merge fixes
      innobase/include/ut0mem.h:
        After merge fixes
      innobase/log/log0recv.c:
        After merge fixes
      innobase/row/row0mysql.c:
        After merge fixes
      innobase/row/row0sel.c:
        After merge fixes
      innobase/srv/srv0start.c:
        After merge fixes
      innobase/sync/sync0rw.c:
        After merge fixes
      innobase/sync/sync0sync.c:
        After merge fixes
      myisam/ft_boolean_search.c:
        After merge fixes
      myisam/ft_nlq_search.c:
        After merge fixes
      mysql-test/r/mysqldump.result:
        After merge fixes
      mysql-test/t/mysqldump.test:
        Make result file smaller
        Some new tests
      sql/ha_innodb.cc:
        After merge fixes
      sql/set_var.cc:
        Removed compiler warning
      sql/slave.cc:
        After merge fixes
      sql/slave.h:
        After merge fixes
      sql/sql_show.cc:
        Type -> Engine
      6fdb9848
  12. 06 Apr, 2004 1 commit
    • unknown's avatar
      This is a fix for a bug in 3.23 -> 4.0 replication: Exec_master_log_pos is always · 66bade03
      unknown authored
      too big by 6 bytes. So I add code to substract 6 bytes if the master is 3.23.
      This is not perfect (because it won't work if the slave I/O thread has not
      noticed yet that the master is 3.23), but as long as the slave I/O thread
      starts Exec_master_log_pos will be ok.
      It must be merged to 4.1 but not to 5.0 (or it can be, because of #if MYSQL_VERSION_ID),
      because 5.0 already works if the master is 3.23 (and in a more natural way:
      in 5.0 we store the end_log_pos in the binlog and relay log).
      I had to move functions from slave.h to slave.cc to satisfy gcc.
      
      
      sql/log_event.cc:
        make the event's length 6 bytes shorter if the master is 3.23
      sql/slave.cc:
        Moving several st_relay_log_info methods out of the declaration of the struct,
        because gcc complained that 'mi' was not declared.
        Substracting 6 bytes from the event's length in inc_pos() if the master is 3.23.
      sql/slave.h:
        moving several methods out of the declaration of st_relay_log_info.
        Removing 'inline', let's have the compiler decide.
      66bade03
  13. 17 Mar, 2004 1 commit
  14. 11 Mar, 2004 1 commit
    • unknown's avatar
      Fix for BUG#2921 "Replication problem on mutex lock in mySQL-4.0.18": · 92fe7556
      unknown authored
      re-using unused LOCK_active_mi to serialize all administrative
      commands related to replication:
      START SLAVE, STOP SLAVE, RESET SLAVE, CHANGE MASTER, init_slave()
      (replication autostart at server startup), end_slave() (replication
      autostop at server shutdown), LOAD DATA FROM MASTER.
      This protects us against a handful of deadlocks (like BUG#2921
      when two START SLAVE, but when two STOP SLAVE too).
      Removing unused variables.
      
      
      sql/item_func.cc:
        We don't need LOCK_active_mi just to MASTER_POS_WAIT().
      sql/repl_failsafe.cc:
        no need for macro
      sql/set_var.cc:
        no need for macro
      sql/slave.cc:
        Re-using unused LOCK_active_mi to serialize all administrative
        commands related to replication:
        START SLAVE, STOP SLAVE, RESET SLAVE, CHANGE MASTER, init_slave()
        (replication autostart at server startup), end_slave() (replication
        autostop at server shutdown), LOAD DATA FROM MASTER.
        This protects us against a handful of deadlocks.
        Removing unused variables.
      sql/slave.h:
        Re-using LOCK_active_mi to serialize administrative replication commands.
        Macros unneeded. Removing unneeded variables.
      sql/sql_parse.cc:
        found unused variable.
        Replacing macros.
      sql/sql_show.cc:
        replacing macros
      92fe7556
  15. 10 Mar, 2004 3 commits
    • unknown's avatar
      Backporting parts of · fc192448
      unknown authored
      ChangeSet 1.1620.12.1 and ChangeSet 1.1625.2.1
      from 4.1. This makes the slave I/O thread flush the relay log 
      after every event, which provides additional safety in case
      of brutal crash (reduces chances to lose a part of the relay log).
      
      
      sql/repl_failsafe.cc:
        update for new prototype
      sql/slave.cc:
        The slave I/O thread now flushes the relay log after writing
        every event to it, like we already do in 4.1.
      sql/slave.h:
        new prototype
      sql/sql_repl.cc:
        update for new prototype
      fc192448
    • unknown's avatar
      Undoing 2 parts of changeset 1.1730.1.1 : · 3768f9ef
      unknown authored
      - the one about BUG#2921
      - the one about relay log flushing
      Both will be rewritten in a next changeset
      (this one will not be pushed before the next changeset).
      
      
      sql/log.cc:
        undo
      sql/log_event.cc:
        undo
      sql/repl_failsafe.cc:
        undo
      sql/slave.cc:
        undo
      sql/slave.h:
        undo
      sql/sql_repl.cc:
        undo
      3768f9ef
    • unknown's avatar
      Fixed memory leak in DROP DATABASE when using RAID tables (Bug #2882) · 98cd9f93
      unknown authored
      BUILD/compile-pentium-debug-max:
        Added --with-raid
      configure.in:
        Removed -DFN_NO_CASE_SENCE for Mac OS X as this is not always true
      mysql-test/install_test_db.sh:
        Added --skip-warnings
      mysql-test/mysql-test-run.sh:
        Fixes to get --gdb and --ddd to work
      mysql-test/r/lowercase_table2.result:
        Test for lower_case_table_names=2 and temporary tables
      mysql-test/r/lowercase_table3.result:
        Fixed error message
      mysql-test/r/multi_update.result:
        Test of behaviour of multi-table-delete and alias
      mysql-test/t/lowercase_table2.test:
        Test for lower_case_table_names=2 and temporary tables
      mysql-test/t/lowercase_table3.test:
        Fixed error
      mysql-test/t/multi_update.test:
        Test of behaviour of multi-table-delete and alias (Bug #2940)
      mysys/mf_iocache.c:
        Renamed _flush_io_cache to my_b_flush_io_cache
      sql/ha_myisam.cc:
        Added comment
      sql/lock.cc:
        Extra debugging
      sql/log.cc:
        New parameter to flush_relay_log_info
      sql/log_event.cc:
        New parameter to flush_relay_log_info
      sql/mf_iocache.cc:
        Removed not used header files
      sql/mysqld.cc:
        More debugging info
        Less warnings when run with --skip-warnings
      sql/opt_range.cc:
        More debug information
      sql/repl_failsafe.cc:
        New parameter to flush_relay_log_info
      sql/slave.cc:
        First start SQL thread, then start IO thread. This fixed a raze condition in SLAVE START (Bug #2921)
        Ensure that we have a lock on the IO thread before flushing a relay log file that. The original code could core dump when a relay log rotated.
      sql/slave.h:
        New parameter to flush_relay_log_info
      sql/sql_base.cc:
        Added warning
      sql/sql_handler.cc:
        Indentation fix
      sql/sql_repl.cc:
        New parameter to flush_relay_log_info
      sql/sql_select.cc:
        Fixed problem with deleting temporary tables when using lower_case_table_names=2. (Bug #2858)
      sql/sql_table.cc:
        Fixed comment
      sql/sql_yacc.yy:
        Removed compiler warning
      include/my_sys.h:
        Fixed usage of unpack_filename
      mysys/mf_pack.c:
        Changed unpack_filename() to return length of result string.
      mysys/test_fn.c:
        Fixed usage of unpack_filename
      sql/sql_db.cc:
        Fixed memory leak with raid tables
      sql/table.cc:
        Fixed usage of unpack_filename
      98cd9f93
  16. 01 Mar, 2004 1 commit
    • unknown's avatar
      Fix for BUG#3015 · 26ed1df0
      unknown authored
      "(binlog, position) stored by InnoDB for a replication slave can be wrong".
      This code contains conditional #if to distinguish between versions;
      it should be merged into 4.1 and 5.0.
      
      
      sql/ha_innodb.cc:
        correcting the binlog position stored in InnoDB in a slave.
      sql/log_event.cc:
        better code to store the binlog position in InnoDB for a slave.
      sql/slave.h:
        Better code for storing the binlog position in InnoDB for a slave.
      26ed1df0
  17. 26 Dec, 2003 1 commit
    • unknown's avatar
      Fixed bug in table level privilege GRANT handling. (Bug #2178) · 2228fc73
      unknown authored
      Portability fixes
      
      
      mysql-test/r/rpl_until.result:
        Portability fix
      mysql-test/t/rpl_until.test:
        Portability fix
      sql/slave.cc:
        Write UNTIL position to logs (for debugging)
      sql/slave.h:
        Write UNTIL position to logs (for debugging)
      sql/sql_acl.cc:
        Fixed bug in table level privilege GRANT handling. (Bug #2178)
      2228fc73
  18. 23 Nov, 2003 1 commit
    • unknown's avatar
      Replication: · ed39d48c
      unknown authored
      Now the I/O thread (in flush_master_info()) flushes the relay log to disk
      after reading every event. Slower but provides additionnal safety in case
      of brutal crash.
      I had to make the flush optional (i.e. add a if(some_bool_argument) in the function)
      because sometimes flush_master_info() is called when there is no usable
      relay log (the relay log's IO_CACHE is not initialized so can't be flushed).
      
      
      mysql-test/r/rpl_loaddata_rule_m.result:
        avoid a harmless error in the .err file; we don't need a slave in this test
        (even though it's called 'rpl' because it's testing binlog-ignore-db).
      mysql-test/t/rpl_loaddata_rule_m.test:
        result update
      sql/repl_failsafe.cc:
        update call to flush_master_info() according to new prototype.
      sql/slave.cc:
        - Now the I/O thread (in flush_master_info()) flushes the relay log to disk
        after reading every event. Slower but provides additionnal safety in case
        of brutal crash.
        I had to make the flush optional (i.e. add a if(some_bool_argument) in the function)
        because sometimes flush_master_info() is called when there is no usable
        relay log (the relay log's IO_CACHE is not initialized so can't be flushed).
        - Update version in message.
        - Remove warning about bug as it's not true anymore (since this changeset).
      sql/slave.h:
        new prototype
      sql/sql_repl.cc:
        update call to flush_master_info() according to new prototype.
      ed39d48c
  19. 02 Nov, 2003 1 commit
  20. 31 Oct, 2003 1 commit
    • unknown's avatar
      4 small items in this: · d1571e50
      unknown authored
      - when we don't have in_addr_t, use uint32.
      - a forgotten initialization of slave_proxy_id in sql/log_event.cc (was not really "forgot", was
      "we needn't init it there", but there was one case where we needed...).
      - made slave_proxy_id always meaningful in THD and Log_event, so we can
      rely more on it (no need to test if it's meaningful). THD::slave_proxy_id
      is equal to THD::thread_id except for the slave SQL thread.
      - clean up the slave's temporary table (i.e. free their memory) when slave
      server shuts down.
      
      
      extra/resolveip.c:
        removed #define as it is simpler to put it in my_net.h
        (because we need the #define elsewhere)
      include/my_net.h:
        When in_addr_t is not defined, use uint32.
      libmysql/libmysql.c:
        using in_addr_t is more generic.
      libmysql/manager.c:
        using in_addr_t is more generic.
      mysql-test/t/rpl_chain_temp_table.test:
        comments
      sql/log_event.cc:
        * Had forgot to initialize slave_proxy_id in the event constructor (char* buf...).
        Initializing is in fact only needed for Create_file_log_event, because
        it uses slave_proxy_id even if it does not write an event to the binlog
        (it uses slave_proxy_id to write it to SQL-LOAD.info).
        * When we write events we now always write slave_proxy_id, which is now always
        meaningful (as thd->slave_proxy_id is now always meaningful, see change in
        sql_class.cc).
      sql/mini_client.cc:
        in_addr_t is more generic.
      sql/slave.cc:
        A RELAY_LOG_INFO method to free the slave's temporary tables from memory
        at slave's server shutdown.
        It is called by end_slave(), which is called by close_connections(),
        which is called when the server terminates
        (close_connections() is just before clean_up(); putting the call in 
        clean_up() was buggy, as active_mi is already deleted by close_connections().
      sql/slave.h:
        new method
      sql/sql_class.cc:
        By default we set THD::slave_proxy_id to THD::thread_id,
        so THD::slave_proxy_id is always meaningful (not 0).
        It's always the same as the thread id except for the slave
        SQL thread.
      d1571e50
  21. 08 Oct, 2003 1 commit
    • unknown's avatar
      Final push for WL#1098: · 52d4f219
      unknown authored
      "Add a column "Timestamp_of_last_master_event_executed" in SHOW SLAVE STATUS".
      Finally this is adding
      - Slave_IO_State (a copy of the State column of SHOW PROCESSLIST for the I/O thread,
      so that the users, most of the time, has enough info with only SHOW SLAVE STATUS).
      - Seconds_behind_master. When the slave connects to the master it does SELECT UNIX_TIMESTAMP()
      on the master, computes the absolute difference between the master's and the slave's clock.
      It records the timestamp of the last event executed by the SQL thread, and does a
      small computation to find the number of seconds by which the slave is late.
      
      
      mysql-test/r/rpl000015.result:
        result update
      mysql-test/r/rpl_empty_master_crash.result:
        result update
      mysql-test/r/rpl_error_ignored_table.result:
        result update
      mysql-test/r/rpl_flush_log_loop.result:
        result update
      mysql-test/r/rpl_loaddata.result:
        result update
      mysql-test/r/rpl_log.result:
        result update
      mysql-test/r/rpl_log_pos.result:
        result update
      mysql-test/r/rpl_max_relay_size.result:
        result update
      mysql-test/r/rpl_redirect.result:
        result update
      mysql-test/r/rpl_replicate_do.result:
        result update
      mysql-test/r/rpl_reset_slave.result:
        result update
      mysql-test/r/rpl_rotate_logs.result:
        result update
      mysql-test/r/rpl_trunc_binlog.result:
        result update
      mysql-test/r/rpl_until.result:
        result update
      mysql-test/t/rpl000015.test:
        update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
      mysql-test/t/rpl_empty_master_crash.test:
        update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
      mysql-test/t/rpl_error_ignored_table.test:
        update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
      mysql-test/t/rpl_flush_log_loop.test:
        update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
      mysql-test/t/rpl_loaddata.test:
        update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
      mysql-test/t/rpl_log.test:
        update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
      mysql-test/t/rpl_log_pos.test:
        update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
      mysql-test/t/rpl_max_relay_size.test:
        update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
      mysql-test/t/rpl_openssl.test:
        update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
      mysql-test/t/rpl_redirect.test:
        update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
      mysql-test/t/rpl_replicate_do.test:
        update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
      mysql-test/t/rpl_reset_slave.test:
        update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
      mysql-test/t/rpl_rotate_logs.test:
        update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
      mysql-test/t/rpl_trunc_binlog.test:
        update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
      mysql-test/t/rpl_until.test:
        update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
      sql/log_event.cc:
        when the SQL thread executes an event, we record its timestamp
      sql/slave.cc:
        in check_master_version() we know read the master's clock, to know the clock difference
        with the slave.
        In show_master_info() we send the state of the I/O thread, and compute the number of
        seconds by which the slave is late.
      sql/slave.h:
        timestamp of the last master's event executed by the SQL thread,
        and difference between the clocks of the master and slave.
      sql/sql_repl.cc:
        clear the Seconds_behind_master column of SHOW SLAVE STATUS when RESET SLAVE or CHANGE MASTER.
      52d4f219
  22. 02 Oct, 2003 1 commit
  23. 01 Oct, 2003 1 commit
  24. 13 Sep, 2003 1 commit
    • unknown's avatar
      Implemented support for START SLAVE UNTIL (WL#868) · df7707c3
      unknown authored
      include/mysqld_error.h:
        Added error codes for warnings and error messages for START SLAVE UNTIL
      mysql-test/r/rpl000015.result:
        Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
      mysql-test/r/rpl_empty_master_crash.result:
        Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
      mysql-test/r/rpl_flush_log_loop.result:
        Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
      mysql-test/r/rpl_log.result:
        Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
      mysql-test/r/rpl_log_pos.result:
        Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
      mysql-test/r/rpl_redirect.result:
        Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
      mysql-test/r/rpl_replicate_do.result:
        Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
      mysql-test/r/rpl_rotate_logs.result:
        Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
      sql/lex.h:
        Added UNTIL symbol
      sql/log.cc:
        Invalidating until_log_name comparison result if group_relay_log_name is changed
      sql/log_event.cc:
        Invalidating until_log_name comparison result if group_master_log_name is changed
      sql/repl_failsafe.cc:
        Cancel until condition if LOAD MASTER DATA is executed
      sql/share/czech/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/danish/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/dutch/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/english/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/estonian/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/french/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/german/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/greek/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/hungarian/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/italian/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/japanese/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/korean/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/norwegian-ny/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/norwegian/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/polish/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/portuguese/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/romanian/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/russian/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/serbian/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/slovak/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/spanish/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/swedish/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/share/ukrainian/errmsg.txt:
        Added error and warning message for START SLAVE UNTIL
      sql/slave.cc:
        Fixed wrong locking order in init_relay_log_pos()
        Added until condition fields to SHOW SLAVE STATUS
        Added checking if UNTIL condition is reached 
        (added proper method, added its invocation, reorganized locking 
        in exec_relay_log_event() and next_event())
      sql/slave.h:
        Members in RELAY_LOG_INFO for storing UNTIL condition. Also 
        methods for for invalidation of cached UNTIL condition comparison
        results
      sql/sql_repl.cc:
        Now honoring UNTIL clause then starting slave thread. Proper 
        errors and warnings.
      sql/sql_yacc.yy:
        Added support for UNTIL clause in START SLAVE. This involved 
        extraction of some of master_defs to separate master_file_def
        non-terminal.
      df7707c3
  25. 11 Sep, 2003 1 commit
    • unknown's avatar
      * Fix for BUG#1248: "LOAD DATA FROM MASTER drops the slave's db unexpectedly". · 44481832
      unknown authored
      Now LOAD DATA FROM MASTER does not drop the database, instead it only tries to
      create it, and drops/creates table-by-table.
      * replicate_wild_ignore_table='db1.%' is now considered as "ignore the 'db1'
      database as a whole", as it already works for CREATE DATABASE and DROP DATABASE.
      
      
      mysql-test/r/rpl000009.result:
        result update
      mysql-test/t/rpl000009.test:
        test that LOAD DATA FROM MASTER does not drop databases,
        but rather table by table, thus preserving non-replicated tables.
        Test that LOAD DATA FROM MASTER reports the error when a table could not
        be dropped (system's "permission denied" for example).
        Test that LOAD TABLE FROM MASTER reports the error when the table already exists.
      sql/repl_failsafe.cc:
        * replicate_wild_ignore_table='db1.%' is now considered as "ignore the 'db1'
        database as a whole", as it already works for CREATE DATABASE and DROP DATABASE.
        * If a db matches replicate_*_db rules, we don't drop/recreate it because this
        could drop some tables in this db which could be slave-specific. Instead,
        we do a CREATE DATABASE IF EXISTS, and we will drop each table which has
        an equivalent on the master, table-by-table.
      sql/slave.cc:
        New argument to drop the table in create_table_from_dump() 
        (LOAD TABLE/DATA FROM MASTER are the only places where this function is used).
        This is needed because LOAD DATA FROM MASTER does not drop the database anymore.
        The behaviour when the table exists is unchanged: LOAD DATA silently replaces
        the table, LOAD TABLE gives error.
      sql/slave.h:
        new argument to drop the table in fetch_master_table
      sql/sql_parse.cc:
        do not drop the table in LOAD TABLE FROM MASTER (this behaviour is already
        true; but changes in LOAD DATA FROM MASTER made the argument needed).
      44481832
  26. 01 Sep, 2003 1 commit
    • unknown's avatar
      Implemented replication over SSL · 41a38d47
      unknown authored
       Added proper options to CHANGE MASTER TO, new fields to SHOW SLAVE STATUS,
       Honoring this parameters during connection to master.
       Introduced new format of master.info file
      
      
      include/mysqld_error.h:
        Added error code for "slave without SSL ignored SSL params warning"
      mysql-test/Makefile.am:
        Copy files required for rpl_openssl test during the make process
      mysql-test/r/rpl000015.result:
        Added fields to SHOW SLAVE STATUS for replication over SSL
      mysql-test/r/rpl_empty_master_crash.result:
        Added fields to SHOW SLAVE STATUS for replication over SSL
      mysql-test/r/rpl_flush_log_loop.result:
        Added fields to SHOW SLAVE STATUS for replication over SSL
      mysql-test/r/rpl_log.result:
        Added fields to SHOW SLAVE STATUS for replication over SSL
      mysql-test/r/rpl_log_pos.result:
        Added fields to SHOW SLAVE STATUS for replication over SSL
      mysql-test/r/rpl_redirect.result:
        Added fields to SHOW SLAVE STATUS for replication over SSL
      mysql-test/r/rpl_replicate_do.result:
        Added fields to SHOW SLAVE STATUS for replication over SSL
      mysql-test/r/rpl_rotate_logs.result:
        Added fields to SHOW SLAVE STATUS for replication over SSL
      sql/lex.h:
        Added MASTER_SSL lexems for CHANGE MASTER
      sql/mysqld.cc:
        Added --master-ssl-ca parameter. Fixed description of other master-ssl parameters
      sql/repl_failsafe.cc:
        Added SSL support to connect_to_master()
      sql/share/czech/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/danish/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/dutch/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/english/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/estonian/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/french/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/german/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/greek/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/hungarian/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/italian/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/japanese/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/korean/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/norwegian-ny/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/norwegian/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/polish/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/portuguese/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/romanian/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/russian/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/serbian/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/slovak/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/spanish/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/swedish/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/share/ukrainian/errmsg.txt:
        Added "slave without SSL ignored SSL params" warning
      sql/slave.cc:
        Introduced new format of master.info file
        Added support of SSL params in master.info and SHOW SLAVE STATUS
        Added support of SSL connections
      sql/slave.h:
        Added SSL parameters to MASTER_INFO
      sql/sql_lex.h:
        Added SSL parameters for CHANGE MASTER TO
      sql/sql_repl.cc:
        Added SSL parameters for CHANGE MASTER TO
      sql/sql_yacc.yy:
        Added SSL parameters for CHANGE MASTER TO
      41a38d47
  27. 25 Aug, 2003 1 commit
    • unknown's avatar
      comments about mutexes in replication. · 2dc7a5ba
      unknown authored
      Don't start the SQL slave thread with SQL_BIG_SELECTS;
      it's better to inhibate max_join_size instead.
      
      
      sql/slave.cc:
        OPTION_BIG_SELECTS does more than ignoring max_join_size (talks to the optimiser),
        just ignore max_join_size.
      sql/slave.h:
        comments
      2dc7a5ba
  28. 07 Aug, 2003 1 commit
    • unknown's avatar
      Review of changesets since last pull. · 9250d778
      unknown authored
      (Mostly code cleanups)
      
      
      include/my_sys.h:
        Removed not used define
      myisam/mi_check.c:
        Indentation change
      mysql-test/t/rpl_insert_id.test:
        Add test if server supports innodb
      mysys/mf_format.c:
        Remove QUOTE handling from fn_format()
        (fn_format() should not have anything to do with quoting things)
      sql/log_event.cc:
        Removed some unnecessary casts (by changing functions to use const char *)
        Cleaned up some error messages to make them shorter and (hopefully) more readable.
        Fixed wrong format strings
        Restored 'thd->options' on error.
      sql/mini_client.cc:
        Changed order of include files to remove compilation warning
      sql/mysqld.cc:
        Add proper quoting of service arguments (don't use fn_format)
      sql/slave.cc:
        Simple optimization and cleanup.
        Changed rewrite_db() and print_slave_db_safe() to use const char* to avoid casting of arguments when calling functions.
        Cleanup of some error messages.
      sql/slave.h:
        Changed protypes to use const char *
      sql/sql_acl.cc:
        Simple optimization
      vio/viosslfactories.c:
        Changed order of include files to remove compilation warning
      9250d778
  29. 04 Aug, 2003 1 commit
    • unknown's avatar
      2 bugfixes: · 97c49825
      unknown authored
      - Bug #985: "Between RESET SLAVE and START SLAVE, SHOW SLAVE STATUS is wrong."
      Now RESET SLAVE puts correct info in mi->host etc. A new test rpl_reset_slave
      for that.
      - Bug #986: "CHANGE MASTER & START SLAVE do not reset error columns in SHOW
      SLAVE STATUS". Now these reset the errors.
      
      
      mysql-test/r/rpl_loaddata.result:
        result update.
      mysql-test/t/rpl_loaddata.test:
        Test that RESET SLAVE, START SLAVE and CHANGE MASTER all reset 
        Last_slave_error and Last_slave_errno (columns of SHOW SLAVE STATUS).
        We do it in this test because that's one of tests which have 
        an intentional query error on the slave.
      sql/slave.cc:
        As we need TWICE the code to copy command-line options (--master-host etc)
        to mi (we already had it in init_master_info, but we also need it in RESET
        SLAVE to fix bug#985), I make a function of this code.
        And a function to reset Last_slave_error and Last_slave_errno (we need
        it in CHANGE MASTER, RESET SLAVE, and at the start of the SQL thread).
      sql/slave.h:
        declarations for new functions.
      sql/sql_repl.cc:
        copy --master-host etc to mi in RESET SLAVE, so that SHOW SLAVE STATUS
        shows correct information.
      97c49825
  30. 24 Jul, 2003 1 commit
    • unknown's avatar
      WL#1036 (print the db in slave error messages). · adedde52
      unknown authored
      I extended the task to cleaning error messages, making them look nicer,
      and making the output of SHOW SLAVE STATUS (column Last_error) be as complete
      as what's printed on the .err file;
      previously we would have, for a failure of a replicated LOAD DATA INFILE:
      - in the .err, 2 lines:
      "duplicate entry 2708 for key 1"
      "failed loading SQL_LOAD-5-2-2.info"
      - and in SHOW SLAVE STATUS, only:
      "failed loading SQL_LOAD-5-2-2.info".
      Now SHOW SLAVE STATUS will contain the concatenation of the 2 messages.
      
      
      sql/log_event.cc:
        Print the default database when replication stops because of an error. Previously, we had:
        "error "Duplicate entry 87987 for key 1", query 'insert into t values(87987)'", ie the db
        was not mentioned, making it hard for cases where the same table name is used in
        several databases.
        Lengthened some error messages (for failing replication of LOAD DATA: mention the table
        and the db).
        Changes so that SHOW SLAVE STATUS reports as complete errors as the .err file.
      sql/slave.cc:
        Removed a useless declaration (the rewrite_db() function is already declared in slave.h).
        Added missing ')' in error messages.
        Tried to make error messages look nicer (previously we had
        "do START SLAVE;, error_code=1062"
        now we'll have
        "do START SLAVE; . Error_code=1062".
        This form has been discussed, I agree it's no panacea, but it's still more readable
        like this. To be improved in the future :)
      sql/slave.h:
        declarations.
      adedde52
  31. 23 Jul, 2003 1 commit
    • unknown's avatar
      On Feb 4th, 2003, Monty said he would push my patch to print replicate-do-table · 184db002
      unknown authored
      and other replicate-*-table options in SHOW SLAVE STATUS.
      Seems like it had not been done, so I push it now:
      there's 4 new columns to SHOW SLAVE STATUS.
      
      
      mysql-test/r/rpl000015.result:
        Result update (more columns)
      mysql-test/r/rpl_empty_master_crash.result:
        Result update (more columns)
      mysql-test/r/rpl_flush_log_loop.result:
        Result update (more columns)
      mysql-test/r/rpl_log.result:
        Result update (more columns)
      mysql-test/r/rpl_log_pos.result:
        Result update (more columns)
      mysql-test/r/rpl_redirect.result:
        Result update (more columns)
      mysql-test/r/rpl_replicate_do.result:
        Result update (more columns)
      mysql-test/r/rpl_rotate_logs.result:
        Result update (more columns)
      mysql-test/t/rpl_replicate_do.test:
        Result update (more columns)
      sql/slave.cc:
        Print replicate_*_table options in SHOW SLAVE STATUS
      sql/slave.h:
        two functions to make a string of replicate_*_table lists.
      184db002
  32. 06 Jul, 2003 1 commit
    • unknown's avatar
      WL#912 (more user control on relay logs): · c22f493a
      unknown authored
      FLUSH LOGS now rotates relay logs,
      and a new variable max_relay_log_size.
      Plus a very small bit of code cleaning.
      
      
      libmysqld/lib_sql.cc:
        open_log has no default arguments anymore.
      mysql-test/r/rpl_flush_log_loop.result:
        result update now that FLUSH LOGS rotates relay logs.
      mysql-test/r/rpl_log.result:
        result update now that FLUSH LOGS rotates relay logs.
      mysql-test/r/rpl_rotate_logs.result:
        result update now that max_binlog_size is 4096.
      mysql-test/t/rpl_rotate_logs-master.opt:
        now max_binlog_size must be a multiple of 4096 (see change in mysqld.cc)
      sql/log.cc:
        Got rid of default arguments of various MYSQL_LOG methods (the default arguments
        made code reading uneasy).
        Set max_size in ::init().
        New function set_max_size() to set max_size of a MYSQL_LOG on-the-fly.
        More DBUG info.
      sql/mysql_priv.h:
        no defaults in open_log().
        New variables max_relay_log_size.
      sql/mysqld.cc:
        New variable and option max_relay_log_size.
        max_binlog_size and max_relay_log_size are multiples of IO_SIZE.
        No more default arguments for log functions.
      sql/set_var.cc:
        New variable max_relay_log_size.
        If it is 0, then max_binlog_size will apply to relay logs.
        When one of these variables is changed, fix_max_%log_size is called
        to update max_size of the binary and/or relay logs.
      sql/slave.cc:
        New function rotate_relay_log().
      sql/slave.h:
        New function rotate_relay_log().
      sql/sql_class.h:
        New member max_size of MYSQL_LOG (for automatic rotation).
        New method set_max_size() for setting on-the-fly.
      sql/sql_parse.cc:
        Flush the relay log in FLUSH LOGS.
      c22f493a
  33. 04 Jul, 2003 1 commit
    • unknown's avatar
      Status query on killed mysql connection results in segmentation fault (Bug #738) · b1e42705
      unknown authored
      Added MAX_PASSWORD_LENGTH. This increased master-slave passwords to 32 bytes (Bug #766)
      Fixed server crash on purge master logs or show master logs when binlog is off. (Bug #733)
      
      
      client/mysql.cc:
        status query on killed mysql connection results in segmentation fault (Bug #738)
      configure.in:
        Portability fix for Unixware
      include/my_global.h:
        Removed wrong patch from previous changeset
      sql/mysql_priv.h:
        Added MAX_PASSWORD_LENGTH. This increased master-slave passwords to 32 bytes
      sql/slave.h:
        Optimized structure
      sql/sql_repl.cc:
        Memory overrun safety fixes (not critical)
        Fixed server crash on purge master logs or show master logs when binlog is off. (Bug #733)
      sql/sql_repl.h:
        Fixed to use right define
      strings/strmake.c:
        Fixed comment
      b1e42705
  34. 02 Jul, 2003 1 commit
  35. 01 Jul, 2003 1 commit
    • unknown's avatar
      First version of new authentification procedure: now authentification is... · 2b0a481c
      unknown authored
      First version of new authentification procedure: now authentification is one-stage (instead of two-stage in 4.1)
      
      For now following tasks have been done:
      - PASSWORD() function was rewritten. PASSWORD() now returns SHA1
        hash_stage2; for new passwords user.password contains '*'hash_stage2; sql_yacc.yy also fixed; 
      
      - password.c: new functions were implemented, old rolled back to 4.0 state
      
      - server code was rewritten to use new authorization algorithm (check_user(), change
        user, and other stuff in sql/sql_parse.cc)
      
      - client code was rewritten to use new authorization algorithm
        (mysql_real_connect, myslq_authenticate in sql-common/client.c)
      
      - now server barks on 45-byte-length 4.1.0 passwords and refuses 4.1.0-style
        authentification. Users with 4.1.0 passwords are blocked (sql/sql_acl.cc)
      
      - mysqladmin.c was fixed to work correctly with new passwords
      
      Tests for 4.0-4.1.1, 4.1.1-4.1.1 (with or without db/password) logons was performed;
      mysqladmin also was tested. Additional check are nevertheless necessary.
      
      
      BitKeeper/etc/ignore:
        Added start_mysqld.sh mysys/main.cc to the ignore list
      client/mysqladmin.c:
        fixed with new password api
      include/mysql.h:
        So as scramble_323 accepts only null-terminated message, two scramble buffs are necessary.
        gotta be fixed
      include/mysql_com.h:
        new constants and password.c api changes
      libmysql/libmysql.c:
        mysql_change_user rewritten to work with new password api
      scripts/mysql_create_system_tables.sh:
        fixed 'Password' column length to 41
      scripts/mysql_fix_privilege_tables.sql:
        fixed 'Password' column length to 41
      sql-common/client.c:
        mysql_real_connect rewritten to support new handshake procedure
      sql/item_strfunc.cc:
        Item_func_password and Item_func_old_password rewritten with new password api
      sql/item_strfunc.h:
        bit commented, numbers replaced with #defined constants
      sql/mysql_priv.h:
        removed unnecessary declaration as now all constants defined is in mysql_com.h
      sql/mysqld.cc:
        scramble initialization moved to sql_parce.cc:check_connection
      sql/password.c:
        All 4.1 functions were rolled back to 4.0 with attempt to save all possible 4.0-4.1 changes.
        Names for 4.0 functions were suffixed with '_323'
        Functions for new handshake were added.
      sql/slave.cc:
        Fixed to new constant; Bug #766 remains to be fixed
      sql/slave.h:
        fixed to new constant; Buf #766 remains to be fixed
      sql/sql_acl.cc:
        rewritten to support new passwords (41 byte-long) and password api
      sql/sql_acl.h:
        ditto
      sql/sql_class.cc:
        initialization for new members added
      sql/sql_class.h:
        same thing as in struct mysql - scramble is used for new family of functions, scramble_323 - for old
      sql/sql_parse.cc:
        check_connections was renamed to check_connection as this name reflects better what this function does
        authorization part of check_connection was rewritten
        check_user was rewritten with new password and acl api
        new function 'authenticate', which optionally re-request scramble from client was added
        fixed some typos
        COM_CHANGE_USER piece of dipsatch_command() was rewritten
      sql/sql_repl.h:
        HASH_PASSWORD_LENGTH replaced with SCRAMBLED_PASSWORD_CHAR_LENGTH
        bug #766 remains
      sql/sql_yacc.yy:
        Two-argument form of PASSWORD() was removed
        PASSWORD() function was fixed with new password api.
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      2b0a481c
  36. 12 Jun, 2003 1 commit
    • unknown's avatar
      See each file's changeset for details. · 817c329e
      unknown authored
      - Comments for future devs.
      - Start_log_event::exec_event() : when we hit it, do a rollback.
      - We don't need LOG_EVENT_FORCED_ROTATE_F.
      - Stop_log_event::exec_event() : when we hit it, we needn't clean anything.
      - Removed LOG_EVENT_TIME_F and LOG_EVENT_FORCED_ROTATE_F.
      - We don't need Stop events in the relay log.
      - Now filtering of server id is done in the I/O thread first.
      
      
      sql/log.cc:
        We don't need LOG_EVENT_FORCED_ROTATE_F
      sql/log_event.cc:
        - Comments for future devs.
        - Start_log_event::exec_event() : when we hit it, do a rollback. If the SQL
        thread was inside a transaction (for example, the master died while writing
        to the binlog, so did not commit (because we write to the binlog before committing),
        so will rollback), it's sensible to rollback. If we're not in a transaction,
        rollback will not hurt (it will do nothing).
        - We don't need LOG_EVENT_FORCED_ROTATE_F.
        - Stop_log_event::exec_event() : when we hit it, we needn't clean anything, because
        each threads has already written some cleaning statements (DROP TEMPORARY TABLE,
        DO RELEASE_LOCK); we still clean in Start_log_event::exec_event() (if 4.x).
      sql/log_event.h:
        - Comments for future devs.
        - Removed LOG_EVENT_TIME_F and LOG_EVENT_FORCED_ROTATE_F.
      sql/slave.cc:
        - We don't need Stop events in the relay log (see changeset's description about
        log_event.cc). So we can make event queuing (writing to the relay log) simpler.
        - Something that was marked TODO: now filtering of server id (if the server id
        of this event is the same as mine ignore it) is done in the I/O thread if
        the master is 4.x (it still also done in the SQL thread whatever the version of
        the master is, for safe upgrades). This saves disk space.
      sql/slave.h:
        We don't need master_info.ignore_stop_event anymore, as we don't write Stop_event
        to the relay log anymore.
      817c329e
  37. 06 Jun, 2003 1 commit
    • unknown's avatar
      Fix for bug 254 : · 720138b6
      unknown authored
      we now make a distinction between if the master is < 3.23.57, 3.23 && >=57, and 4.x
      (before the 2 3.23 were one). This is because in 3.23.57 we have a way to distinguish between
      a Start_log_event written at server startup and one written at FLUSH LOGS, so we
      have a way to know if the slave must drop old temp tables or not.
      Change: mi->old_format was bool, now it's enum (to handle 3 cases). However, functions
      which had 'bool old_format' as an argument have their prototypes unchanged, because
      the old old_format == 0 now corresponds to the enum value BINLOG_FORMAT_CURRENT which
      is equal to 0, so boolean tests are left untouched. The only case were we use mi->old_format
      as an enum instead of casting it implicitly to a bool, is in Start_log_event::exec_event,
      where we want to distinguish between the 3 possible enum values.
      
      
      sql/log_event.cc:
        Fix for bug 254 :
        we now make a distinction between if the master is < 3.23.57, 3.23 && >=57, and 4.x
        (before the 2 3.23 were one), to know if the slave must drop old temp tables or not.
      sql/slave.cc:
        Fix for bug 254 : mi->old_format is now enum.
        An unrelated comment.
      sql/slave.h:
        fix for bug 254 : mi->old_format is now enum.
      720138b6
  38. 04 Jun, 2003 1 commit