1. 19 Nov, 2010 1 commit
    • Dmitry Lenev's avatar
      Fix for bug #57985 "ONLINE/FAST ALTER PARTITION can fail and · b019ba2f
      Dmitry Lenev authored
      leave the table unusable".
       
      Failing ALTER statement on partitioned table could have left
      this table in an unusable state. This has happened in cases
      when ALTER was executed using "fast" algorithm, which doesn't 
      involve copying of data between old and new versions of table, 
      and the resulting new table was incompatible with partitioning
      function in some way.
       
      The problem stems from the fact that discrepancies between new 
      table definition and partitioning function are discovered only 
      when the table is opened. In case of "fast" algorithm this has
      happened too late during ALTER's execution, at the moment when
      all changes were already done and couldn't have been reverted.
       
      In the cases when "slow" algorithm, which copies data, is used 
      such discrepancies are detected at the moment new table
      definition is opened implicitly when new version of table is
      created in storage engine. As result ALTER is aborted before 
      any changes to table were done.
       
      This fix tries to address this issue by ensuring that "fast"
      algorithm behaves similarly to "slow" algorithm and checks
      compatibility between new definition and partitioning function 
      by trying to open new definition after .FRM file for it has 
      been created.
       
      Long term we probably should implement some way to check
      compatibility between partitioning function and new table
      definition which won't involve opening it, as this should
      allow much cleaner fix for this problem.
      b019ba2f
  2. 18 Nov, 2010 14 commits
  3. 17 Nov, 2010 4 commits
  4. 16 Nov, 2010 1 commit
  5. 17 Nov, 2010 2 commits
    • Jon Olav Hauglid's avatar
      Merge from mysql-5.5-bugteam to mysql-5.5-runtime · b23c19e8
      Jon Olav Hauglid authored
      No conflicts
      b23c19e8
    • Jon Olav Hauglid's avatar
      Bug #57663 Concurrent statement using stored function and DROP DATABASE · ed928b14
      Jon Olav Hauglid authored
                 breaks SBR
      
      The problem was that DROP DATABASE ignored any metadata locks on stored
      functions and procedures held by other connections. This made it
      possible for DROP DATABASE to drop functions/procedures that were in use
      by other connections and therefore break statement based replication.
      (DROP DATABASE could appear in the binlog before a statement using a
      dropped function/procedure.)
      
      This problem was an issue left unresolved by the patch for Bug#30977
      where metadata locks for stored functions/procedures were introduced.
      
      This patch fixes the problem by making sure DROP DATABASE takes
      exclusive metadata locks on all stored functions/procedures to be
      dropped.
      
      Test case added to sp-lock.test.
      ed928b14
  6. 16 Nov, 2010 10 commits
  7. 15 Nov, 2010 8 commits
    • Mattias Jonsson's avatar
      merge · 5bbe83f6
      Mattias Jonsson authored
      5bbe83f6
    • Mattias Jonsson's avatar
      merge · 61f14ae0
      Mattias Jonsson authored
      61f14ae0
    • Mattias Jonsson's avatar
      merge · 6b1a7db9
      Mattias Jonsson authored
      6b1a7db9
    • Mattias Jonsson's avatar
      merge · 71bf3d57
      Mattias Jonsson authored
      71bf3d57
    • Jorgen Loland's avatar
      Bug#54812: assert in Diagnostics_area::set_ok_status · 4bfd2121
      Jorgen Loland authored
                 during EXPLAIN
      
      Before the patch, send_eof() of some subclasses of 
      select_result (e.g., select_send::send_eof()) could 
      handle being called after an error had occured while others 
      could not. The methods that were not well-behaved would trigger
      an ASSERT on debug builds. Release builds were not affected.
      
      Consider the following query as an example for how the ASSERT
      could be triggered:
      
      A user without execute privilege on f() does
         SELECT MAX(key1) INTO @dummy FROM t1 WHERE f() < 1;
      resulting in "ERROR 42000: execute command denied to user..." 
      
      The server would end the query by calling send_eof(). The 
      fact that the error had occured would make the ASSERT trigger. 
      
      select_dumpvar::send_eof() was the offending method in the
      bug report, but the problem also applied to other 
      subclasses of select_result. This patch uniforms send_eof() 
      of all subclasses of select_result to handle being called 
      after an error has occured. 
      4bfd2121
    • Mattias Jonsson's avatar
      Bug#58197: main.variables-big fails on windows · 413dd7d2
      Mattias Jonsson authored
      The test result differs on windows, since
      it writes out 'localhost:<port>' instead of
      only 'localhost', since it uses tcp/ip instead
      of unix sockets on windows.
      
      Fixed by replacing that column.
      
      Also requires --big-test from some long running tests
      and added a weekly run of all test requiring --big-test.
      413dd7d2
    • Jon Olav Hauglid's avatar
      Bug #57663 Concurrent statement using stored function and DROP DATABASE · 294f3865
      Jon Olav Hauglid authored
                 breaks SBR
      
      This pre-requisite patch removes obsolete and dead code used to remove
      raid subdirectories and files during DROP DATABASE.
      
      Other parts of the raid code have already been removed in WL#5498
      and the support for MyISAM raid tables was removed in 5.0.
      294f3865
    • Jimmy Yang's avatar
      Fix Bug #16290 Unclear error message when adding foreign key constraint · f4cec494
      Jimmy Yang authored
      rb://502 approved by Sunny Bains
      f4cec494