• unknown's avatar
    Fix for bug#21416 SP: Recursion level higher than zero needed for non-recursive call · 807ecdf4
    unknown authored
    The following procedure was not possible if max_sp_recursion_depth is 0
    create procedure show_proc() show create procedure show_proc;
      
    Actually there is no recursive call but the limit is checked.
      
    Solved by temporarily increasing the thread's limit just before the fetch from cache
    and decreasing after that.
    
    
    mysql-test/r/sp.result:
      update result
    mysql-test/t/sp.test:
      Test for bug #21416 SP: Recursion level higher than zero needed for non-recursive call
    sql/sp.cc:
      Increase the max_sp_recursion_depth temporarily for SHOW CREATE PROCEDURE call.
      This call is in fact not recursive but is counted as such. Outcome, it will work
      always but if max_sp_recursion_depth is reached we are going to cache one more
      sp_head instance.
    807ecdf4
sp.test 134 KB