1. 17 Jun, 2010 4 commits
  2. 15 Jun, 2010 1 commit
  3. 14 Jun, 2010 3 commits
    • Vasil Dimov's avatar
      0602f1ef
    • Marko Mäkelä's avatar
      Merge a change from mysql-5.1-innodb: · c63e8763
      Marko Mäkelä authored
      ------------------------------------------------------------
      revno: 3507
      revision-id: marko.makela@oracle.com-20100610125623-ar6qf4w2pv2kr7mb
      parent: sergey.glukhov@sun.com-20100609121718-04mpk5kjxvnrxdu8
      committer: Marko Mäkelä <marko.makela@oracle.com>
      branch nick: 5.1-innodb
      timestamp: Thu 2010-06-10 15:56:23 +0300
      message:
        Bug #38999: Re-enable innodb_multi_update.test
      c63e8763
    • Marko Mäkelä's avatar
      Merge a change from mysql-5.1-innodb: · ec8a3209
      Marko Mäkelä authored
      ------------------------------------------------------------
      revno: 3506
      revision-id: sergey.glukhov@sun.com-20100609121718-04mpk5kjxvnrxdu8
      parent: sergey.glukhov@sun.com-20100609120734-ndy2281wau9067zv
      committer: Sergey Glukhov <Sergey.Glukhov@sun.com>
      branch nick: mysql-5.1-innodb
      timestamp: Wed 2010-06-09 16:17:18 +0400
      message:
        Bug#38999 valgrind warnings for update statement in function compare_record()
        (InnoDB plugin branch)
      
       @ mysql-test/suite/innodb_plugin/r/innodb_mysql.result
          test case
      
       @ mysql-test/suite/innodb_plugin/t/innodb_mysql.test
          test case
      
       @ storage/innodb_plugin/row/row0sel.c
          init null bytes with default values as they might be
          left uninitialized in some cases and these uninited bytes
          might be copied into mysql record buffer that leads to
          valgrind warnings on next use of the buffer.
      ec8a3209
  4. 10 Jun, 2010 1 commit
  5. 08 Jun, 2010 3 commits
    • Marc Alff's avatar
      Bug#54334 Double initialization of mysys mutexes · 9dcf7079
      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().
      9dcf7079
    • Marko Mäkelä's avatar
      Merge a change from mysql-5.1-innodb: · f56a0f2d
      Marko Mäkelä authored
      ------------------------------------------------------------
      revno: 3503
      revision-id: marko.makela@oracle.com-20100608121041-l7t9r6lrpx6lh361
      parent: marko.makela@oracle.com-20100608114055-7b04ytuqz0lde6v1
      committer: Marko Mäkelä <marko.makela@oracle.com>
      branch nick: 5.1-innodb
      timestamp: Tue 2010-06-08 15:10:41 +0300
      message:
        Bug#54009: Server crashes when data is selected from non backed up table
        for InnoDB plugin
      
        dict_load_table(): Pass the correct tablespace flags to
        fil_open_single_table_tablespace(). For ROW_FORMAT=COMPACT and REDUNDANT,
        the tablespace flags are 0. The table flags would be 0 or DICT_TF_COMPACT.
      f56a0f2d
    • Marko Mäkelä's avatar
      Merge a change from mysql-5.1-innodb: · 034d4488
      Marko Mäkelä authored
      ------------------------------------------------------------
      revno: 3502
      revision-id: marko.makela@oracle.com-20100608114055-7b04ytuqz0lde6v1
      parent: jimmy.yang@oracle.com-20100603134448-itzduhwgbw0b8nlh
      committer: Marko Mäkelä <marko.makela@oracle.com>
      branch nick: 5.1-innodb
      timestamp: Tue 2010-06-08 14:40:55 +0300
      message:
        buf_page_get_gen(): Pass file,line to rw_lock_x_lock().
      034d4488
  6. 05 Jun, 2010 1 commit
  7. 04 Jun, 2010 1 commit
  8. 03 Jun, 2010 4 commits
  9. 02 Jun, 2010 16 commits
    • He Zhenxing's avatar
      Auto merge · 39ee6c48
      He Zhenxing authored
      39ee6c48
    • He Zhenxing's avatar
      Auto merge from 5.1-rep-semisync · 8412cd48
      He Zhenxing authored
      8412cd48
    • Vasil Dimov's avatar
    • Vasil Dimov's avatar
    • Vasil Dimov's avatar
      1a09efe2
    • Alexander Barkov's avatar
      Bug#52520 Difference in tinytext utf column metadata · 1dfcb49a
      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
      1dfcb49a
    • Vasil Dimov's avatar
      Fix the failing innodb.innodb test: · 0958b7c9
      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.
      0958b7c9
    • Marko Mäkelä's avatar
      015f5825
    • Marko Mäkelä's avatar
      Merge from mysql-5.1-innodb: · 90d901f9
      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.
      90d901f9
    • Marko Mäkelä's avatar
      Merge from mysql-5.1-innodb: · 8affe876
      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.
      8affe876
    • Jimmy Yang's avatar
    • He Zhenxing's avatar
      Post fix for bug#52748 · 85592c72
      He Zhenxing authored
      85592c72
    • Jonathan Perkin's avatar
      Revert Oracle Enterprise Linux changes. · 9c037fea
      Jonathan Perkin authored
      9c037fea
    • Magnus Blåudd's avatar
      Merge trunk-bug53983 -> trunk-bugfixing · 98705b16
      Magnus Blåudd authored
      98705b16
    • Magnus Blåudd's avatar
      Bug#53983 Placeholder for MASTER_BIND in master.info · 9878bba3
      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
      9878bba3
    • Jimmy Yang's avatar
      Fix bug #54159 InnoDB: New warnings on Windows. Provide "signed/unsigned" · 3272a108
      Jimmy Yang authored
      parameter to virtual function store() for longlong data type.
      
      rb://371 approved by Sunny.
      3272a108
  10. 01 Jun, 2010 6 commits
    • Alfranio Correia's avatar
      BUG#50479 DDL stmt on row-only/stmt-only tables generate spurious binlog_format · c27b21ae
      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.
      
      sql/log_event.cc:
        Reorganized the Query_log_event's constructor based on the
        CF_CAN_GENERATE_ROW_EVENTS flag and as such any statement
        that has the associated flag should go through a cache
        before being written to the binary log.
      sql/share/errmsg-utf8.txt:
        Improved the error message ER_BINLOG_UNSAFE_MIXED_STATEMENT according to Paul's
        suggestion.
      sql/sql_class.cc:
        Created a hook to be used by innodb that checks if a statement
        may write rows to the binary log. In other words, if it has
        the CF_CAN_GENERATE_ROW_EVENTS flag associated.
      sql/sql_class.h:
        Defined the CF_CAN_GENERATE_ROW_EVENTS flag.
      sql/sql_parse.cc:
        Updated the sql_command_flags and added a function to check the 
        CF_CAN_GENERATE_ROW_EVENTS.
      sql/sql_parse.h:
        Added a function to check the CF_CAN_GENERATE_ROW_EVENTS.
      storage/innobase/handler/ha_innodb.cc:
        Added a call to the hook thd_generates_rows().
      storage/innobase/handler/ha_innodb.h:
        Defined an external reference to the hook thd_generates_rows().
      c27b21ae
    • Alfranio Correia's avatar
    • Alfranio Correia's avatar
      Post-merge fix for BUG#53421. · 027096ef
      Alfranio Correia authored
      027096ef
    • Alfranio Correia's avatar
    • Alfranio Correia's avatar
      BUG#53421 Part of transaction not written in binlog after deadlock, replication · eb12f201
      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.
      eb12f201
    • Marko Mäkelä's avatar
      Merge a change from mysql-5.1-innodb: · f18bc2f0
      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.
      f18bc2f0