Mysql umożliwia do 255 rekurencji w PROCEDURZE, jeśli ustawisz max_sp_recursion_depth.
Jest to ryzykowne, ponieważ istnieje szansa, że potrzebna głębokość rekurencji może kiedyś przekroczyć 255.
Więc lepiej zastąp swoją funkcję procedurą, używając INOUT zmienna dla return_result.