1. 27 Mar, 2009 8 commits
    • Alexey Kopytov's avatar
      Automerge. · b718d18a
      Alexey Kopytov authored
      b718d18a
    • Alexey Kopytov's avatar
      Manual merge. · 1b938438
      Alexey Kopytov authored
      1b938438
    • Alexey Kopytov's avatar
      Fix for bug #43432: Union on floats does unnecessary rounding · 0b60184b
      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.  
      
      mysql-test/r/union.result:
        Added a test case for bug #43432.
      mysql-test/t/union.test:
        Added a test case for bug #43432.
      sql/field.cc:
        Replaced FLT_DIG+6 and DBL_DIG+7 with a symbolic constant.
      sql/item.cc:
        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.
      sql/mysql_priv.h:
        Added a symbolic constant for FLT_DIG+6 and DBL_DIG+7.
      0b60184b
    • Ramil Kalimullin's avatar
      Merge · ad7e825d
      Ramil Kalimullin authored
      ad7e825d
    • Leonard Zhou's avatar
      Merge · 296390a2
      Leonard Zhou authored
      296390a2
    • Ramil Kalimullin's avatar
      Fix for bug #26288: savepoint not deleted, comit on empty transaction · c2c47b67
      Ramil Kalimullin authored
      Problem: commit doesn't delete savepoints if there are no changes 
      in the transaction.
      
      Fix: delete them in such cases.
      
      
      mysql-test/r/innodb_mysql.result:
        Fix for bug #26288: savepoint not deleted, comit on empty transaction
          - test result.
      mysql-test/t/innodb_mysql.test:
        Fix for bug #26288: savepoint not deleted, comit on empty transaction
          - test case.
      sql/handler.cc:
        Fix for bug #26288: savepoint not deleted, comit on empty transaction
          - call transaction.cleanup() even if nht is 0 to delete 
        possible savepoints.
      c2c47b67
    • Leonard Zhou's avatar
      Merge · f606cfea
      Leonard Zhou authored
      f606cfea
    • Leonard Zhou's avatar
      Merge 5.0 to 5.1 · 638c0f07
      Leonard Zhou authored
      638c0f07
  2. 26 Mar, 2009 4 commits
    • Davi Arnaut's avatar
      Bug#33899: Deadlock in mysql_real_query with shared memory connections · 7c261213
      Davi Arnaut authored
      The problem is that the read and write methods of the shared
      memory transport (protocol) didn't react to asynchornous 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.
      
      Bug report and patch submitted by: Armin Schöffmann
      7c261213
    • Davi Arnaut's avatar
      Bug#33899: Deadlock in mysql_real_query with shared memory connections · 96e02e57
      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.
      
      mysql-test/r/shm.result:
        Add test case result for Bug#33899
      mysql-test/t/shm.test:
        Add test case for Bug#33899
      vio/viosocket.c:
        Also wait for close events.
      96e02e57
    • Leonard Zhou's avatar
      BUG#35515 Aliases of variables in binary log are ignored with NAME_CONST. · 944915ca
      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.
      
      mysql-test/r/func_misc.result:
        Test result.
      mysql-test/r/rpl_name_const.result:
        Test case.
      mysql-test/t/func_misc.test:
        Add NAME_CONST test.
      mysql-test/t/rpl_name_const.test:
        Test result.
      sql/item.cc:
        Re-set field's name if the name is autogenerated, that mean without aliase.
      944915ca
    • Leonard Zhou's avatar
      Merge · 19e3c5c8
      Leonard Zhou authored
      19e3c5c8
  3. 25 Mar, 2009 18 commits
  4. 24 Mar, 2009 10 commits
    • Alexey Kopytov's avatar
      Automerge. · a7c28680
      Alexey Kopytov authored
      a7c28680
    • Alexey Kopytov's avatar
      Automerge. · ed559715
      Alexey Kopytov authored
      ed559715
    • Alexey Kopytov's avatar
      Automerge. · 50849529
      Alexey Kopytov authored
      50849529
    • Alexey Kopytov's avatar
      Manuel merge. · 938f0948
      Alexey Kopytov authored
      938f0948
    • Alexey Kopytov's avatar
      Fix for bug #43801: mysql.test takes too long, fails due to · 8d4d3e13
      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. 
      
      
      mysql-test/include/wait_until_disconnected.inc:
        Used in mysql-bug41486.test.
      mysql-test/r/mysql-bug41486.result:
        Moved the resource-intensive test case for bug #41486 into 
        a separate test file to reduce execution time for mysql.test.
      mysql-test/r/mysql.result:
        Moved the resource-intensive test case for bug #41486 into 
        a separate test file to reduce execution time for mysql.test.
      mysql-test/t/mysql-bug41486.test:
        Moved the resource-intensive test case for bug #41486 into 
        a separate test file to reduce execution time for mysql.test.
      mysql-test/t/mysql.test:
        Moved the resource-intensive test case for bug #41486 into 
        a separate test file to reduce execution time for mysql.test.
      8d4d3e13
    • Luis Soares's avatar
      BUG#39701: Mixed binlog format does not switch to row mode on · ed1e9d21
      Luis Soares authored
      LOAD_FILE
                  
      LOAD_FILE is not safe to replicate in STATEMENT mode, because it
      depends on a file (which is loaded on master and may not exist in
      slave(s)). This leads to scenarios on which the slave replicates the
      statement with 'load_file' and it will try to load the file from local
      file system. Given that the file may not exist in the slave filesystem
      the operation will not succeed (probably returning NULL), causing
      master and slave(s) to diverge. However, when using MIXED mode
      replication, this can be made to work, if the statement including
      LOAD_FILE is marked as unsafe, triggering a switch to ROW mode,
      meaning that the contents of the file are written to binlog as row
      events. Consequently, the contents from the file in the master will
      reach the slave via the binlog.
                 
      This patch addresses this bug by marking the load_file function as
      unsafe. When in mixed mode and when LOAD_FILE is issued, there will be
      a switch to row mode. Furthermore, when in statement mode, the
      LOAD_FILE will raise a warning that the statement is unsafe in that
      mode.
      
      
      mysql-test/extra/rpl_tests/rpl_loadfile.test:
        Extra file that is "sourced" on both rpl_loadfile and rpl_stm_loadfile
        test files.
      mysql-test/suite/rpl/r/rpl_loadfile.result:
        Updated with the results from the test case added to this file.
      mysql-test/suite/rpl/r/rpl_stm_loadfile.result:
        Result file for rpl_loadfile test split with the warnings in statement
        mode.
      mysql-test/suite/rpl/t/rpl_loadfile.test:
        After splitting the original rpl_loadfile file, this one is only 
        required to be executed in mixed or row format.
        Appended the test for 39701 to this file.
      mysql-test/suite/rpl/t/rpl_stm_loadfile.test:
        Split the original rpl_loadfile test because load_file now raises
        a warning when in statement mode. The goal of this split is 
        two-fold: i) make the test case more resilient; ii) assert that 
        warnings are indeed raised when in statement mode.
      sql/item_create.cc:
        Added the set_stmt_unsafe call to lex.
      ed1e9d21
    • Georgi Kodinov's avatar
      Fixed initialization order warining. · f3a08d56
      Georgi Kodinov authored
      f3a08d56
    • Georgi Kodinov's avatar
      merged 5.0-bugteam -> 5.1-bugteam · c36e935a
      Georgi Kodinov authored
      c36e935a
    • Leonard Zhou's avatar
      Bug#43440 rpl.rpl_temp_table_mix_row fails sporadicly · da30dedd
      Leonard Zhou authored
            
      The problem is that after disconnect, the DOPR TEMPORARY TABLE event didn't been
      written into binlog. So after syncing with slave, the TEMPORARY table on slave 
      is not removed.
            
      Waiting DROP TEMPORARY TABLE event to be written into binlog before sync slave with
      master.
      
      mysql-test/suite/rpl/t/disabled.def:
        Remove disable item.
      mysql-test/suite/rpl/t/rpl_temp_table_mix_row.test:
        Waiting DROP TEMPORARY TABLE event to be written into binlog
      da30dedd
    • Alexey Kopytov's avatar
      Fix for bug #42965: isinf() on 32bit x86 with gcc 4.3 can · bbe24f03
      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. 
      
      
      configure.in:
        Added a configure check to test whether isinf() is safe to use
        in C code.
      include/my_global.h:
        Added a workaround for GCC bug #39228.
      bbe24f03