1. 27 Jan, 2011 1 commit
  2. 26 Jan, 2011 12 commits
    • Mattias Jonsson's avatar
      merge of bug 47902 and (null-merge) of bug 57924. · 04a86111
      Mattias Jonsson authored
      bug#57924 does not occur in 5.5, so I reverted the 5.1 specific
      code and used the errors from 5.5 instead in the tests
      04a86111
    • Mattias Jonsson's avatar
      merge · 4e47db3a
      Mattias Jonsson authored
      4e47db3a
    • Mattias Jonsson's avatar
      merge · 15f635fd
      Mattias Jonsson authored
      15f635fd
    • Jon Olav Hauglid's avatar
      Bug #42230 during add index, cannot do queries on storage engines · 5e035790
      Jon Olav Hauglid authored
                 that implement add_index
      
      The problem was that ALTER TABLE blocked reads on an InnoDB table
      while adding a secondary index, even if this was not needed. It is
      only needed for the final step where the .frm file is updated.
      
      The reason queries were blocked, was that ALTER TABLE upgraded the
      metadata lock from MDL_SHARED_NO_WRITE (which blocks writes) to
      MDL_EXCLUSIVE (which blocks all accesses) before index creation.
      
      The way the server handles index creation, is that storage engines
      publish their capabilities to the server and the server determines
      which of the following three ways this can be handled: 1) build a
      new version of the table; 2) change the existing table but with
      exclusive metadata lock; 3) change the existing table but without
      metadata lock upgrade.
      
      For InnoDB and secondary index creation, option 3) should have been
      selected. However this failed for two reasons. First, InnoDB did
      not publish this capability properly.
      
      Second, the ALTER TABLE code failed to made proper use of the
      information supplied by the storage engine. A variable
      need_lock_for_indexes was set accordingly, but was not later used.
      This patch fixes this problem by only doing metadata lock upgrade
      before index creation/deletion if this variable has been set.
      
      This patch also changes some of the related terminology used 
      in the code. Specifically the use of "fast" and "online" with
      respect to ALTER TABLE. "Fast" was used to indicate that an
      ALTER TABLE operation could be done without involving a
      temporary table. "Fast" has been renamed "in-place" to more
      accurately describe the behavior.
      
      "Online" meant that the operation could be done without taking
      a table lock. However, in the current implementation writes
      are always prohibited during ALTER TABLE and an exclusive
      metadata lock is held while updating the .frm, so ALTER TABLE
      is not completely online. This patch replaces "online" with 
      "in-place", with additional comments indicating if concurrent
      reads are allowed during index creation/deletion or not.
      
      An important part of this update of terminology is renaming
      of the handler flags used by handlers to indicate if index
      creation/deletion can be done in-place and if concurrent reads
      are allowed. For example, the HA_ONLINE_ADD_INDEX_NO_WRITES
      flag has been renamed to HA_INPLACE_ADD_INDEX_NO_READ_WRITE,
      while HA_ONLINE_ADD_INDEX is now HA_INPLACE_ADD_INDEX_NO_WRITE.
      Note that this is a rename to clarify current behavior, the
      flag values have not changed and no flags have been removed or
      added.
      
      Test case added to innodb_mysql_sync.test.
      5e035790
    • Ramil Kalimullin's avatar
      Auto-merge · d95d1c96
      Ramil Kalimullin authored
      d95d1c96
    • Ramil Kalimullin's avatar
    • Ramil Kalimullin's avatar
      Bug #47811 : remove the non-default alignment specification. · 4eb70545
      Ramil Kalimullin authored
      Fix backported from to 5.0.
      "Remove the alignment option, let valgrind use its default"
      4eb70545
    • Alfranio Correia's avatar
      merge mysql-5.1 --> mysql-5.5 · 47238d44
      Alfranio Correia authored
      47238d44
    • Alfranio Correia's avatar
    • Libing Song's avatar
      Auto Merge. · a64a0e0f
      Libing Song authored
      a64a0e0f
    • Libing Song's avatar
      Null Merge. · 19128946
      Libing Song authored
      19128946
    • Libing Song's avatar
      Postfix bug#49124 · c895aba3
      Libing Song authored
      Updated the copyright.
      c895aba3
  3. 25 Jan, 2011 6 commits
  4. 24 Jan, 2011 2 commits
  5. 21 Jan, 2011 2 commits
  6. 20 Jan, 2011 1 commit
  7. 19 Jan, 2011 7 commits
  8. 18 Jan, 2011 9 commits
    • Libing Song's avatar
      Automerge · 921dcabe
      Libing Song authored
      921dcabe
    • Anitha Gopi's avatar
      automerge · 72a109bf
      Anitha Gopi authored
      72a109bf
    • Anitha Gopi's avatar
    • Libing Song's avatar
      Manual merge · 2d0fcc1d
      Libing Song authored
      2d0fcc1d
    • Libing Song's avatar
      Bug#58546 test rpl_packet timeout failure sporadically on PB · 5d75729c
      Libing Song authored
                  
      rpl_packet got a timeout failure sporadically on PB when stopping
      slave. The real reason of this bug is that STOP SLAVE stopped
      IO thread first and then stopped SQL thread. It was
      possible that IO thread stopped after replicating part of a
      transaction which SQL thread was executing. SQL thread would
      be hung if the transaction could not be rolled back safely.
                  
      After this patch, STOP SLAVE will stop SQL thread first and then stop IO
      thread, which guarantees that IO thread will fetch the reset of the
      events of the transaction that SQL thread is executing, so that SQL
      thread can finish the transaction if it cannot be rolled back safely.
                  
      Added below auxiliary files to make the test code neater.
      restart_slave_sql.inc
      rpl_connection_master.inc
      rpl_connection_slave.inc
      rpl_connection_slave1.inc
      5d75729c
    • John H. Embretsen's avatar
      Post push test fix for show_check.test. · 634b1025
      John H. Embretsen authored
      Fix for bug#45740 introduced test case using SHOW TABLE STATUS against a Memory table using latin1 character in table name.
      The test failed on Windows and FreeBSD due to a difference in the value for Avg_row_length.
      The average row length normally depends on the values for data length and row count. According to the 5.5 manual data length is approximate with Memory tables.
      With MyISAM and InnoDB the Avg_row_length is the same on Windows and Solaris.
      The solution implemented by this patch is to mask out the value for Avg_row_length, as it may vary when using Memory tables.
      634b1025
    • Bjorn Munch's avatar
      upmerge undo of 59063 · 8379f01b
      Bjorn Munch authored
      8379f01b
    • Bjorn Munch's avatar
      Bug #59063 rpl_migration_crash_safe fails on Windows · 9c7abc25
      Bjorn Munch authored
      Undoing the patch, it complicates the code but is not the solution
      
      I do not beleive newline mismatch could be the cause of this failure
      First, I cannot see how this could be a problem, mtr ignores the newline
        when reading the expect file, and the file is written and read on Windows.
      Second, if this really was the problem it should have been deterministic:
        either the newline is correctly interepreted or it is not.
      9c7abc25
    • Bjorn Munch's avatar
      oops forgot one file in last commit · 813af29b
      Bjorn Munch authored
      813af29b