1. 01 Apr, 2009 2 commits
    • Gleb Shchepa's avatar
      Backport bug #37348 fix 5.1 --> 5.0. · 32360968
      Gleb Shchepa authored
      Original commentary:
      
      Bug #37348: Crash in or immediately after JOIN::make_sum_func_list
                  
      The optimizer pulls up aggregate functions which should be aggregated in
      an outer select. At some point it may substitute such a function for a field
      in the temporary table. The setup_copy_fields function doesn't take this
      into account and may overrun the copy_field buffer.
                  
      Fixed by filtering out the fields referenced through the specialized
      reference for aggregates (Item_aggregate_ref).
      Added an assertion to make sure bugs that cause similar discrepancy 
      don't go undetected.
      32360968
    • Georgi Kodinov's avatar
      merged 5.0-main -> 5.0-bugteam · 4e19677a
      Georgi Kodinov authored
      4e19677a
  2. 30 Mar, 2009 1 commit
  3. 27 Mar, 2009 8 commits
    • Georgi Kodinov's avatar
      tree name changed · 14d905f9
      Georgi Kodinov authored
      14d905f9
    • Georgi Kodinov's avatar
      fixed a compilation warning · 5bc77b8b
      Georgi Kodinov authored
      5bc77b8b
    • Staale Smedseng's avatar
      Merge from 5.0-bugteam · d186014c
      Staale Smedseng authored
      d186014c
    • Alexey Kopytov's avatar
      Automerge. · a37e4311
      Alexey Kopytov authored
      a37e4311
    • Staale Smedseng's avatar
      Bug#39953 Triggers are not working properly with multi table · fce11a8b
      Staale Smedseng authored
      updates
      
      Attempt to execute trigger or stored function with multi-UPDATE
      which used - but didn't update - a table that was also used by
      the calling statement led to an error. Read-only reference to
      tables used in the calling statement should be allowed.
       
      This problem was caused by the fact that check for conflicting
      use of tables in SP/triggers was performed in open_tables(),
      and in case of multi-UPDATE we didn't know exact lock type at
      this stage.
      
      We solve the problem by moving this check to lock_tables(), so
      it can be performed after exact lock types for tables used by
      multi-UPDATE are determined.
      fce11a8b
    • 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
  4. 26 Mar, 2009 3 commits
  5. 25 Mar, 2009 9 commits
    • Ramil Kalimullin's avatar
      Auto-merge · 63821b17
      Ramil Kalimullin authored
      63821b17
    • Ramil Kalimullin's avatar
      Fix for bug#35383: binlog playback and replication breaks · cf6c7262
      Ramil Kalimullin authored
      due to name_const substitution
      
      Problem:
      "In general, statements executed within a stored procedure
      are written to the binary log using the same rules that
      would apply were the statements to be executed in standalone
      fashion. Some special care is taken when logging procedure
      statements because statement execution within procedures
      is not quite the same as in non-procedure context".
      
      For example, each reference to a local variable in SP's
      statements is replaced by NAME_CONST(var_name, var_value).
      Queries like
      "CREATE TABLE ... SELECT FUNC(local_var ..."
      are logged as
      "CREATE TABLE ... SELECT FUNC(NAME_CONST("local_var", var_value) ..."
      that leads to differrent field names and
      might result in "Incorrect column name" if var_value is long enough.
      
      Fix: in 5.x we'll issue a warning in such a case.
      In 6.0 we should get rid of NAME_CONST().
      
      Note: this issue and change should be described in the documentation
      ("Binary Logging of Stored Programs").
      cf6c7262
    • Tatiana A. Nurnberg's avatar
      Bug#43748: crash when non-super user tries to kill the replication threads · de8042d0
      Tatiana A. Nurnberg authored
      Fine-tuning. Broke out comparison into method by
      suggestion of Davi. Clarified comments. Reverting
      test-case which I find too brittle; proper test
      case in 5.1+.
      de8042d0
    • Georgi Kodinov's avatar
      Bug#43748: crash when non-super user tries to kill the replication threads · 08626e80
      Georgi Kodinov authored
      (Pushing for Azundris)
            
      We allow security-contexts with NULL users (for
      system-threads and for unauthenticated users).
      If a non-SUPER-user tried to KILL such a thread,
      we tried to compare the user-fields to see whether
      they owned that thread. Comparing against NULL was
      not a good idea.
            
      If KILLer does not have SUPER-privilege, we
      specifically check whether both KILLer and KILLee
      have a non-NULL user before testing for string-
      equality. If either is NULL, we reject the KILL.
      08626e80
    • Alexey Kopytov's avatar
      Automerge. · 1517db6b
      Alexey Kopytov authored
      1517db6b
    • Chad MILLER's avatar
      341e19b9
    • Satya B's avatar
      merge to 5.0-bugteam · f11de02e
      Satya B authored
      f11de02e
    • Satya B's avatar
      Fix for BUG#41541 - Valgrind warnings on packed MyISAM table · 7b1d72a0
      Satya B authored
                  
      After the table is compressed by the myisampack utility,
      opening the table by the server produces valgrind warnings.
            
      This happens because when we try to read a record into the buffer
      we alway assume that the remaining buffer to read is always equal 
      to word size(4 or 8 or 2 bytes) we read. Sometimes we have 
      remaining buffer size less than word size and trying to read the 
      entire word size will end up in valgrind errors.
                  
      Fixed by reading byte by byte when we detect the remaining buffer 
      size is less than the word size.
      7b1d72a0
    • Leonard Zhou's avatar
      Fix the test case error in PB. · cfa62352
      Leonard Zhou authored
      cfa62352
  6. 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
  7. 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
  8. 20 Mar, 2009 1 commit
  9. 19 Mar, 2009 6 commits