1. 29 Mar, 2011 3 commits
    • Magne Mahre's avatar
      Bug#11933945 REMOVE LGPL LICENSED FILES IN MYSQL 5.5 · 65b3ba15
      Magne Mahre authored
      The LGPL license is used in some legacy code, and to
      adhere to current licensing polity, we remove those
      files that are no longer used, and reorganize the
      remaining LGPL code so it will be GPL licensed from
      now on.
                  
      Note:  This patch only removed LGPL licensed files
             in MySQL 5.5 and later, and is the third of a 
             set of patches to remove LGPL from all trees.
             (See Bug# 11840513 for details) 
      65b3ba15
    • Jon Olav Hauglid's avatar
      Null merge from mysql-5.1 to mysql-5.5 · 435a7ad7
      Jon Olav Hauglid authored
      435a7ad7
    • Jon Olav Hauglid's avatar
      Bug# 11763784 (former 56541) · f526ad3e
      Jon Olav Hauglid authored
      ASSERTION TABLE->DB_STAT FAILED IN
      SQL_BASE.CC::OPEN_TABLE() DURING I_S Q
      
      This assert could be triggered if a statement requiring a name
      lock on a table (e.g. DROP TRIGGER) executed concurrently
      with an I_S query which also used the table.
      
      One connection first started an I_S query that opened a given table.
      Then another connection started a statement requiring a name lock
      on the same table. This statement was blocked since the table was
      in use by the I_S query. When the I_S query resumed and tried to
      open the table again as part of get_all_tables(), it would encounter
      a table instance with an old version number representing the pending
      name lock. Since I_S queries ignore version checks and thus pending
      name locks, it would try to continue. This caused it to encounter
      the assert. The assert checked that the TABLE instance found with a
      different version, was a real, open table. However, since this TABLE
      instance instead represented a pending name lock, the check would
      fail and trigger the assert.
      
      This patch fixes the problem by removing the assert. It is ok for
      TABLE::db_stat to be 0 in this case since the TABLE instance can
      represent a pending name lock.
      
      Test case added to lock_sync.test.
      f526ad3e
  2. 28 Mar, 2011 21 commits
  3. 25 Mar, 2011 12 commits
  4. 24 Mar, 2011 4 commits
    • Luis Soares's avatar
      BUG#11765446 (BUG#58416) · 5c6cdef6
      Luis Soares authored
      Removing the test case from mysql-5.5 list of disabled
      test cases for the binlog suite. Actually, the test does
      not exist in mysql-5.5, thus this is just a clean up.
      5c6cdef6
    • Luis Soares's avatar
      BUG#11765446 (BUG#58416) · 4f5f84ca
      Luis Soares authored
      Original patch did not remove the test case from the list
      of disabled test cases. Removing it now!
      4f5f84ca
    • Luis Soares's avatar
    • Luis Soares's avatar
      BUG#11766865: 60091: RBR + NO PK + UPDATE NULL VALUE --> SLAVE BREAK WITH ERROR HA_ERR_END_OF_ · 4a496b7d
      Luis Soares authored
        
      The slave was not able to find the correct row in the innodb
      table, because the row fetched from the innodb table would not
      match the before image. This happened because the (don't care)
      bytes in the NULLed fields would change once the row was stored
      in the storage engine (from zero to the default value). This
      would make bulk memory comparison (using memcmp) to fail.
        
      We fix this by taking a preventing measure and avoiding memcmp
      for tables that contain nullable fields. Therefore, we protect
      the slave search routine from engines that return arbitrary
      values for don't care bytes (in the nulled fields). Instead, the
      slave thread will only check null_bits and those fields that are
      not set to NULL when comparing the before image against the
      storage engine row.
      
      mysql-test/extra/rpl_tests/rpl_record_compare.test:
        Added test case to the include file so that this is tested 
        with more than one engine.
      mysql-test/suite/rpl/r/rpl_row_rec_comp_innodb.result:
        Result update.
      mysql-test/suite/rpl/r/rpl_row_rec_comp_myisam.result:
        Result update.
      mysql-test/suite/rpl/t/rpl_row_rec_comp_myisam.test:
        Moved the include file last, so that the result from
        BUG#11766865 is not intermixed with the result for
        BUG#11760454.
      sql/log_event.cc:
        Skips memory comparison if the table has nullable 
        columns and compares only non-nulled fields in the
        field comparison loop.
      4a496b7d