1. 27 Jan, 2010 1 commit
    • Staale Smedseng's avatar
      Bug#50409 Solaris 8 compatibility broken by assumption about · e3dd88c8
      Staale Smedseng authored
      printstack() being present
      
      When Bug#47391 was fixed, no assumption was made that support
      for Solaris 8 was needed. Solaris 8 lacks printstack(), and 
      the build breaks because of this.
      
      This patch adds a test for the presence of printstack() to
      configure.in for 5.0, and uses HAVE_PRINTSTACK to make
      decisions rather than the __sun define.
      e3dd88c8
  2. 13 Jan, 2010 2 commits
  3. 12 Jan, 2010 2 commits
  4. 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
  5. 06 Jan, 2010 2 commits
  6. 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
  7. 26 Dec, 2009 1 commit
  8. 24 Dec, 2009 1 commit
  9. 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
  10. 21 Dec, 2009 1 commit
  11. 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
  12. 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
  13. 24 Dec, 2009 2 commits
  14. 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
  15. 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
  16. 14 Dec, 2009 1 commit
  17. 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
  18. 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
  19. 10 Dec, 2009 1 commit
  20. 08 Dec, 2009 1 commit
  21. 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
  22. 10 Dec, 2009 2 commits
  23. 09 Dec, 2009 2 commits
    • He Zhenxing's avatar
      removed rpl_killed_ddl from disabled list · 714348a8
      He Zhenxing authored
      714348a8
    • He Zhenxing's avatar
      BUG#45520 rpl_killed_ddl fails sporadically in pb2 · 9058e481
      He Zhenxing authored
      There are three issues that caused rpl_killed_ddl fails sporadically
      in pb2:
      
       1) thd->clear_error() was not called before create Query event
      if operation is executed successfully.
       2) DATABASE d2 might do exist because the statement to CREATE or
      ALTER it was killed
       3) because of bug 43353, kill the query that do DROP FUNCTION or
          DROP PROCEDURE can result in SP not found
      
      This patch fixed all above issues by:
       1) Called thd->clear_error() if the operation succeeded.
       2) Add IF EXISTS to the DROP DATABASE d2 statement
       3) Temporarily disabled testing DROP FUNCTION/PROCEDURE IF EXISTS.
      9058e481
  24. 06 Dec, 2009 1 commit
    • Staale Smedseng's avatar
      Bug #47391 no stack trace printed to error log on · 846c81c7
      Staale Smedseng authored
      solaris after a crash
            
      This patch adds a Solaris-specific version of
      print_stacktrace() which uses printstack(2), available on all
      Solaris versions since Solaris 9. (While Solaris 11 adds
      support for the glibc functions backtrace_*() as of
      PSARC/2007/162, printstack() is used for consistency over all
      Solaris versions.)
      
      The symbol names are mangled, so use of c++filt may be
      required as described in the MySQL documentation.
      846c81c7
  25. 04 Dec, 2009 1 commit
    • Ramil Kalimullin's avatar
      Fix for bug#49199: Optimizer handles incorrectly: · 7888c983
      Ramil Kalimullin authored
      field='const1' AND field='const2' in some cases
      
      Building multiple equality predicates containing
      a constant which is compared as a datetime (with a field)
      we should take this fact into account and compare the 
      constant with another possible constatns as datetimes 
      as well.
      
      E.g. for the
      SELECT ... WHERE a='2001-01-01' AND a='2001-01-01 00:00:00'
      we should compare '2001-01-01' with '2001-01-01 00:00:00' as
      datetimes but not as strings.
      7888c983
  26. 03 Dec, 2009 2 commits
  27. 02 Dec, 2009 2 commits