1. 12 Feb, 2010 1 commit
    • Sergey Vojtovich's avatar
      BUG#48438 - crash with error in unioned query against merge · e766c177
      Sergey Vojtovich authored
                  table and view...
      
      Invalid memory reads after a query referencing MyISAM table
      multiple times with write lock. Invalid memory reads may
      lead to server crash, valgrind warnings, incorrect values
      in INFORMATION_SCHEMA.TABLES.{TABLE_ROWS, DATA_LENGTH,
      INDEX_LENGTH, ...}.
      
      This may happen when one of the table instances gets closed
      after a query, e.g. out of slots in open tables cache. UNION,
      MERGE and VIEW are irrelevant.
      
      The problem was that MyISAM didn't restore state info
      pointer to default value.
      e766c177
  2. 03 Feb, 2010 1 commit
  3. 01 Feb, 2010 1 commit
  4. 29 Jan, 2010 2 commits
  5. 27 Jan, 2010 2 commits
  6. 15 Jan, 2010 1 commit
  7. 14 Jan, 2010 1 commit
  8. 13 Jan, 2010 2 commits
  9. 12 Jan, 2010 2 commits
  10. 11 Jan, 2010 1 commit
    • Gleb Shchepa's avatar
      Bug #49955: ld error message: undefined reference to `strmov_overlapp' · 94acd480
      Gleb Shchepa authored
      32bit builds with the --enable-assembler flag (enabled by default)
      fail with an error message: undefined reference to `strmov_overlapp'.
      
      Since the fix for bug 48866 we use a home-grown strmov function
      instead of the ctpcpy function, but the source file for this
      function was missed in the Makefile.am.
      
      The strings/Makefile.am file has been modified to include strmov.c
      file into ASSEMBLER_x86 and ASSEMBLER_sparc32 sections.
      94acd480
  11. 06 Jan, 2010 2 commits
  12. 31 Dec, 2009 1 commit
    • 's avatar
      Bug #49137 Replication failure on SBR/MBR + multi-table DROP TEMPORARY TABLE · ccc3a468
      authored
            
      In statement-based or mixed-mode replication, use DROP TEMPORARY TABLE
      to drop multiple tables causes different errors on master and slave, 
      when one or more of these tables do not exist. Because when executed
      on slave, it would automatically add IF EXISTS to the query to ignore
      all ER_BAD_TABLE_ERROR errors.
      
      To fix the problem, do not add IF EXISTS when executing DROP TEMPORARY
      TABLE on the slave, and clear the ER_BAD_TABLE_ERROR error after
      execution if the query does not expect any errors.
      ccc3a468
  13. 26 Dec, 2009 1 commit
  14. 24 Dec, 2009 1 commit
  15. 22 Dec, 2009 1 commit
    • Ramil Kalimullin's avatar
      Fix for bug#49570: Assertion failed: !(order->used & map) · ee403cc1
      Ramil Kalimullin authored
      on re-execution of prepared statement
      
      Problem: some (see eq_ref_table()) ORDER BY/GROUP BY optimization
      is called before each PS execution. However, we don't properly 
      initialize its stucture every time before the call.
      
      Fix: properly initialize the sturture used.
      ee403cc1
  16. 21 Dec, 2009 1 commit
  17. 17 Dec, 2009 4 commits
    • Davi Arnaut's avatar
      Bug#48983: Bad strmake calls (length one too long) · b9380f0e
      Davi Arnaut authored
      The problem is a somewhat common misusage of the strmake function.
      The strmake(dst, src, len) function writes at most /len/ bytes to
      the string pointed to by src, not including the trailing null byte.
      Hence, if /len/ is the exact length of the destination buffer, a
      one byte buffer overflow can occur if the length of the source
      string is equal to or greater than /len/.
      b9380f0e
    • Andrei Elkin's avatar
      Bug #49740 rpl.rpl_temporary fails in PB2 in mysql-trunk-merge · 0f739790
      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.
      0f739790
    • Satya B's avatar
      Fix for Bug#37408 - Compressed MyISAM files should not require/use mmap() · 801deedc
      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.
      801deedc
    • Ramil Kalimullin's avatar
      Fix for bug#49465: valgrind warnings and incorrect live checksum... · 092f25ca
      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.
      092f25ca
  18. 16 Dec, 2009 1 commit
    • Georgi Kodinov's avatar
      Bug #48866: mysql.test fails under Fedora 12 · b640b8f0
      Georgi Kodinov authored
      strmov() is not guaranteed to work correctly on overlapping
      source and destination buffers. On some OSes it may work,
      but Fedora 12 has a stpcpy() that's not working correctly 
      on overlapping buffers.
      Fixed to use the overlap-safe version of strmov instead.
      Re-vitalized the overlap-safe version of strmov. 
      b640b8f0
  19. 24 Dec, 2009 2 commits
  20. 22 Dec, 2009 1 commit
    • Sergey Glukhov's avatar
      Bug#47371 reference by same column name · c3114506
      Sergey Glukhov authored
      At the end of execution top level join execution
      we cleanup this join with true argument.
      It leads to underlying join cleanup(subquery) with true argument too
      and to tmp_table_param->field array cleanup which is required later.
      The problem is that Item_func_set_user_var does not set
      result_filed which leads to unnecessary repeated excution of subquery
      on final stage.
      The fix is to set result_field for Item_func_set_user_var.
      c3114506
  21. 15 Dec, 2009 1 commit
    • Georgi Kodinov's avatar
      Bug #48709: Assertion failed in sql_select.cc:11782: · 8d329aa7
      Georgi Kodinov authored
       int join_read_key(JOIN_TAB*)
      
      The eq_ref access method TABLE_REF (accessed through 
      JOIN_TAB) to save state and to track if this is the 
      first row it finds or not.
      This state was not reset on subquery re-execution
      causing an assert.
      
      Fixed by resetting the state before the subquery 
      re-execution.
      8d329aa7
  22. 14 Dec, 2009 1 commit
  23. 13 Dec, 2009 1 commit
    • lars-erik.bjork@sun.com's avatar
      This is a patch for Bug#48500 · 44e2c65a
      lars-erik.bjork@sun.com authored
      5.0 buffer overflow for ER_UPDATE_INFO, or truncated info message in 5.1
            
      5.0.86 has a buffer overflow/crash, and 5.1.40 has a truncated message.
            
      errmsg.txt contains this:
            
      ER_UPDATE_INFO
      rum "Linii identificate (matched): %ld  Schimbate: %ld  Atentionari 
      (warnings): %ld"
      When that is sprintf'd into a buffer of STRING_BUFFER_USUAL_SIZE size,
      a buffer overflow can happen.
            
      The solution to this is to use MYSQL_ERRMSG_SIZE for the buffer size, 
      instead of STRING_BUFFER_USUAL_SIZE. This will allow longer strings. 
      To avoid potential crashes, we will also use my_snprintf instead of
      sprintf.
      44e2c65a
  24. 11 Dec, 2009 3 commits
    • Kent Boortz's avatar
      Define _WIN32_WINNT to the minimum supported Windows version, 0x0500 i.e · 98f738b1
      Kent Boortz authored
      Windows 2000.
            
            Visual Studio 2003 and 2005 require
              _WIN32_WINNT >= 0x0500 (Win2000)  for TryEnterCriticalSection.
      98f738b1
    • Georgi Kodinov's avatar
      merge · 088bac1a
      Georgi Kodinov authored
      088bac1a
    • 's avatar
      Bug #48742 Replication: incorrect help text for --init-slave · af22ba91
      authored
      The help text for --init-slave=name:
      "Command(s) that are executed when a slave connects to this master".
      This text indicate that the --init-slave option is set on a  master 
      server, and the master server passes the option's argument to slave 
      which connects to it. This is wrong. Actually the --init-slave option 
      just can be set on a slave server, and then the slave server executes 
      the argument each time the SQL thread starts.
      
      Correct the help text for --init-slave option as following:
      "Command(s) that are executed by a slave server each time the SQL thread starts."
      af22ba91
  25. 10 Dec, 2009 1 commit
  26. 08 Dec, 2009 1 commit
  27. 07 Dec, 2009 1 commit
    • Georgi Kodinov's avatar
      Bug #42760: Select doesn't return desired results when we have null values · 3c434c93
      Georgi Kodinov authored
      Part 2 : 
      There was a special optimization on the ref access method for 
      ORDER BY ... DESC that was set without actually looking on the type of the 
      selected index for ORDER BY.
      Fixed the SELECT ... ORDER BY .. DESC (it uses a different code path compared
      to the ASC that has been fixed with the previous fix).
      3c434c93
  28. 10 Dec, 2009 2 commits