Funções armazenadas recursivas no MySQL

Estou tentando criar uma função que cria recursivamente um caminho para uma categoria específica

CREATE FUNCTION getPath(inId INT)
RETURNS TEXT
DETERMINISTIC
BEGIN
    DECLARE return_path TEXT;
    DECLARE return_parent_id INT;
    SELECT CONCAT('/', name) INTO return_path FROM article_categories WHERE id = inId;
    SELECT parent_id INTO return_parent_id FROM article_categories WHERE id = inId;

    IF return_parent_id > 0 THEN
        SELECT CONCAT(getPath(return_parent_id), return_path) INTO return_path;
    END IF;

    RETURN return_path;
END

Quando tento executar esta função com uma categoria que não possui pais (parent_id = 0), ela funciona bem, mas quando tento uma categoria que possui parent_id> 0, recebo 1424 Funções e gatilhos recursivos armazenados não são permitidos.

Como faço para resolver isso? Vou hospedar esse código em um serviço regular de hospedagem na web que deve ter pelo menos o servidor MySQL versão 5.1.

Depois de alguma ajuda de Ike Walker, fiz um precedente que funciona bem

DROP PROCEDURE IF EXISTS getPath;
DELIMITER //
CREATE PROCEDURE getPath(IN category_id INT UNSIGNED, OUT return_path TEXT)
BEGIN
    DECLARE parent_id INT UNSIGNED;
    DECLARE path_result TEXT;

    SET max_sp_recursion_depth=50;

    SELECT CONCAT('/', ac.name), ac.parent_id INTO return_path, parent_id FROM article_categories AS ac WHERE ac.id = category_id;

    IF parent_id > 0 THEN
        CALL getPath(parent_id, path_result);
        SELECT CONCAT(path_result, return_path) INTO return_path;
    END IF;
END //
DELIMITER ;

Eu então uso algo assim para chamá-lo

CALL getPath(72, @temp); SELECT @temp;

questionAnswers(2)

yourAnswerToTheQuestion