1. 09 Mar, 2009 5 commits
  2. 06 Mar, 2009 3 commits
    • Kristofer Pettersson's avatar
      Manual merge · e327e572
      Kristofer Pettersson authored
      e327e572
    • He Zhenxing's avatar
      Auto merge · a8bc9544
      He Zhenxing authored
      a8bc9544
    • He Zhenxing's avatar
      BUG#22082 Slave hangs(holds mutex) on "disk full" · 5e6bb207
      He Zhenxing authored
      When disk is full, server may waiting for free space while
      writing binlog, relay-log or MyISAM tables. The server will 
      continue after user have freed some space. But the error
      message printed was not quite clear about the how often the
      error message is printed, and there will be a delay before
      the server continue and user freeing space. And caused users
      thinking that the server was hanging forever.
      
      This patch fixed the problem by making the error messages
      printed more clear. The error message is split into two part,
      the first part will only be printed once, and the second part
      will be printed very 10 times.
      
      Message first part:
      Disk is full writing '<filename>' (Errcode: <errorno>). Waiting
      for someone to free space... (Expect up to 60 secs delay for 
      server to continue after freeing disk space)
      
      Message second part:
      Retry in 60 secs, Message reprinted in 600 secs
      5e6bb207
  3. 05 Mar, 2009 2 commits
    • Kristofer Pettersson's avatar
      Bug#40363 Bug 20023 is not fixed on 5.0 · ef07bea3
      Kristofer Pettersson authored
      This is a back port from 5.1 to 5.0.
      
      Fix for BUG 20023: mysql_change_user() resets the value
      of SQL_BIG_SELECTS.
        
      The bug was that SQL_BIG_SELECTS was not properly set
      in COM_CHANGE_USER.
        
      The fix is to update SQL_BIG_SELECTS properly.
      
      
      
      sql/sql_class.cc:
        Update THD::options with the respect to SQL_BIG_SELECTS
        in COM_CHANGE_USER.
      tests/mysql_client_test.c:
        Add a test case BUG#20023.
      ef07bea3
    • He Zhenxing's avatar
      BUG#37051 Replication rules not evaluated correctly · 91cb65a6
      He Zhenxing authored
      Backporting patch to 5.0.
      91cb65a6
  4. 03 Mar, 2009 3 commits
    • Timothy Smith's avatar
      Applying InnoDB snashot 5.0-ss4007, part 3. Fixes · 31f226b0
      Timothy Smith authored
      Bug #41571: MySQL segfaults after innodb recovery
      
      This 5.0 fix will not be pushed into 5.1; a separate fix (from
      innodb-5.1-ss4007) will be pushed into 5.1+.
      
      Detailed revision comments:
      
      r4003 | marko | 2009-01-20 16:12:50 +0200 (Tue, 20 Jan 2009) | 10 lines
      branches/5.0: rec_set_nth_field(): When the field already is SQL null,
      do nothing when it is being changed to SQL null. (Bug #41571)
      
      Normally, MySQL does not pass "do-nothing" updates to the storage engine.
      When it does and a column of an InnoDB table that is in ROW_FORMAT=COMPACT
      is being updated from NULL to NULL, the InnoDB buffer pool will be corrupted
      without this fix.
      
      rb://81 approved by Heikki Tuuri
      31f226b0
    • Timothy Smith's avatar
      Applying InnoDB snashot 5.0-ss4007, part 2. Fixes · 25609759
      Timothy Smith authored
      Bug #18828: If InnoDB runs out of undo slots, it returns misleading 'table is full'
      
      This is a backport of code already in 5.1+.  The error message change referred
      to in the detailed revision comments is still pending.
      
      Detailed revision comments:
      
      r3937 | calvin | 2009-01-15 03:11:56 +0200 (Thu, 15 Jan 2009) | 17 lines
      branches/5.0:
      
      Backport the fix for Bug#18828. Return DB_TOO_MANY_CONCURRENT_TRXS
      when we run out of UNDO slots in the rollback segment. The backport
      is requested by MySQL under bug#41529 - Safe handling of InnoDB running
      out of undo log slots.
      
      This is a partial fix since the MySQL error code requested to properly
      report the error condition back to the client has not yet materialized.
      Currently we have #ifdef'd the error code translation in ha_innodb.cc.
      This will have to be changed as and when MySQl add the new requested
      code or an equivalent code that we can then use.
      
      Given the above, currently we will get the old behavior, not the
      "fixed" and intended behavior.
      
      Approved by:	Heikki (on IM)
      25609759
    • Timothy Smith's avatar
      Applying InnoDB snashot 5.0-ss4007, part 1. Fixes · 9486c5e1
      Timothy Smith authored
      Bug #39939: DROP TABLE/DISCARD TABLESPACE takes long time in buf_LRU_invalidate_tablespace()
      
      This was already fixed in 5.1+; this is a backport to 5.0.
      
      Detailed revision comments:
      
      r2743 | inaam | 2008-10-08 22:18:12 +0300 (Wed, 08 Oct 2008) | 13 lines
      branches/5.0:
      
      Backport of r2742 from branches/5.1:
      
      Fix Bug#39939 DROP TABLE/DISCARD TABLESPACE takes long time in
      buf_LRU_invalidate_tablespace()
      
      Improve implementation of buf_LRU_invalidate_tablespace by attempting
      hash index drop in batches instead of doing it one by one.
      
      Reviewed by: Heikki, Sunny, Marko
      Approved by: Heikki
      9486c5e1
  5. 02 Mar, 2009 2 commits
  6. 27 Feb, 2009 6 commits
    • Staale Smedseng's avatar
      Commit after merge from 5.0-bugteam · c8eade99
      Staale Smedseng authored
      c8eade99
    • Staale Smedseng's avatar
      Recommit for merging and pushing · 76ff67d6
      Staale Smedseng authored
      76ff67d6
    • Georgi Kodinov's avatar
      Bug #41610: key_infix_len can be overwritten causing some group by queries to · baf88385
      Georgi Kodinov authored
      return no rows
      
      The algorithm of determining the best key for loose index scan is doing a loop
      over the available indexes and selects the one that has the best cost.
      It retrieves the parameters of the current index into a set of variables.
      If the cost of using the current index is lower than the best cost so far it 
      copies these variables into another set of variables that contain the 
      information for the best index so far.
      After having checked all the indexes it uses these variables (outside of the 
      index loop) to create the table read plan object instance.
      The was a single omission : the key_infix/key_infix_len variables were used 
      outside of the loop without being preserved in the loop for the best index 
      so far.
      This causes these variables to get overwritten by the next index(es) checked.
      Fixed by adding variables to hold the data for the current index, passing 
      the new variables to the function that assigns values to them and copying 
      the new variables into the existing ones when selecting a new current best 
      index.
      To avoid further such problems moved the declarations of the variables used 
      to keep information about the current index inside the loop's compound 
      statement.
      
      mysql-test/r/group_min_max.result:
        Bug #41610: test case
      mysql-test/t/group_min_max.test:
        Bug #41610: test case
      sql/opt_range.cc:
        Bug #41610: copy the infix data for the current best index
      baf88385
    • Patrick Crews's avatar
    • Patrick Crews's avatar
      merge. · f26b50dc
      Patrick Crews authored
      f26b50dc
    • Georgi Kodinov's avatar
  7. 26 Feb, 2009 5 commits
    • Georgi Kodinov's avatar
      Bug #41354: Access control is bypassed when all columns · 6f026345
      Georgi Kodinov authored
      of a view are selected by * wildcard
      
      Backported a part of the fix for 36086 to 5.0
      
      mysql-test/r/view_grant.result:
        Bug #41354: test case
      mysql-test/t/view_grant.test:
        Bug #41354: test case
      sql/sql_acl.cc:
        Bug #41354: return table error when no access and *
      sql/sql_base.cc:
        Bug #41354: backported the check in bug 36086 to 5.0
      6f026345
    • Patrick Crews's avatar
      Bug#41893 - main.variables mysql-test fails if new variable like '%alloc%' is added. · 1003f3ee
      Patrick Crews authored
      Fixed a typo in the bug fix patch.
      1003f3ee
    • Ramil Kalimullin's avatar
      Auto-merge · ec191ce2
      Ramil Kalimullin authored
      ec191ce2
    • Patrick Crews's avatar
      Bug#41893: main.variables mysql-test fails if new variable like '%alloc%' is added. · b88fefba
      Patrick Crews authored
      Started fix in 5.0 as the same issue is here.
      Revising queries used given what appears to be the scope of this test to only select the manipulated variables.
      Added tests for values that are / are not multiples of 1024 to test rounding / constraints.
      This behavior is not currently documented (docs bug has been opened)
      b88fefba
    • Ramil Kalimullin's avatar
      Fix for bug#19829:make test Failed in mysql_client_test · 877fedaa
      Ramil Kalimullin authored
      *with --with-charset=utf8*
      
      Problem: wrong LONG TEXT field length is sent to a client 
      when multibyte server character set used.
      
      Fix: always limit field length sent to a client to 2^32,
      as we store it in 4 byte slot.
      
      Note: mysql_client_test changed accordingly.
      
      
      sql/protocol.cc:
        Fix for bug#19829:make test Failed in mysql_client_test 
        *with --with-charset=utf8*
          - limit field length sent to client to UINT_MAX32 as 
            it may exceeds 32 bit slot for LONG TEXT fields if
            thd_charset->mbmaxlen > 1.
      tests/mysql_client_test.c:
        Fix for bug#19829:make test Failed in mysql_client_test
        *with --with-charset=utf8*
          - checking field members have in mind that field length
            is limited to UINT_MAX32.
      877fedaa
  8. 25 Feb, 2009 8 commits
  9. 24 Feb, 2009 6 commits