1. 15 Nov, 2007 1 commit
    • anozdrin/alik@station.'s avatar
      A patch for BUG#19723: kill of active connection yields · e8343ca8
      anozdrin/alik@station. authored
      different error code depending on platform.
      
      On Mac OS X, KILL statement issued to kill the current
      connection would return a different error code and message than on
      other platforms ('MySQL server has gone away' instead of 'Shutdown
      in progress').
      
      The reason for this difference was that on Mac OS X we have macro
      SIGNAL_WITH_VIO_CLOSE defined. This macro forces KILL
      implementation to close the communication socket of the thread
      that is being killed. SIGNAL_WITH_VIO_CLOSE macro is defined on
      platforms where just sending a signal is not a reliable mechanism
      to interrupt the thread from sleeping on a blocking system call.
      In a nutshell, closing the socket is a hack to work around an
      operating system bug and awake the blocked thread no matter what.
      
      However, if the thread that is being killed is the same
      thread that issued KILL statement, closing the socket leads to a
      prematurely lost connection. At the same time it is not necessary
      to close the socket in this case, since the thread in question
      is not inside a blocking system call.
      
      The fix, therefore, is to not close the socket if the thread that
      is being killed is the same that issued KILL statement, even with
      defined SIGNAL_WITH_VIO_CLOSE.
      e8343ca8
  2. 14 Nov, 2007 3 commits
  3. 12 Nov, 2007 2 commits
    • anozdrin/alik@station.'s avatar
      A patch for BUG#32172: information_schema test fails with · 99d33cd6
      anozdrin/alik@station. authored
      wait_condition timeout.
      
      The problem was that the event thread didn't manage to execute
      the event in 30 seconds on highly-loaded box. The fix is to
      increase timeout.
      
      This is a fix for the test suite.
      99d33cd6
    • anozdrin/alik@station.'s avatar
      Fix for a BUG#31898: 16M memory allocations for user variables · 5f33524d
      anozdrin/alik@station. authored
      in stored procedure.
      
      The problem was that MySQL used unnecessarily large amounts of
      memory if user variables were used as an argument to CONCAT or
      CONCAT_WS -- 16M per each user variable used.
      
      Technically, it happened because MySQL used the following
      allocation strategy for string functions to avoid multiple
      realloc() calls: in the virtual operation fix_length_and_dec()
      the attribute max_length was calculated as a sum of max_length
      values for each argument.
      
      Although this approach worked well for small (or fixed) data types,
      there could be a problem if there as a user variable among
      the arguments of a string function -- max_length of the function
      would be 16M (as the max_length of a user variable is 16M).
      
      Both CONCAT() and CONCAT_WS() functions suffer from this problem.
      
      The fix is to do not use meta-data for allocating memory.
      The following strategy is proposed instead: allocate the exact
      length of the result string at the first record, double the amount
      of memory allocated when it is required.
      
      No test case for this bug because there is no way to test memory
      consumption in a robust way with our test suite.
      5f33524d
  4. 06 Nov, 2007 2 commits
  5. 05 Nov, 2007 5 commits
  6. 02 Nov, 2007 4 commits
  7. 01 Nov, 2007 22 commits
  8. 31 Oct, 2007 1 commit