1. 10 Nov, 2007 1 commit
    • unknown's avatar
      Adding build scripts for Solaris 10 on AMD64. · 3f4a2d10
      unknown authored
      
      BUILD/compile-solaris-amd64:
        Changing build script to be in line with the other build scripts
        using GCC.
      BUILD/compile-solaris-amd64-debug:
        Adding build script for Solaris 10 on AMD64.
      BUILD/compile-solaris-amd64-forte-debug:
        Adding build script for Solaris 10 on AMD64.
      BUILD/compile-solaris-amd64-forte:
        Adding build script for Solaris 10 on AMD64.
      3f4a2d10
  2. 09 Nov, 2007 3 commits
    • unknown's avatar
      Merge capulet.net:/home/bk/mysql-5.0-rpl · 4c1caa9d
      unknown authored
      into  capulet.net:/home/mats/devel/b31793-mysql-5.0-rpl
      
      
      sql/log_event.cc:
        Auto merged
      4c1caa9d
    • unknown's avatar
      Merge mkindahl@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl · 365d53e3
      unknown authored
      into  capulet.net:/home/bk/mysql-5.0-rpl
      
      365d53e3
    • unknown's avatar
      BUG#31793 (log event corruption causes crash): · 4d5c90aa
      unknown authored
      When running mysqlbinlog on a 64-bit machine with a corrupt relay log,
      it causes mysqlbinlog to crash. In this case, the crash is caused
      because a request for 18446744073709534806U bytes is issued, which
      apparantly can be served on a 64-bit machine (speculatively, I assume)
      but this causes the memcpy() issued later to copy the data to segfault.
      
      The request for the number of bytes is caused by a computation
      of data_len - server_vars_len where server_vars_len is corrupt in such
      a sense that it is > data_len. This causes a wrap-around, with the
      the data_len given above.
      
      This patch adds a check that if server_vars_len is greater than
      data_len before the substraction, and aborts reading the event in
      that case marking the event as invalid. It also adds checks to see
      that reading the server variables does not go outside the bounds
      of the available space, giving a limited amount of integrity check.
      
      
      mysql-test/r/mysqlbinlog.result:
        Result change.
      mysql-test/t/mysqlbinlog.test:
        Adding test that it fails gracefully for a corrupt relay log.
      sql/log_event.cc:
        Adding check that status var length does not cause wrap-around
        when performing subtraction. Extending get_str_len_and_pointer() to
        check that the string can actually be read without reading outside
        bounds. Adding checks when reading server variables from the Query-
        log_event so that the variable can really be read. Abort reading
        and mark the event as invalid otherwise.
      mysql-test/std_data/corrupt-relay-bin.000624:
        BitKeeper file /home/mats/devel/b31793-mysql-5.0-rpl/mysql-test/std_data/corrupt-relay-bin.000624
      4d5c90aa
  3. 06 Nov, 2007 7 commits
    • unknown's avatar
      Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl · df210b74
      unknown authored
      into  koti.dsl.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.0/bug27571_asyn_killed_flags
      
      df210b74
    • unknown's avatar
      bug#27571 · 62e9ce16
      unknown authored
      refining non-deterministic tests.
      The new Bug@32148 is in the way. Adjuting the tests to be somehow useful.
       
      
      
      mysql-test/r/binlog_killed.result:
        results changed
      mysql-test/t/binlog_killed.test:
        refining the tests as killing is inherently non-deterministic;
        leaving todos.
      62e9ce16
    • unknown's avatar
      Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl · 38e8d5c4
      unknown authored
      into  koti.dsl.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.0/bug28597-log_name_upgrade
      
      38e8d5c4
    • unknown's avatar
      bug#27571 · 06a48161
      unknown authored
      fixing tests
      
      
      mysql-test/r/binlog_killed_simulate.result:
        the new tests' result
      06a48161
    • unknown's avatar
      bug#27571 · 71cb6a6f
      unknown authored
      removing extra tests (on 5.1 that's been already done)
      
      
      BitKeeper/deleted/.del-binlog_killed_bug27571-master.opt:
        Delete: mysql-test/t/binlog_killed_bug27571-master.opt
      BitKeeper/deleted/.del-binlog_killed_bug27571.test:
        Delete: mysql-test/t/binlog_killed_bug27571.test
      71cb6a6f
    • unknown's avatar
      bug#27571 · 61d0ece4
      unknown authored
      commit is specific for 5.0 to eliminated non-deterministic tests.
      Those tests run only in 5.1 env where there is a necessary devices such
      as processlist table of info_schema.
      
      
      mysql-test/r/binlog_killed.result:
        results changed
      mysql-test/t/binlog_killed.test:
        removing non-deterministic part of the test
      mysql-test/t/binlog_killed_simulate.test:
        adding the guard same as for 5.1 version
      61d0ece4
    • unknown's avatar
      Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl · 1a12422b
      unknown authored
      into  koti.dsl.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.0/bug27571_asyn_killed_flags
      
      
      sql/sql_insert.cc:
        Auto merged
      sql/sql_update.cc:
        Auto merged
      1a12422b
  4. 05 Nov, 2007 2 commits
    • unknown's avatar
      Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl · 1787d300
      unknown authored
      into  koti.dsl.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.0/bug28597-log_name_upgrade
      
      1787d300
    • unknown's avatar
      Bug #28597 Replication doesn't start after upgrading to 5.1.18 · ec4c562c
      unknown authored
      Since bug@20166, which replaced the binlog file name generating to base
      on pidfile_name instead of the previous glob_hostname, the binlog file
      name suddenly started to be stored solely in the absolute path format,
      including a case when --log-bin option meant a relative path.
      What's more serious, the path for binlog file can lead unrequestedly 
      to pid-file directory so that after any proper fix for this bug
      there might be similar to the bug report consequences for one who
      upgrades from post-fix-bug@20166-pre-fix-bug@28597 to post-fix-bug@28597.
      
      Fixed with preserving`pidfile_name' (intr.by bug@20166) but stripping
      off its directory part. This restores the original logics of storing
      the names in compatible with --log-bin option format and with the
      requirement for --log-bin ralative path to corresond to the data directory.
      Side effects for this fix:
      
      effective fixing bug@27070, refining its test;
      ensuring no overrun for buff can happen anymore (Bug#31836 
      insufficient space reserved for the suffix of relay log file name);
      bug#31837  --remove_file $MYSQLTEST_VARDIR/tmp/bug14157.sql missed
      in rpl_temporary.test;
      fixes Bug@28603  Invalid log-bin default location;
      
      
      mysql-test/t/rpl_dual_pos_advance.test:
        After correcting the logics of log file name composing workaround for
        
          Bug #27070 server logs are created unrequested and in wrong directory
        
        is removed.
      mysql-test/t/rpl_temporary.test:
        remaining temp file of the test removed
      sql/log.cc:
        stripping off the directory part of `pidfile_name' for binlog name
        generating (which fixes two more bugs on wrong binlog file location);
        ensuring no overrun for buff can happen anymore (Bug #31836 
        insufficient space reserved for the suffix of relay log file name);
      ec4c562c
  5. 31 Oct, 2007 1 commit
  6. 30 Oct, 2007 2 commits
    • unknown's avatar
      Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl · c52e7706
      unknown authored
      into  koti.dsl.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.0/bug27571_asyn_killed_flags
      
      c52e7706
    • unknown's avatar
      Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.0 · f4f21f73
      unknown authored
      into  mysql.com:/home/bar/mysql-work/mysql-5.0-rpl-merge
      
      
      mysql-test/r/ctype_utf8.result:
        Auto merged
      mysql-test/r/func_regexp.result:
        Auto merged
      mysql-test/t/ctype_utf8.test:
        Auto merged
      mysql-test/t/func_regexp.test:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      sql/item_cmpfunc.h:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_insert.cc:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_update.cc:
        Auto merged
      mysql-test/r/ctype_ucs.result:
        After merge fix
      mysql-test/t/ctype_ucs.test:
        After merge fix
      f4f21f73
  7. 29 Oct, 2007 1 commit
    • unknown's avatar
      Bug #27571 asynchronousity in setting mysql_`query`::error and · cfa56c2f
      unknown authored
                 Query_log_event::error_code
      
      A query can perform completely having the local var error of mysql_$query
      zero, where $query in insert, update, delete, load,
      and be  binlogged with error_code e.g KILLED_QUERY while there is no
      reason do to so.
      That can happen because Query_log_event consults thd->killed flag to
      evaluate error_code.
      
      Fixed with implementing a scheme suggested and partly implemented at
      time of bug@22725 work-on. error_status is cached immediatly after the
      control leaves the main rows-loop and that instance always corresponds
      to `error' the local of mysql_$query functions. The cached value
      is passed to Query_log_event constructor, not the default thd->killed
      which can be changed in between of the caching and the constructing.
      
      
      mysql-test/r/binlog_killed.result:
        results changed
      mysql-test/t/binlog_killed.test:
        Demonstrating that effective killing during rows-loop execution leads to the speficied actions:
        binlogging with the error for a query modified a not-transactional table or
        rolling back effects for transactional table;
        
        fixing possible non-determinism with ID when query_log_enabled;
        
        leave commented out tests for multi-update,delete due to another bug;
        
        removing an obsolete tests template;
        
        changing system rm to --remove_file.
      sql/log_event.cc:
        adding killed status arg
      sql/log_event.h:
        added killed status arg
      sql/sql_delete.cc:
        deploying the update part patch for delete, multi-delete
      sql/sql_insert.cc:
        deploying the update-part patch for insert..select
      sql/sql_load.cc:
        deploying the update-part patch for load data.
        simulation added.
      sql/sql_update.cc:
        Impementing the fix as described in the comments left by bug@22725.
        Also simulation of killing after the loop that would affect binlogging in the old code.
      mysql-test/t/binlog_killed_bug27571-master.opt:
        post rows-loop killing simulation's options
      mysql-test/t/binlog_killed_bug27571.test:
        Checking that if killing happens inbetween of the end of rows loop and
        recording into binlog that will not lead to recording any error incl
        the killed error.
      mysql-test/t/binlog_killed_simulate-master.opt:
        simulation options
      mysql-test/t/binlog_killed_simulate.test:
        tests for 
        a query (update is choosen) being killed after the row-loop;
        load data killed within the loop - effective killed error in the event is gained.
      cfa56c2f
  8. 26 Oct, 2007 2 commits
    • unknown's avatar
      Merge kindahl-laptop.dnsalias.net:/home/bkroot/mysql-5.0-rpl · 5cb39eea
      unknown authored
      into  kindahl-laptop.dnsalias.net:/home/bk/b12691-mysql-5.0-rpl
      
      
      sql/slave.cc:
        Auto merged
      5cb39eea
    • unknown's avatar
      BUG#12691 (Exec_master_log_pos corrupted with SQL_SLAVE_SKIP_COUNTER): · 193c3b0d
      unknown authored
        
      Adding code to keep skipping events while inside a transaction. Execution
      will start just after the transaction has been skipped.
      
      
      sql/slave.cc:
        Adding code to set the thd->options flag for the slave SQL thread
        even when BEGIN, ROLLBACK, COMMIT, and XID events are being skipped.
            
        Adding code to not decrease the slave skip counter from 1 to 0 if we
        are inside a transaction. This will keep the counter at 1, and keep
        skipping events, until a transaction terminator is read. At that point,
        the slave skip counter will be decreased to 0, and events will be read
        and executed instead of read and skipped.
      mysql-test/r/rpl_slave_skip.result:
        New BitKeeper file ``mysql-test/r/rpl_slave_skip.result''
      mysql-test/t/rpl_slave_skip-slave.opt:
        New BitKeeper file ``mysql-test/t/rpl_slave_skip-slave.opt''
      mysql-test/t/rpl_slave_skip.test:
        New BitKeeper file ``mysql-test/t/rpl_slave_skip.test''
      193c3b0d
  9. 24 Oct, 2007 3 commits
  10. 23 Oct, 2007 15 commits
  11. 22 Oct, 2007 3 commits
    • unknown's avatar
      Bug #28687: Search fails on '0000-00-00' date after sql_mode change · af3764b1
      unknown authored
      When doing indexed search the server constructs a key image for 
      faster comparison to the stored keys. While doing that it must not
      perform (and stop if they fail) the additional date checks that can 
      be turned on by the SQL mode because there already may be values in 
      the table that don't comply with the error checks.
      Fixed by ignoring these SQL mode bits while making the key image.
      
      
      mysql-test/r/type_date.result:
        Bug #28687: test case
      mysql-test/t/type_date.test:
        Bug #28687: test case
      sql/item.cc:
        Bug #28687: no invalid date warnings
      af3764b1
    • unknown's avatar
      Fix for bug #31742: delete from ... order by function call that causes · d8d8c084
      unknown authored
      an error, asserts server
      
      In case of a fatal error during filesort in find_all_keys() the error
      was returned without the necessary handler uninitialization.
      Fixed by changing the code so that handler uninitialization is performed
      before returning the error.
      
      
      mysql-test/r/delete.result:
        Added a test case for bug #31742.
      mysql-test/t/delete.test:
        Added a test case for bug #31742.
      sql/filesort.cc:
        In case of a fatal error in find_all_keys() do not return before doing
        the necessary handler uninitialization steps.
      d8d8c084
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-5.0-opt · 2c236db0
      unknown authored
      into  mysql.com:/home/hf/work/30638/my50-30638
      
      2c236db0