1. 24 Oct, 2008 3 commits
  2. 23 Oct, 2008 6 commits
  3. 21 Oct, 2008 10 commits
  4. 20 Oct, 2008 5 commits
  5. 17 Oct, 2008 2 commits
  6. 16 Oct, 2008 5 commits
  7. 15 Oct, 2008 8 commits
    • Davi Arnaut's avatar
      Bug#38477: my_pthread_setprio can change dispatch class on Solaris, not just priority · 459b8b3d
      Davi Arnaut authored
      The problem is that the function used by the server to increase
      the thread's priority (pthread_setschedparam) has the unintended
      side-effect of changing the calling thread scheduling policy,
      possibly overwriting a scheduling policy set by a sysadmin.
      
      The solution is to rely on the pthread_setschedprio function, if
      available, as it only changes the scheduling priority and does not
      change the scheduling policy. This function is usually available on
      Solaris and Linux, but it use won't work by default on Linux as the
      the default scheduling policy only accepts a static priority 0 -- this
      is acceptable for now as priority changing on Linux is broken anyway.
      459b8b3d
    • Davi Arnaut's avatar
      Bug#38941: fast mutexes in MySQL 5.1 have mutex contention when calling random() · 28f29b73
      Davi Arnaut authored
      The problem is that MySQL's 'fast' mutex implementation uses the
      random() routine to determine the spin delay. Unfortunately, the
      routine interface is not thead-safe and some implementations (eg:
      glibc) might use a internal lock to protect the RNG state, causing
      excessive locking contention if lots of threads are spinning on
      a MySQL's 'fast' mutex. The code was also misusing the value
      of the RAND_MAX macro, this macro represents the largest value
      that can be returned from the rand() function, not random().
      
      The solution is to use the quite simple Park-Miller random number
      generator. The initial seed is set to 1 because the previously used
      generator wasn't being seeded -- the initial seed is 1 if srandom()
      is not called.
      
      Futhermore, the 'fast' mutex implementation has several shortcomings
      and provides no measurable performance benefit. Therefore, its use is
      not recommended unless it provides directly measurable results.
      28f29b73
    • Davi Arnaut's avatar
      Bug#37075: offset of limit clause might be truncated on 32-bits server w/o big tables · 4ab10baa
      Davi Arnaut authored
      The problem is that the offset argument of the limit clause
      might be truncated on a 32-bits server built without big
      tables support. The truncation was happening because the
      original 64-bits long argument was being cast to a 32-bits
      (ha_rows) offset counter.
      
      The solution is to check if the conversing resulted in value
      truncation and if so, the offset is set to the maximum possible
      value that can fit on the type.
      4ab10baa
    • Horst Hunger's avatar
      Merge to update the tree before a push. · d320ca5c
      Horst Hunger authored
      d320ca5c
    • Horst Hunger's avatar
      2f99a53e
    • Georgi Kodinov's avatar
      Bug #38693: leaked memory with blobs! · b204dc43
      Georgi Kodinov authored
      If delayed insert fails to upgrade the lock it was not
      freeing the temporary memory storage used to keep
      newly constructed blob values in memory.
      Fixed by iterating over the remaining rows in the delayed
      insert rowset and freeing the blob storage for each row.
      
      No test suite because it involves concurrent delayed inserts 
      on a table and cannot easily be made deterministic. 
      
      Added a correct valgrind suppression for Fedora 9.
      b204dc43
    • Kristofer Pettersson's avatar
      automerge · 2c576fa9
      Kristofer Pettersson authored
      2c576fa9
    • Kristofer Pettersson's avatar
      automerge · 00b75c20
      Kristofer Pettersson authored
      00b75c20
  8. 14 Oct, 2008 1 commit