1. 11 Oct, 2010 3 commits
    • 's avatar
      Null merge · da6cd49b
      authored
      The bug happened only on 5.1
      da6cd49b
    • 's avatar
      Bug#56226 Table map set to 0 after altering MyISAM table · d7767d4a
      authored
      After ALTER TABLE which changed only table's metadata, row-based
      binlog sometimes got corrupted since the tablemap was unexpectedly
      set to 0 for subsequent updates to the same table.
      
      ALTER TABLE which changed only table's metadata always reset
      table_map_id for the table share to 0. Despite the fact that
      0 is a valid value for table_map_id, this step caused problems
      as it could have created situation in which we had more than
      one table share with table_map_id equal 0. If more than one
      table with table_map_id are 0 were updated in the same statement,
      updates to these different tables were written into the same
      rows event. This caused slave server to crash.
      
      This bug happens only on 5.1. It doesn't affect 5.5+.
      
      This patch solves this problem by ensuring that ALTER TABLE
      statements which change metadata only never reset table_map_id
      to 0. To do this it changes reopen_table() to correctly use
      refreshed table_map_id value instead of using the old one/
      resetting it.
      d7767d4a
    • 's avatar
      Postfix for BUG#55375 · 36a2727e
      authored
      Removed option file and changed result file.
      36a2727e
  2. 10 Oct, 2010 2 commits
  3. 09 Oct, 2010 2 commits
    • 's avatar
      Manual merge · a667ce8e
      authored
      a667ce8e
    • 's avatar
      Bug#55375 Transaction bigger than max_binlog_cache_size crashes slave · b6682591
      authored
      When slave executes a transaction bigger than slave's max_binlog_cache_size,
      slave will crash. It is caused by the assert that server should only roll back
      the statement but not the whole transaction if the error ER_TRANS_CACHE_FULL 
      happens. But slave sql thread always rollbacks the whole transaction when
      an error happens.
                  
      Ather this patch, we always clear any error set in sql thread(it is different
      from the error in 'SHOW SLAVE STATUS') and it is cleared before rolling back
      the transaction.
      b6682591
  4. 08 Oct, 2010 13 commits
  5. 07 Oct, 2010 20 commits
    • Luis Soares's avatar
      e514a7a6
    • Davi Arnaut's avatar
      Bug#56822: Add a thread state for sessions waiting on the query cache lock · 76643a46
      Davi Arnaut authored
      The problem was that threads waiting on the query cache lock
      are not easily seen due to the lack of a state indicating that
      the thread is waiting on the said lock. This made it difficult
      for users to quickly spot (for example, via SHOW PROCESSLIST)
      a query cache contention problem.
      
      The solution is to update the thread state when the query cache
      lock needs to be acquired. Whenever the lock is to be acquired,
      the thread state is updated to "Waiting for query cache lock"
      and is reset once the lock is granted or the wait is interrupted.
      The intention is to make query cache related hangs more evident.
      
      To further investigate query cache related locking problems, one
      may use PERFORMANCE_SCHEMA to track the overhead associated with
      the locking bits and determine which particular lock is being a
      contention point.
      76643a46
    • Evgeny Potemkin's avatar
      Auto-merged. · 8fceaa38
      Evgeny Potemkin authored
      8fceaa38
    • Evgeny Potemkin's avatar
      Bug#57095: Wrongly chosen expression cache type led to a wrong result. · 2fd0bc63
      Evgeny Potemkin authored
      The coalesce function returned DATETIME type due to a DATETIME argument, but
      since it's not a date/time function it can't return correct int value for
      it. Nevertheless Item_datetime_cache was chosen to cache coalesce's result
      and that led to a wrong result.
      
      Now Item_datetime_cache is used only for those function that could return
      correct int representation of DATETIME values.
      2fd0bc63
    • Sergey Vojtovich's avatar
      818e848d
    • Luis Soares's avatar
      BUG#54144: ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE is hard coded · cc15d246
      Luis Soares authored
            
      The error message for ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE was
      hard coded. Additionally, the same error was used in three
      separate error symptoms: 1. when heartbeat period exceeds the
      value of slave_net_timeout, 2. when it is smaller than 1
      milisecond and 3. when it was not in range, ie, either negative
      or greater than the maximum allowed.
            
      We fix this by splitting into three distinct errors and by
      removing the message from the source code and moving it to the
      errmsg-utf8.txt file.
      cc15d246
    • Georgi Kodinov's avatar
      null-merge to 5.5-bugteam · a041d958
      Georgi Kodinov authored
      a041d958
    • Georgi Kodinov's avatar
      merge · a25b6902
      Georgi Kodinov authored
      a25b6902
    • Georgi Kodinov's avatar
      bumped the version to 5.1.53 · bf488324
      Georgi Kodinov authored
      bf488324
    • Jon Olav Hauglid's avatar
      Merge from mysql-5.5-runtime to mysql-5.5-bugteam · ee1ea445
      Jon Olav Hauglid authored
      No conflicts
      ee1ea445
    • Dmitry Shulga's avatar
      Fixed bug#45445 - cannot execute procedures with thread_stack · eec581e0
      Dmitry Shulga authored
      set to 128k.
      eec581e0
    • Vasil Dimov's avatar
      Merge mysql-5.5-innodb -> mysql-5.5-bugteam · 8bdbfe6a
      Vasil Dimov authored
      8bdbfe6a
    • Calvin Sun's avatar
      bug#56318: adjust the result files. · 2913b025
      Calvin Sun authored
      2913b025
    • Martin Hansson's avatar
      Bug#56423: Different count with SELECT and CREATE SELECT queries · d6ee2ecf
      Martin Hansson authored
      This is the 5.5 version of the fix. The 5.1 version was too complicated to
      merge and was null merged.
      
      This is a regression from the fix for bug no 38999. A storage engine capable
      of reading only a subset of a table's columns updates corresponding bits in
      the read buffer to signal that it has read NULL values for the corresponding
      columns. It cannot, and should not, update any other bits. Bug no 38999
      occurred because the implementation of UPDATE statements compare the NULL bits
      using memcmp, inadvertently comparing bits that were never requested from the
      storage engine. The regression was caused by the storage engine trying to
      alleviate the situation by writing to all NULL bits, even those that it had no
      knowledge of. This has devastating effects for the index merge algorithm,
      which relies on all NULL bits, except those explicitly requested, being left
      unchanged.
      
      The fix reverts the fix for bug no 38999 in both InnoDB and InnoDB plugin and
      changes the server's method of comparing records. For engines that always read
      entire rows, we proceed as usual. For engines capable of reading only select
      columns, the record buffers are now compared on a column by column basis. An
      assertion was also added so that non comparable buffers are never read. Some
      relevant copy-pasted code was also consolidated in a new function.
      d6ee2ecf
    • Magnus Blåudd's avatar
      Bug#56397 The version of NDB in MySQL Server should be constant · ef7300b8
      Magnus Blåudd authored
       - Fix the version of NDB in MySQL Server to 5.5.7(although it's actually 6.2.18)
      ef7300b8
    • Magnus Blåudd's avatar
      WL#5503 SEAGULL: Move config/ac-macros/ha_ndbcluster.m4 to storage/ndb/ · 455d1f6a
      Magnus Blåudd authored
       - Move file ha_ndbcluster.m4
       - Move "sinclude" directive from configure.in to storag/ndb/plug.in
      455d1f6a
    • Evgeny Potemkin's avatar
      Auto-merged. · 893b89d9
      Evgeny Potemkin authored
      893b89d9
    • Martin Hansson's avatar
      8cf992dc
    • Evgeny Potemkin's avatar
      Auto-merged. · 28af216c
      Evgeny Potemkin authored
      28af216c
    • Martin Hansson's avatar
      Bug#56423: Different count with SELECT and CREATE SELECT queries · 9c82ecec
      Martin Hansson authored
      This is a regression from the fix for bug no 38999. A storage engine capable
      of reading only a subset of a table's columns updates corresponding bits in
      the read buffer to signal that it has read NULL values for the corresponding
      columns. It cannot, and should not, update any other bits. Bug no 38999
      occurred because the implementation of UPDATE statements compare the NULL bits
      using memcmp, inadvertently comparing bits that were never requested from the
      storage engine. The regression was caused by the storage engine trying to
      alleviate the situation by writing to all NULL bits, even those that it had no
      knowledge of. This has devastating effects for the index merge algorithm,
      which relies on all NULL bits, except those explicitly requested, being left
      unchanged.
      
      The fix reverts the fix for bug no 38999 in both InnoDB and InnoDB plugin and
      changes the server's method of comparing records. For engines that always read
      entire rows, we proceed as usual. For engines capable of reading only select
      columns, the record buffers are now compared on a column by column basis. An
      assertion was also added so that non comparable buffers are never read. Some
      relevant copy-pasted code was also consolidated in a new function.
      9c82ecec