1. 19 Mar, 2009 8 commits
    • Staale Smedseng's avatar
      Bug #42502 huge memory leak possible with timezone · 4ecbd0b5
      Staale Smedseng authored
      functions
            
      Unknown timezone specifications are properly rejected
      by the server, but are copied into tz_storage before
      rejection, and hence is retained until end of server 
      life. With sufficiently large bogus timezone specs, 
      it is easy to exhaust system memory.
            
      Allocation of memory for a copy of the timezone
      name is delayed until after verification of validity,
      at the cost of a memcpy of the timezone info. This 
      only happens once, future lookups will hit the cached
      structure.
      4ecbd0b5
    • Alexey Kopytov's avatar
      Automerge. · 5e7238e7
      Alexey Kopytov authored
      5e7238e7
    • Alexey Kopytov's avatar
      Fixed test failures in 5.1/6.0 introduced by the patch · a82402dd
      Alexey Kopytov authored
      for bug #41486. Session max_allowed_packet is read-only
      as of MySQL 5.1.31. In addition, the global variable
      now has no effect on the current session.
      a82402dd
    • Sergey Glukhov's avatar
      automerge · a910db2b
      Sergey Glukhov authored
      a910db2b
    • Sergey Glukhov's avatar
      28d6b77c
    • Satya B's avatar
      merge to 5.0-bugteam · 6ca68ad1
      Satya B authored
      6ca68ad1
    • Sergey Glukhov's avatar
      Bug#41627 Illegal mix of collations in LEAST / GREATEST / CASE · 5ff4e44b
      Sergey Glukhov authored
      Don't throw an error after checking the first and the second arguments.
      Continue with checking the third and higher arguments and if some of
      them is stronger according to coercibility rules,
      then this argument's collation is set as result collation.
      5ff4e44b
    • Satya B's avatar
      Fix for BUG#21360 - mysqldump error on federated tables · 4f333c87
      Satya B authored
                              
      When loading dump created by mysqldump tool an error is
      thrown saying storage engine for the table doesn't have 
      an option.
                              
      mysqldump tries to re-insert the data into the federated
      table which causes the error. Since the data is already
      available on the remote server, mysqldump shouldn't try
      to dump the data again for FEDERATED tables.
                              
      As stated in the bug page, it can be considered similar
      to the MERGE ENGINE with "view only" nature.
                              
      Fixed by adding the "FEDERATED ENGINE" to the exception
      list to ignore the data.
      4f333c87
  2. 18 Mar, 2009 2 commits
    • Alexey Kopytov's avatar
      Automerge. · 5315ffa7
      Alexey Kopytov authored
      5315ffa7
    • Alexey Kopytov's avatar
      Fix for bug#41486: extra character appears in BLOB for every · a3e5737a
      Alexey Kopytov authored
                         ~40Mb after mysqldump/import 
              
      When the input string exceeds the maximum allowed size for the 
      internal buffer, batch_readline() returns a truncated string. 
      Since there was no way for a caller to determine whether the 
      string was truncated or not, the command line client assumed 
      batch_readline() to always return the whole input string and 
      appended a newline character. This resulted in garbled data 
      when importing dumps containing strings longer than the 
      maximum input buffer size. 
        
      Fixed by adding a flag to the batch_readline() interface to 
      signal a truncated string to the caller. 
        
      Other minor problems fixed during patch implementation: 
       
      - The maximum allowed buffer size for batch_readline() was set 
      up depending on the client's max_allowed_packet value. It does 
      not actully make any sense, as those variables are not 
      related. The input buffer size limit is now always set to 1 
      MB. 
        
      - fill_buffer() did not always set the EOF flag. 
       
      - The input buffer could actually grow twice as the specified 
      limit due to insufficient checks in intern_read_line(). 
      a3e5737a
  3. 17 Mar, 2009 1 commit
  4. 15 Mar, 2009 1 commit
  5. 13 Mar, 2009 1 commit
    • Georgi Kodinov's avatar
      Bug #22047 : Time in SHOW PROCESSLIST for SQL thread in replication · 8a5a8045
      Georgi Kodinov authored
      seems to become negative
      
      THD::start_time has a dual meaning : it's either the time since the process
      entered a given state or is the transaction time returned by e.g. NOW().
      This causes problems, as sometimes THD::start_time may be set to a value
      that is correct and needed when used as a base for NOW(), but these times
      may be arbitrary (SET @@timestamp) or non-local (coming from the master 
      through the replication feed).
      If one such non-local time is set there's no way to return a correct value
      for e.g. SHOW PROCESSLIST or SELECT ... FROM INFORMATION_SCHEMA.PROCESSLIST.
      Fixed by making the Time column in SHOW PROCESSLIST SIGNED LONG instead of 
      UNSIGNED LONG and doing the correct conversions.
            
      Note that no reliable test suite can be constructed, since it would require
      knowing the local time and can't be achieved by the means of the current test
      suite.
      8a5a8045
  6. 12 Mar, 2009 1 commit
  7. 11 Mar, 2009 2 commits
  8. 10 Mar, 2009 1 commit
  9. 09 Mar, 2009 3 commits
  10. 11 Mar, 2009 2 commits
  11. 10 Mar, 2009 1 commit
  12. 09 Mar, 2009 6 commits
  13. 06 Mar, 2009 3 commits
    • Kristofer Pettersson's avatar
      Manual merge · d6634f46
      Kristofer Pettersson authored
      d6634f46
    • He Zhenxing's avatar
      Auto merge · c8532bc9
      He Zhenxing authored
      c8532bc9
    • He Zhenxing's avatar
      BUG#22082 Slave hangs(holds mutex) on "disk full" · e7605e33
      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
      e7605e33
  14. 05 Mar, 2009 3 commits
  15. 03 Mar, 2009 4 commits
    • Matthias Leich's avatar
      Last slice of fix for Bug#42003 tests missing the disconnect of connections <> default · b771483b
      Matthias Leich authored
      + Fix for Bug#43114 wait_until_count_sessions too restrictive, random PB failures
      + Removal of a lot of other weaknesses found
      + modifications according to review
      b771483b
    • Timothy Smith's avatar
      Applying InnoDB snashot 5.0-ss4007, part 3. Fixes · 6ac6c9ed
      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
      6ac6c9ed
    • Timothy Smith's avatar
      Applying InnoDB snashot 5.0-ss4007, part 2. Fixes · fd5642b6
      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)
      fd5642b6
    • Timothy Smith's avatar
      Applying InnoDB snashot 5.0-ss4007, part 1. Fixes · acc83c2b
      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
      acc83c2b
  16. 02 Mar, 2009 1 commit