1. 20 Feb, 2008 1 commit
    • unknown's avatar
      Merge mysql.com:/home/bar/mysql-work/mysql-5.0.b32510 · 681363e2
      unknown authored
      into  mysql.com:/home/bar/mysql-work/mysql-5.0.b32510v2
      
      
      mysql-test/r/ctype_big5.result:
        Auto merged
      mysql-test/r/ctype_cp932.result:
        Auto merged
      mysql-test/r/ctype_euckr.result:
        Auto merged
      mysql-test/r/ctype_gb2312.result:
        Auto merged
      mysql-test/r/ctype_gbk.result:
        Auto merged
      mysql-test/r/ctype_uca.result:
        Auto merged
      mysql-test/r/ctype_ucs.result:
        Auto merged
      mysql-test/t/ctype_cp932.test:
        Auto merged
      mysql-test/t/ctype_uca.test:
        Auto merged
      mysql-test/t/ctype_ucs.test:
        Auto merged
      strings/ctype-ucs2.c:
        Auto merged
      681363e2
  2. 15 Feb, 2008 1 commit
  3. 14 Feb, 2008 3 commits
  4. 13 Feb, 2008 1 commit
    • unknown's avatar
      Bug #33931 assertion at write_ignored_events_info_to_relay_log if init_slave_thread() fails · ded528ca
      unknown authored
      and
      bug#33932  assertion at handle_slave_sql if init_slave_thread() fails
      
      the asserts were caused by 
        bug33931: having thd deleted at time of executing err: code plus
                  a missed initialization;
        bug33932: initialization of slave_is_running member was missed;
      
      fixed with relocating mi members initialization and removing delete thd
      It is safe to do as deletion happens later explicitly in the caller of
      init_slave_thread().
      
      Todo: at merging the test is better to be moved into suite/bugs for 5.x (when x>0).
      
      
      sql/slave.cc:
        adding the bugs simulating code;
        relocating some assignments to satisfy the asserts;
      mysql-test/r/rpl_bug33931.result:
        the new result file
      mysql-test/t/rpl_bug33931-slave.opt:
        option to spark the simulation code
      mysql-test/t/rpl_bug33931.test:
        tests check that slave does not crash as before.
        Slave threads must be in NO running state in the end.
      ded528ca
  5. 12 Feb, 2008 2 commits
  6. 11 Feb, 2008 3 commits
  7. 08 Feb, 2008 3 commits
    • unknown's avatar
      bug#34427 slave misses rendezvous in rpl_variables · e4e7f8c3
      unknown authored
      There was no instruction in the test that enforces the slave successfully connect
      to the master.
      The way the test was been written allowed the slave to had been late for rendezvous 
      so that about-connecting time queries to the master failed and are error-logged
      to had been seen in Warnings of pb.
      
      Fixed with adding a sychronization primitive to the test.
      No test case is possible, observe error logs on pb.
      
      Todo: revise need of rpl_report.pl's rules due to failing execution of
      queries from get_master_verion_and_clock().
      Any test should try to use a synchornization primitive like the current fix
      makes and do not let the slave to miss successful connecting.
      
      
      mysql-test/t/rpl_variables.test:
        Completing the test's body with a synch macro to not let
        the slave to miss the successful connecting to the master.
      e4e7f8c3
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · 65c7d300
      unknown authored
      into  dipika.(none):/opt/local/work/mysql-5.0-runtime
      
      
      65c7d300
    • unknown's avatar
      Bug#33798 prepared statements improperly handle large unsigned ints · 7d98c21c
      unknown authored
      The unsignedness of large integer user variables was not being
      properly preserved when feeded to prepared statements. This was
      happening because the unsigned flags wasn't being updated when
      converting the user variable is converted to a parameter.
      
      The solution is to copy the unsigned flag when converting the
      user variable to a parameter and take the unsigned flag into
      account when converting the integer to a string.
      
      
      mysql-test/r/binlog.result:
        Add test case result for Bug#33798
      mysql-test/r/ps.result:
        Add test case result for Bug#33798
      mysql-test/t/binlog.test:
        Add test case for Bug#33798
      mysql-test/t/ps.test:
        Add test case for Bug#33798
      sql/item.cc:
        Take the unsigned flag into account when converting the
        user variable.
      7d98c21c
  8. 07 Feb, 2008 2 commits
  9. 06 Feb, 2008 2 commits
    • unknown's avatar
      Replace windows path separator backslash by unix path separator forward · 7b82376f
      unknown authored
      slash in filenames also for Create_file_log_event.
      
      
      client/mysqlbinlog.cc:
        BUG#34355: mysqlbinlog outputs backslash as path separator for 4.1 binlogs
        Problem: When the windows version of mysqlbinlog reads 4.1 binlogs
        containing LOAD DATA INFILE, it outputs backslashes as path separators in
        filenames. However, the output is typically piped to a client, and client
        expects forward slashes.
        Fix: Replace '\\' by '/' in filenames.
      7b82376f
    • unknown's avatar
      Raise version number after cloning 5.0.56 · 047d7d07
      unknown authored
      047d7d07
  10. 05 Feb, 2008 1 commit
    • unknown's avatar
      Bug #34305 show slave status handling segfaults when slave io is about · 3b6a71a4
      unknown authored
          to leave
      
      The artifact was caused by
      a flaw in concurrent accessing the slave's io thd by
      the io itself and a handling show slave status thread.
      Namely, show_master_info did not acquire mi->run_lock mutex that is
      specified for mi->io_thd member.
      
      Fixed with deploying the mutex locking and unlocking. The mutex is kept
      short time and without interleaving with mi->data_lock mutex.
      
      Todo: to report and fix an issue with 
          sys_var_slave_skip_counter::{methods} 
      seem to acquire incorrectly
           active_mi->rli.run_lock
      instead of the specified
           active_mi->rli.data_lock
      
      A test case is difficult to compose, so rpl_packet should continue serving
      as the indicator.
      
      
      sql/slave.cc:
        implementing a TODO left at 4.1 time:
        mending access to mi->io_thd with the specified mutex;
      sql/slave.h:
        adding a member name to the list of that run_lock guards.
      3b6a71a4
  11. 04 Feb, 2008 5 commits
    • unknown's avatar
      Bug#33329 extraneous ROLLBACK in binlog on connection · 62102786
      unknown authored
                  does not use trans tables
      
      There had been two issues.
      Rollback statement was recorded in binlog even though a multi-update
      had not modified any non-transactional table.
      The reason for this artifact was a false initial value of multi_update::transactional_tables.
      Yet another artifact that explained on the bug page is that 
      `ha_autocommit_or_rollback' works differently depending on whether
      a transaction engine has been compiled in. 
      
      Fixed: with setting multi_update::transactional_tables to zero at initialization
      time. Multi-update on non-trans table won't cause ROLLBACK in binlog with
      either compilation option.
      
      The 2nd mentioned artifact comprises a self-standing issue (to be reported
      separately).
      
      
      mysql-test/r/multi_update.result:
        results changed - there is no ROLLBACK in binlog anymore as it should be
      sql/sql_update.cc:
        A wrong assumption on that there were modified transactional table,
        which is nonsense at the very beginning of the query execution.
      62102786
    • unknown's avatar
      Bug #32790 crash in trigger.test with InnoDB for a table · 77b84b12
      unknown authored
      the reason for the failure were incorrect asserts.
      
      Removing asserts altogether as there is no the implication does not hold
      (as explained in the comments for the file).
      
      
      sql/sql_delete.cc:
        removing two asserts because they can not hold basing on the definition
        of `normal_tables'. The one does not specify in a non-transactional table,
        which must be in the list of tables to be deleted, is modified indeed.
        So, it's possible to have normal_tables == true and deleted == true both
        but that would be yet a transactional table got modified (and then
        thd->transaction.stmt.modified_non_trans_table remains false default).
      77b84b12
    • unknown's avatar
      Updating result file. · 74bd1b0f
      unknown authored
      
      mysql-test/r/rpl_user.result:
        Result change.
      74bd1b0f
    • unknown's avatar
      Fixes to make rpl_user test pass in pushbuild. · 86260ead
      unknown authored
      
      mysql-test/t/rpl_user.test:
        Removing redundant reset master and deleting users from master
        and slave without using binary log.
      86260ead
    • unknown's avatar
      Bug#32510 LIKE search fails with indexed 'eucjpms' and 'ujis' char column · f792cf3e
      unknown authored
      Problem: some collation handlers called incorrect version
      of my_like_range_xxx(), which led to wrong min_str and max_str,
      so like range optimizer threw away good records.
      Fix: changing the wrong handlers to call proper version of
      my_like_range_xxx().
      
      
      mysql-test/r/ctype_big5.result:
        Adding test
      mysql-test/r/ctype_cp932.result:
        Adding test
      mysql-test/r/ctype_eucjpms.result:
        Adding test
      mysql-test/r/ctype_euckr.result:
        Adding test
      mysql-test/r/ctype_gb2312.result:
        Adding test
      mysql-test/r/ctype_gbk.result:
        Adding test
      mysql-test/r/ctype_sjis.result:
        Adding test
      mysql-test/r/ctype_uca.result:
        Adding test
      mysql-test/r/ctype_ucs.result:
        Adding test
      mysql-test/r/ctype_ujis.result:
        Adding test
      mysql-test/t/ctype_big5.test:
        Adding test
      mysql-test/t/ctype_cp932.test:
        Adding test
      mysql-test/t/ctype_eucjpms.test:
        Adding test
      mysql-test/t/ctype_euckr.test:
        Adding test
      mysql-test/t/ctype_gb2312.test:
        Adding test
      mysql-test/t/ctype_gbk.test:
        Adding test
      mysql-test/t/ctype_sjis.test:
        Adding test
      mysql-test/t/ctype_uca.test:
        Adding test
      mysql-test/t/ctype_ucs.test:
        Adding test
      mysql-test/t/ctype_ujis.test:
        Adding test
      strings/ctype-euc_kr.c:
        Changing like_range function
      strings/ctype-eucjpms.c:
        Changing like_range function
      strings/ctype-gb2312.c:
        Changing like_range function
      strings/ctype-ucs2.c:
        Changing like_range function
      strings/ctype-ujis.c:
        Changing like_range function
      mysql-test/include/ctype_like_range_f1f2.inc:
        New BitKeeper file ``mysql-test/include/ctype_like_range_f1f2.inc''
      f792cf3e
  12. 01 Feb, 2008 6 commits
  13. 31 Jan, 2008 3 commits
    • unknown's avatar
      Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0 · dc8e43ed
      unknown authored
      into  dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl-merge
      
      
      include/my_sys.h:
        Auto merged
      sql/log.cc:
        Auto merged
      sql/set_var.cc:
        Auto merged
      sql/sql_acl.cc:
        Auto merged
      dc8e43ed
    • unknown's avatar
      Changes to fix tests in pushbuild. · 1fa51318
      unknown authored
      
      mysql-test/include/have_local_infile.inc:
        BitKeeper file /data0/mkindahl/mysql-5.0-rpl-merge/mysql-test/include/have_local_infile.inc
      mysql-test/r/have_local_infile.require:
        BitKeeper file /data0/mkindahl/mysql-5.0-rpl-merge/mysql-test/r/have_local_infile.require
      mysql-test/t/binlog_start_comment.test:
        Test requires that local_infile is on, so added require for that.
      mysql-test/t/rpl_sp.test:
        Adding missing sync_slave_with_master causing following tests to fail.
      1fa51318
    • unknown's avatar
      Fixes to make code compile on Windows. · 34b9c6f5
      unknown authored
      
      sql/sql_repl.cc:
        Adding cast to remove compile error on Windows platform.
      34b9c6f5
  14. 30 Jan, 2008 4 commits
  15. 29 Jan, 2008 2 commits
    • unknown's avatar
      update test result · 6766554f
      unknown authored
      
      mysql-test/r/rpl_grant.result:
        update result
      6766554f
    • unknown's avatar
      BUG#26489 Corruption in relay logs · 5a039fa2
      unknown authored
      Here is the scenario that causes the failure.(by Mats)
      
      1. The to-be corrupt log event (let's call it X), is split into two
         packets B and C on the network level (net_write_buff()). The parts
         are X = (x',x''). The part x' ends up in packet B and part x''
         ends up in packet C. Prior to the corrupt event X, the event Y has
         been written successfully, but has been split into two packets as
         well, which we call (y',y'').
      2. The master sends packet A = (y'',x') to the slave, increases the
         packet sequence number, the slave receives the packet, but fails
         to reply before the master gets a timeout.
      3. Since the master got a timeout, it reports failure, and aborts
         sending the binary log by exiting mysql_binlog_send(). However, it
         leaves the buffer intact, still holding y'' (but not x', since the
         write_pos is not increased).
      4. After exiting mysql_binlog_send(), the master does a
         disconnection of the client thread, which involves sending an
         error message e to the client (i.e., the slave).
      5. In this case, net_write_buff() is used again, but this time the
         old contents of the packet is used so that the new packet is
         D = (y'',e). Note that this will use a new packet sequence number,
         since the packet number was increased in step 2.
      6. The slave receives the tail y'' of the Y log event, concatenates
         this with x' (which it already received), and writes the event
         (x',y'') it to the relay log since it hasn't noticed anything is
         amiss.
      7. It then tries to read more bytes, which is either e (if the length
         given for X just happened to match the length given for Y, or just
         plain garbage because the slave is out of sync with what is
         actually sent.
      8. After a while, the SQL thread tries to execute the event (x',y''),
         which is very likely to be just nonsense.
      
      The problem can be fixed by not resetting net->error after the call of 
      mysql_binlog_send, so the error message will not be sent and the connection
      will be closed.
      
      
      sql/sql_parse.cc:
        Do not reset net->error, if net->error == 2, we should not try to use the connection again
      5a039fa2
  16. 27 Jan, 2008 1 commit
    • unknown's avatar
      Fix test case for Bug #25347 so that it actually tests the code fix, · 32f59206
      unknown authored
      and so that it works correctly on Windows.
      
      
      mysql-test/r/mysqlcheck.result:
        Flush tables before monkeying around with underlying MyISAM data files
      mysql-test/t/mysqlcheck.test:
        Fix the test case for bug #25347 so that it actually does test the behavior.
        Also, this makes it work on Windows by ensuring that mysqld doesn't hold the
        underlying MyISAM files open while we try to corrupt them on disk.
        
        Flush tables before monkeying around with underlying MyISAM data files;
        --use-frm, so that mysqlcheck will succeed.
      32f59206