1. 22 Dec, 2009 1 commit
    • Alexey Kopytov's avatar
      Backport of WL #2934: Make/find library for doing float/double · b4f9ccaf
      Alexey Kopytov authored
                            to string conversions and vice versa" 
      Initial import of the dtoa.c code and custom wrappers around it 
      to allow its usage from the server code. 
       
      Conversion of FLOAT/DOUBLE values to DECIMAL ones or strings 
      and vice versa has been significantly reworked. As the new 
      algoritms are more precise than the older ones, results of such 
      conversions may not always match those obtained from older 
      server versions. This in turn may break compatibility for some 
      applications. 
       
      This patch also fixes the following bugs: 
      - bug #12860 "Difference in zero padding of exponent between 
      Unix and Windows" 
      - bug #21497 "DOUBLE truncated to unusable value" 
      - bug #26788 "mysqld (debug) aborts when inserting specific 
      numbers into char fields" 
      - bug #24541 "Data truncated..." on decimal type columns 
      without any good reason" 
      b4f9ccaf
  2. 19 Dec, 2009 10 commits
  3. 18 Dec, 2009 3 commits
  4. 17 Dec, 2009 14 commits
    • Alexander Nozdrin's avatar
      Manual merge from mysql-next-mr. · 5421878c
      Alexander Nozdrin authored
      Conflicts:
        - mysys/charset.c
        - mysys/my_thr_init.c
      5421878c
    • Alexander Nozdrin's avatar
      Manual merge from mysql-trunk-merge. · 0a2131e5
      Alexander Nozdrin authored
      Conflicts:
        - storage/myisam/mi_packrec.c
      0a2131e5
    • Alexey Kopytov's avatar
    • Alfranio Correia's avatar
      730f52c6
    • Alexey Kopytov's avatar
      41ba832f
    • Andrei Elkin's avatar
      merge from 5.0 with bug@49740 fixes · f0b07e7b
      Andrei Elkin authored
      f0b07e7b
    • Andrei Elkin's avatar
      Bug #49740 rpl.rpl_temporary fails in PB2 in mysql-trunk-merge · 119349c1
      Andrei Elkin authored
      The test allowed random coincidence of connection ids for two concurrent
      sessions performing CREATE/DROP temp tables.
      
      Fixed with correcting the test. The sessions connection ids are not changed
      from their defaults anymore.
      119349c1
    • Satya B's avatar
      merge to mysql-5.1-bugteam · f757b63e
      Satya B authored
      f757b63e
    • Satya B's avatar
      merge mysql-5.0-bugteam to mysql-5.1-bugteam · 4fa9b44c
      Satya B authored
      4fa9b44c
    • Satya B's avatar
      Fix for Bug#37408 - Compressed MyISAM files should not require/use mmap() · 6547f51c
      Satya B authored
                        
      When compressed myisam files are opened, they are always memory mapped
      sometimes causing memory swapping problems.
      
      When we mmap the myisam compressed tables of size greater than the memory 
      available, the kswapd0 process utilization is very high consuming 30-40% of 
      the cpu. This happens only with linux kernels older than 2.6.9
      
      With newer linux kernels, we don't have this problem of high cpu consumption
      and this option may not be required.
       
      The option 'myisam_mmap_size' is added to limit the amount of memory used for
      memory mapping of myisam files. This option is not dynamic.
      
      The default value on 32 bit system is 4294967295 bytes and on 64 bit system it
      is 18446744073709547520 bytes.
      
      Note: Testcase only tests the option variable. The actual bug has be to 
      tested manually.
      
      include/my_global.h:
        Fix for Bug #37408 - Compressed MyISAM files should not require/use mmap()
        
        define SIZE_T_MAX
      include/myisam.h:
        Fix for Bug #37408 - Compressed MyISAM files should not require/use mmap()
        
        declare 'myisam_mmap_size' and 'myisam_mmap_used' variables and the mutex
        THR_LOCK_myisam_mmap
      myisam/mi_packrec.c:
        Fix for Bug #37408 - Compressed MyISAM files should not require/use mmap()
        
        add 'myisam_mmap_size' option which limits the memory available to mmap of 
        myisam files
      myisam/mi_static.c:
        Fix for Bug #37408 - Compressed MyISAM files should not require/use mmap()
        
        declare 'myisam_mmap_size' and 'myisam_mmap_used' variables and the mutex
        THR_LOCK_myisam_mmap
      myisam/myisamdef.h:
        Fix for Bug #37408 - Compressed MyISAM files should not require/use mmap()
        
        move MEMMAP_EXTRA_MARGIN to myisam.h so that it can be used in mysqld.cc
      mysql-test/r/variables.result:
        Fix for Bug #37408 - Compressed MyISAM files should not require/use mmap()
        
        Testcase for BUG#37408 to test the myisam_mmap_size option
      mysql-test/t/variables.test:
        Fix for Bug #37408 - Compressed MyISAM files should not require/use mmap()
        
        Testcase for BUG#37408 to test the myisam_mmap_size option
      mysys/my_thr_init.c:
        Fix for Bug #37408 - Compressed MyISAM files should not require/use mmap()
        
        intialize the lock THR_LOCK_myisam_mmap
      sql/mysqld.cc:
        Fix for Bug #37408 - Compressed MyISAM files should not require/use mmap()
        
        add the 'myisam_mmap_size' option
      sql/set_var.cc:
        Fix for Bug #37408 - Compressed MyISAM files should not require/use mmap()
        
        add the 'myisam_mmap_size' to the SHOW VARIABLES list
      6547f51c
    • Martin Hansson's avatar
      Bug#47650: using group by with rollup without indexes · 16ed8699
      Martin Hansson authored
      returns incorrect results with where
      
      An outer join of a const table (outer) and a normal table
      (inner) with GROUP BY on a field from the outer table would
      optimize away GROUP BY, and thus trigger the optimization to
      do away with a temporary table if grouping was performed on
      columns from the const table, hence executing the query with
      filesort without temporary table. But this should not be
      done if there is a non-indexed access to the inner table,
      since filesort does not handle joins. It expects either ref
      access, range ditto or table scan. The join condition will
      thus not be applied.
      
      Fixed by always forcing execution with temporary table in
      the case of ROLLUP with a query involving an outer join. This
      is a slightly broader class of queries than need fixing, but
      it is hard to ascertain the position of a ROLLUP field wrt
      outer join with current query representation.
      
      mysql-test/r/join_outer.result:
        Bug#47650: Test result
      mysql-test/t/join_outer.test:
        Bug#47650: Test case
      sql/sql_select.cc:
        Bug#47650: Fix
      16ed8699
    • Marc Alff's avatar
      495ab702
    • Ramil Kalimullin's avatar
      Auto-merge. · 37c4301a
      Ramil Kalimullin authored
      37c4301a
    • Ramil Kalimullin's avatar
      Fix for bug#49465: valgrind warnings and incorrect live checksum... · 6123407d
      Ramil Kalimullin authored
      Problem: inserting a record we don't set unused null bits in the
      record buffer if no default field values used.
      That may lead to wrong live checksum calculation.
      
      Fix: set unused null bits in the record buffer in such cases.
      
      
      mysql-test/r/myisam.result:
        Fix for bug#49465: valgrind warnings and incorrect live checksum...
          - test result.
      mysql-test/t/myisam.test:
        Fix for bug#49465: valgrind warnings and incorrect live checksum...
          - test case.
      sql/sql_insert.cc:
        Fix for bug#49465: valgrind warnings and incorrect live checksum...
          - set unused null bits to 1 in the record buffer in case we
        don't call restore_record() before a fill_record() call
        (when no default values used).
      6123407d
  5. 16 Dec, 2009 12 commits