Mysql umožňuje až 255 rekurzí v PROCEDURE, pokud nastavíte max_sp_recursion_depth.
Je to riskantní, protože existuje šance, že potřebná hloubka rekurze může někdy v budoucnu přesáhnout 255.
Takže je lepší nahradit svou funkci procedurou pomocí INOUT proměnná pro return_result.