• Jon Olav Hauglid's avatar
    Bug#14640599 MEMORY LEAK WHEN EXECUTING STORED ROUTINE EXCEPTION HANDLER · 6c0b2065
    Jon Olav Hauglid authored
    When a SP handler is activated, memory is allocated to hold the
    MESSAGE_TEXT for the condition that caused the activation.
    
    The problem was that this memory was allocated on the MEM_ROOT belonging
    to the stored program. Since this MEM_ROOT is not freed until the
    stored program ends, a stored program that causes lots of handler
    activations can start using lots of memory. In 5.1 and earlier the
    problem did not exist as no MESSAGE_TEXT was allocated if a condition
    was raised with a handler present. However, this behavior lead to
    a number of other issues such as Bug#23032.
    
    This patch fixes the problem by allocating enough memory for the
    necessary MESSAGE_TEXTs in the SP MEM_ROOT when the SP starts and
    then re-using this memory each time a handler is activated.
          
    This is the 5.5 version of the patch.
    6c0b2065
sp_rcontext.cc 17.5 KB