1. 24 Jun, 2010 1 commit
    • Luis Soares's avatar
      BUG#54509: rpl_show_slave_running crashes the server sporadically · 16141e0c
      Luis Soares authored
      Problem: SQL and IO thread were racing for the IO_CACHE. The former to
      flush it, the latter to close it. In some cases this would cause the
      SQL thread to lock an invalid IO_CACHE mutex (it had been destroyed by
      IO thread). This would happen when SQL thread was initializing the
      master.info
      
      Solution: We solve this by locking the log and checking if it is
      hot. If it is we keep the log while seeking. Otherwise we release it
      right away, because a log can get from hot to cold, but not from cold
      to hot.
      16141e0c
  2. 15 Jun, 2010 2 commits
  3. 14 Jun, 2010 1 commit
  4. 10 Jun, 2010 1 commit
  5. 08 Jun, 2010 1 commit
    • Marc Alff's avatar
      Bug#54334 Double initialization of mysys mutexes · ddf6a665
      Marc Alff authored
      Prior to this fix, mysys mutexes such as THR_LOCK_lock could be initialized
      twice by a call to my_init().
      The root cause was out of place initialization in my_basic_init(),
      calling my_thread_global_init().
      
      With this fix,
      - my_basic_init() properly initializes the mutex implementation itself,
      for SAFE or FAST mutexes, and for platform dependent initializations,
      before initialiazing a mutex.
      - my_init() properly initializes mysys mutexes once,
      when making the first call to my_thread_global_init().
      ddf6a665
  6. 05 Jun, 2010 1 commit
  7. 31 May, 2010 1 commit
    • Davi Arnaut's avatar
      Bug#53445: Build with -Wall and fix warnings that it generates · 5dec0c96
      Davi Arnaut authored
      Fix various mismatches between function's language linkage. Any
      particular function that is declared in C++ but should be callable
      from C must have C linkage. Note that function types with different
      linkages are also distinct. Thus, if a function type is declared in
      C code, it will have C linkage (same if declared in a extern "C"
      block).
      5dec0c96
  8. 04 Jun, 2010 1 commit
  9. 03 Jun, 2010 4 commits
  10. 02 Jun, 2010 15 commits
    • He Zhenxing's avatar
      Auto merge · 32aa1445
      He Zhenxing authored
      32aa1445
    • He Zhenxing's avatar
      Auto merge from 5.1-rep-semisync · a06e034d
      He Zhenxing authored
      a06e034d
    • Vasil Dimov's avatar
    • Vasil Dimov's avatar
      1a5cf261
    • Alexander Barkov's avatar
      Bug#52520 Difference in tinytext utf column metadata · 56c3b980
      Alexander Barkov authored
            Problems:
            - regression (compating to version 5.1) in metadata for BLOB types
            - inconsistency between length metadata in server and embedded for BLOB types
            - wrong max_length calculation in items derived from BLOB columns
           @ libmysqld/lib_sql.cc
              Calculating length metadata in embedded similary to server version,
              using new function char_to_byte_length_safe().
           @ mysql-test/r/ctype_utf16.result
              Adding tests
           @ mysql-test/r/ctype_utf32.result
              Adding tests
           @ mysql-test/r/ctype_utf8.result
              Adding tests
           @ mysql-test/r/ctype_utf8mb4.result
              Adding tests
           @ mysql-test/t/ctype_utf16.test
              Adding tests
           @ mysql-test/t/ctype_utf32.test
              Adding tests
           @ mysql-test/t/ctype_utf8.test
              Adding tests
           @ mysql-test/t/ctype_utf8mb4.test
              Adding tests
           @ sql/field.cc
              Overriding char_length() for Field_blob:
              unlike in generic Item::char_length() we don't
              divide to mbmaxlen for BLOBs.
           @ sql/field.h
              - Making Field::char_length() virtual
              - Adding prototype for Field_blob::char_length()
           @ sql/item.h
              - Adding new helper function char_to_byte_length_safe()
              - Using new function
           @ sql/protocol.cc
              Using new function char_to_byte_length_safe().
      
          modified:
            libmysqld/lib_sql.cc
            mysql-test/r/ctype_utf16.result
            mysql-test/r/ctype_utf32.result
            mysql-test/r/ctype_utf8.result
            mysql-test/r/ctype_utf8mb4.result
            mysql-test/t/ctype_utf16.test
            mysql-test/t/ctype_utf32.test
            mysql-test/t/ctype_utf8.test
            mysql-test/t/ctype_utf8mb4.test
            sql/field.cc
            sql/field.h
            sql/item.h
            sql/protocol.cc
      56c3b980
    • Vasil Dimov's avatar
      Fix the failing innodb.innodb test: · acf187a2
      Vasil Dimov authored
        innodb.innodb                            [ fail ]
                Test ended at 2010-06-02 15:04:06
        
        CURRENT_TEST: innodb.innodb
        --- /usr/w/mysql-trunk-innodb/mysql-test/suite/innodb/r/innodb.result	2010-05-23 23:10:26.576407000 +0300
        +++ /usr/w/mysql-trunk-innodb/mysql-test/suite/innodb/r/innodb.reject	2010-06-02 15:04:05.000000000 +0300
        @@ -2648,7 +2648,7 @@
         create table t4 (s1 char(2) binary,primary key (s1)) engine=innodb;
         insert into t1 values (0x41),(0x4120),(0x4100);
         insert into t2 values (0x41),(0x4120),(0x4100);
        -ERROR 23000: Duplicate entry 'A\x00' for key 'PRIMARY'
        +ERROR 23000: Duplicate entry 'A' for key 'PRIMARY'
         insert into t2 values (0x41),(0x4120);
      
      The change in the printout was introduced in:
      
        ------------------------------------------------------------
        revno: 3008.6.2
        revision-id: sergey.glukhov@sun.com-20100527160143-57nas8nplzpj26dz
        parent: sergey.glukhov@sun.com-20100527155443-24vqi9o8rpnkyci7
        committer: Sergey Glukhov <Sergey.Glukhov@sun.com>
        branch nick: mysql-trunk-bugfixing
        timestamp: Thu 2010-05-27 20:01:43 +0400
        message:
          Bug#52430 Incorrect key in the error message for duplicate key error involving BINARY type
          For BINARY(N) strip trailing zeroes to make the error message nice-looking
        
         @ mysql-test/r/errors.result
            test case
        
         @ mysql-test/r/type_binary.result
            result fix
        
         @ mysql-test/t/errors.test
            test case
        
         @ sql/key.cc
            For BINARY(N) strip trailing zeroes to make the error message nice-looking
      
      and its author (Sergey) did not notice the test failure because that test
      has been disabled in his tree.
      acf187a2
    • Marko Mäkelä's avatar
      a887c0c2
    • Marko Mäkelä's avatar
      Merge from mysql-5.1-innodb: · 823439c4
      Marko Mäkelä authored
      ------------------------------------------------------------
      revno: 3495
      committer: Marko Mäkelä <marko.makela@oracle.com>
      branch nick: 5.1-innodb
      timestamp: Wed 2010-06-02 13:37:14 +0300
      message:
        Bug#53674: InnoDB: Error: unlock row could not find a 4 mode lock on the record
      
        In semi-consistent read, only unlock freshly locked non-matching records.
      
        lock_rec_lock_fast(): Return LOCK_REC_SUCCESS,
        LOCK_REC_SUCCESS_CREATED, or LOCK_REC_FAIL instead of TRUE/FALSE.
      
        enum db_err: Add DB_SUCCESS_LOCKED_REC for indicating a successful
        operation where a record lock was created.
      
        lock_sec_rec_read_check_and_lock(),
        lock_clust_rec_read_check_and_lock(), lock_rec_enqueue_waiting(),
        lock_rec_lock_slow(), lock_rec_lock(), row_ins_set_shared_rec_lock(),
        row_ins_set_exclusive_rec_lock(), sel_set_rec_lock(),
        row_sel_get_clust_rec_for_mysql(): Return DB_SUCCESS_LOCKED_REC if a
        new record lock was created. Adjust callers.
      
        row_unlock_for_mysql(): Correct the function documentation.
      
        row_prebuilt_t::new_rec_locks: Correct the documentation.
      823439c4
    • Marko Mäkelä's avatar
      Merge from mysql-5.1-innodb: · 765c195e
      Marko Mäkelä authored
      ------------------------------------------------------------
      revno: 3493
      revision-id: marko.makela@oracle.com-20100602101940-60x32xiivtqj9va1
      parent: marko.makela@oracle.com-20100601135802-hgplcpr8089ura8g
      committer: Marko Mäkelä <marko.makela@oracle.com>
      branch nick: 5.1-innodb
      timestamp: Wed 2010-06-02 13:19:40 +0300
      message:
        fil_print_orphaned_tablespaces(): Unused function, remove.
      765c195e
    • Jimmy Yang's avatar
    • He Zhenxing's avatar
      Post fix for bug#52748 · f2a9896c
      He Zhenxing authored
      f2a9896c
    • Jonathan Perkin's avatar
      Revert Oracle Enterprise Linux changes. · 2400a20c
      Jonathan Perkin authored
      2400a20c
    • Magnus Blåudd's avatar
      Merge trunk-bug53983 -> trunk-bugfixing · f142f5bf
      Magnus Blåudd authored
      f142f5bf
    • Magnus Blåudd's avatar
      Bug#53983 Placeholder for MASTER_BIND in master.info · 3b1cc6e3
      Magnus Blåudd authored
       - Reserve line 17 in master.info for master_bind which has been
         added in MySQL Cluster 6.3
       - move the line for "list of server id for ignorable servers" to line 18
      3b1cc6e3
    • Jimmy Yang's avatar
      Fix bug #54159 InnoDB: New warnings on Windows. Provide "signed/unsigned" · 987a04b4
      Jimmy Yang authored
      parameter to virtual function store() for longlong data type.
      
      rb://371 approved by Sunny.
      987a04b4
  11. 01 Jun, 2010 12 commits
    • Alfranio Correia's avatar
      BUG#50479 DDL stmt on row-only/stmt-only tables generate spurious binlog_format · 02fc237a
      Alfranio Correia authored
      errors
                  
      In the fix of BUG#39934 in 5.1-rep+3, errors are generated when
      binlog_format=row and a statement modifies a table restricted to
      statement-logging (ER_BINLOG_ROW_MODE_AND_STMT_ENGINE); or if
      binlog_format=statement and a statement modifies a table restricted to
      row-logging (ER_BINLOG_STMT_MODE_AND_ROW_ENGINE).
                  
      However, some DDL statements that lock tables (e.g. ALTER TABLE,
      CREATE INDEX and CREATE TRIGGER) were causing spurious errors,
      although no row might be inserted into the binary log.
                  
      To fix the problem, we tagged statements that may generate
      rows into the binary log and thence the warning messages are
      only printed out when the appropriate conditions hold and rows
      might be changed.
      02fc237a
    • Alfranio Correia's avatar
    • Alfranio Correia's avatar
      Post-merge fix for BUG#53421. · 627e829e
      Alfranio Correia authored
      627e829e
    • Alexey Kopytov's avatar
      Bug #45882: dtoa.c might not work with gcc 4.4.0 · c80bf763
      Alexey Kopytov authored
      - Ported relevant changes from the upstream version to not
      break strict-aliasing rules and to fix compiler warnings and
      and infinite loops caused by that issue.
      
      - Fixed compilation with Honor_FLT_ROUNDS defined.
      
      - Fixed an unused variable warning.
      c80bf763
    • Alfranio Correia's avatar
    • Alfranio Correia's avatar
      BUG#53421 Part of transaction not written in binlog after deadlock, replication · 76faface
      Alfranio Correia authored
      breaks
            
      When a "CREATE TEMPORARY TABLE SELECT * FROM" was executed the OPTION_KEEP_LOG was
      not set into the thd->variables.option_bits. For that reason, if the transaction
      had updated only transactional engines and was rolled back at the end (.e.g due to
      a deadlock) the changes were not written to the binary log, including the creation
      of the temporary table.
            
      To fix the problem, we have set the OPTION_KEEP_LOG into the
      thd->variables.option_bits when a "CREATE TEMPORARY TABLE
      SELECT * FROM" is executed.
      76faface
    • Marko Mäkelä's avatar
      Merge a change from mysql-5.1-innodb: · 1eae95b4
      Marko Mäkelä authored
        ------------------------------------------------------------
        revno: 3491
        revision-id: marko.makela@oracle.com-20100601134335-ccthwwru23kn09qw
        parent: marko.makela@oracle.com-20100601120751-1uq7bbta5n7ts0qr
        committer: Marko Mäkelä <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Tue 2010-06-01 16:43:35 +0300
        message:
          Bug#48197: Concurrent rw_lock_free may cause assertion failure
      
          rw_lock_t: Remove magic_n unless UNIV_DEBUG is defined.
          rw_lock_free(): Invalidate magic_n only after removing from rw_lock_list.
      1eae95b4
    • Alfranio Correia's avatar
    • Alexander Nozdrin's avatar
      Auto-merge from mysql-trunk-innodb. · 9ab22b4e
      Alexander Nozdrin authored
      9ab22b4e
    • Alexander Nozdrin's avatar
      Auto-merge from mysql-trunk-bugfixing. · 522d9ac3
      Alexander Nozdrin authored
      Due to a BZR bug, that merge was done by the following command:
      bzr merge -r 'revid:tor.didriksen@sun.com-20100527074248-6qtv0p1ugy6o1hjo..' <mysql-trunk-bugfixing path>
      522d9ac3
    • Marko Mäkelä's avatar
      Merge a change from mysql-5.1-innodb: · ce461570
      Marko Mäkelä authored
        ------------------------------------------------------------
        revno: 3490
        revision-id: marko.makela@oracle.com-20100601120751-1uq7bbta5n7ts0qr
        parent: marko.makela@oracle.com-20100601120521-q48hk05ne4j1s2o0
        committer: Marko Mäkelä <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Tue 2010-06-01 15:07:51 +0300
        message:
          Minor cleanup.
      
          lock_rec_unlock(): Cache first_lock and rewrite while() loops as for().
      
          btr_cur_optimistic_update(): Use common error handling return.
      
          row_create_prebuilt(): Add Valgrind instrumentation.
      ce461570
    • Marko Mäkelä's avatar
      Merge a change from mysql-5.1-innodb: · 51414427
      Marko Mäkelä authored
        ------------------------------------------------------------
        revno: 3488
        revision-id: marko.makela@oracle.com-20100601103738-upm8awahesmeh9dr
        parent: vasil.dimov@oracle.com-20100531163540-9fu3prbn2asqwdi5
        committer: Marko Mäkelä <marko.makela@oracle.com>
        branch nick: 5.1-innodb
        timestamp: Tue 2010-06-01 13:37:38 +0300
        message:
          Bug#53812: assert row/row0umod.c line 660 in txn rollback after crash recovery
          row_undo_mod_upd_exist_sec(): Tolerate a failure to build the index entry
          for a DYNAMIC or COMPRESSED table during crash recovery.
      51414427