• Jon Olav Hauglid's avatar
    Bug #50412 Assertion `! is_set()' failed in · c0051261
    Jon Olav Hauglid authored
               Diagnostics_area::set_ok_status at PREPARE
    
    The problem occured during processing of stored routines. 
    Routines are loaded from mysql.proc, parsed and put into the sp cache by
    sp_cache_routine().  The assert occured because the return value from
    sp_cache_routine() was not checked for top level CALLs. This meant that any
    errors during sp_cache_routine() went unoticed and triggered the assert when
    my_ok() was later called.
    
    This is a regression introduced by the patch for Bug#30977, only visible in
    source trees with MDL and using debug builds of the server.
    
    This patch fixes the problem by checking the return value from sp_cache_routine() 
    for top level CALLs and propagating any errors similar to what is done for other 
    calls to sp_cache_routine().
    
    No test case added.
    c0051261
sql_base.cc 287 KB