1. 27 Mar, 2009 4 commits
    • Alexey Kopytov's avatar
      Automerge. · a37e4311
      Alexey Kopytov authored
      a37e4311
    • Alexey Kopytov's avatar
      Fix for bug #43432: Union on floats does unnecessary rounding · afb2b6de
      Alexey Kopytov authored
        
      UNION could convert fixed-point FLOAT(M,D)/DOUBLE(M,D) columns  
      to FLOAT/DOUBLE when aggregating data types from the SELECT  
      substatements. While there is nothing particularly wrong with  
      this behavior, especially when M is greater than the hardware  
      precision limits, it could be confusing in cases when all  
      SELECT statements in a union have the same  
      FLOAT(M,D)/DOUBLE(M,D) columns with equal precision  
      specifications listed in the same position.  
        
      Since the manual is quite vague on what data type should be  
      returned in such cases, the bug was fixed by implementing the  
      most 'expected' behavior: do not convert FLOAT(M,D)/DOUBLE(M,D)  
      to anything else if all SELECT statements in a UNION have the  
      same precision for that column.  
      afb2b6de
    • Ramil Kalimullin's avatar
      Fix for bug #26288: savepoint not deleted, comit on empty transaction · 2005f3c7
      Ramil Kalimullin authored
      Problem: commit doesn't delete savepoints if there are no changes 
      in the transaction.
      
      Fix: delete them in such cases.
      2005f3c7
    • Leonard Zhou's avatar
      Merge · 75ab3274
      Leonard Zhou authored
      75ab3274
  2. 26 Mar, 2009 2 commits
    • Davi Arnaut's avatar
      Bug#33899: Deadlock in mysql_real_query with shared memory connections · bfa198c2
      Davi Arnaut authored
      The problem is that the read and write methods of the shared
      memory transport (protocol) didn't react to asynchronous close
      events, which could lead to a lock up as the client would wait
      (until time out) for a server response that will never come.
      
      The solution is to also wait for close events while waiting
      for I/O from or to the server.
      bfa198c2
    • Leonard Zhou's avatar
      BUG#35515 Aliases of variables in binary log are ignored with NAME_CONST. · 8c5bba72
      Leonard Zhou authored
            
      When add an aliase name after NAME_CONST, the aliase name will be overwrite.
            
      NAME_CONST will re-set the field's name only if there isn't an aliase in the
      function fix-fields().
      If there is an aliase, NAME_CONST doesn't re-set the field's name and keeps the old
      name.
      8c5bba72
  3. 25 Mar, 2009 5 commits
  4. 24 Mar, 2009 5 commits
    • Alexey Kopytov's avatar
      Automerge. · 159b18fa
      Alexey Kopytov authored
      159b18fa
    • Alexey Kopytov's avatar
      Fix for bug #43801: mysql.test takes too long, fails due to · b071b660
      Alexey Kopytov authored
                          expired timeout on debx86-b in PB 
      
      Moved the resource-intensive test case for bug #41486 into 
      a separate test file to reduce execution time for mysql.test. 
      b071b660
    • Alexey Kopytov's avatar
      Fix for bug #42965: isinf() on 32bit x86 with gcc 4.3 can · 73cb9b6e
      Alexey Kopytov authored
                          produce incorrect results for ROUND() 
      
      Added a workaround and a configure check to test whether 
      isinf() is affected by the GCC bug #39228. 
             
      Since no code in MySQL server is currently affected by that 
      bug, the patch is actually a safeguard for possible future 
      code modifications. No test cases or changelog entries are 
      needed. 
      73cb9b6e
    • Leonard Zhou's avatar
      Merge · 84a63525
      Leonard Zhou authored
      84a63525
    • Leonard Zhou's avatar
      BUG#41719 delayed INSERT into timestamp col needs set time_zone for concurrent binlogging · 97c6e3f8
      Leonard Zhou authored
      When do 'insert delayed' operation, the time_zone info doesn't be keeped in the row info.
      So when we do insert sometime later, time_zone didn't write into binlog.
      This will cause wrong result for timestamp column in slave.
      
      Our solution is that adding time_zone info with the delayed-row and
      restoring time_zone from row-info when execute that row in the furture by another thread.
      So we can write correct time_zone info into binlog and got correct result in slave.
      97c6e3f8
  5. 23 Mar, 2009 5 commits
    • Matthias Leich's avatar
      Merge of fixes into actual tree · 9c515e3d
      Matthias Leich authored
      9c515e3d
    • Matthias Leich's avatar
      Fix for Bug#43015 and Bug#43065 · 3e89ac01
      Matthias Leich authored
         Details for Bug#43015 main.lock_multi: Weak code (sleeps etc.)
         -------------------------------------------------------------
         - The fix for bug 42003 already removed a lot of the weaknesses mentioned.
         - Tests showed that there are unfortunately no improvements of this tests
           in MySQL 5.1 which could be ported back to 5.0.
         - Remove a superfluous "--sleep 1" around line 195
      
         Details for Bug#43065 main.lock_multi: This test is too big if the disk is slow
         -------------------------------------------------------------------------------
         - move the subtests for the bugs 38499 and 36691 into separate scripts
         - runtime under excessive parallel I/O load after applying the fix
           lock_multi           [ pass ]          22887
           lock_multi_bug38499  [ pass ]         536926
           lock_multi_bug38691  [ pass ]         258498
      3e89ac01
    • Sergey Glukhov's avatar
      remove compiler warnings · 1cff5b9c
      Sergey Glukhov authored
      1cff5b9c
    • Tatiana A. Nurnberg's avatar
      auto-merge · 8aff42f6
      Tatiana A. Nurnberg authored
      8aff42f6
    • Tatiana A. Nurnberg's avatar
      Bug#43254: SQL_SELECT_LIMIT=0 crashes command line client · e5a599bd
      Tatiana A. Nurnberg authored
      When asking what database is selected, client expected
      to *always* get an answer from the server.
      
      We now handle failure more gracefully.
      
      See comments in ticket for a discussion of what happens,
      and how things interlock.
      e5a599bd
  6. 20 Mar, 2009 1 commit
  7. 19 Mar, 2009 12 commits
  8. 18 Mar, 2009 3 commits
    • Bernt M. Johnsen's avatar
      Bug#43329 prepared for commit on 5.0 · b011395b
      Bernt M. Johnsen authored
      b011395b
    • 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
  9. 17 Mar, 2009 1 commit
  10. 15 Mar, 2009 1 commit
  11. 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