1. 29 Mar, 2011 2 commits
    • Jon Olav Hauglid's avatar
      Null merge from mysql-5.1 to mysql-5.5 · a4d227ba
      Jon Olav Hauglid authored
      a4d227ba
    • Jon Olav Hauglid's avatar
      Bug# 11763784 (former 56541) · 455646e7
      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.
      455646e7
  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) · 155f82cf
      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.
      155f82cf
    • Luis Soares's avatar
      BUG#11765446 (BUG#58416) · f0edc626
      Luis Soares authored
      Original patch did not remove the test case from the list
      of disabled test cases. Removing it now!
      f0edc626
    • 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_ · 16e4677c
      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.
      16e4677c
  5. 23 Mar, 2011 1 commit