2 DROP PROCEDURE IF EXISTS cms_page_fullpath;
6 CREATE PROCEDURE cms_page_fullpath(
8 IN in_separator VARCHAR(64),
15 DECLARE v_parent_title TEXT;
16 DECLARE v_parent_id INT(11);
17 DECLARE v_translation_of_id INT(11);
20 SET v_parent_title = '';
22 SET v_translation_of_id = 0;
23 SET max_sp_recursion_depth = 15;
25 SELECT title, parent_id, translation_of_id INTO v_title, v_parent_id, v_translation_of_id FROM cms_page WHERE id = in_id;
27 IF (v_translation_of_id > 0) THEN
28 SELECT title, v_parent_id INTO v_title, v_parent_id FROM cms_page WHERE id = v_translation_of_id;
31 IF (v_parent_id = 0 OR in_depth > 10) THEN
32 SET fullpath = v_title;
34 CALL cms_page_fullpath(v_parent_id, in_separator, in_depth + 1, v_parent_title);
36 SELECT CONCAT_WS(in_separator, v_parent_title, v_title) INTO fullpath;
43 DROP FUNCTION IF EXISTS cms_page_fullpath;
46 CREATE FUNCTION cms_page_fullpath(
48 in_separator VARCHAR(64)
50 RETURNS TEXT DETERMINISTIC
55 CALL cms_page_fullpath(in_id, in_separator, 0, v_ret) ;