DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn2008`.`unary_scan_ident`(v_top INT, v_space INT)
BEGIN
/**
 * A partir de un nodo devuelve el id y el nombre del nodod y sus hijos. 
 * El nombre viene identado segun el numero de espacios multiplicado por la profundiad del nodo.
 *
 * v_top: Id del nodo padre.
 * v_space: Spacios a dejar al identar,
 * @table tmp.tree_ident Tabla con los ids de los nodos descendientes y su nombre identado;
 **/
	
    DROP TEMPORARY TABLE IF EXISTS tmp.tree_ident;
    CALL tree_leaves(v_top);
    
    CREATE TEMPORARY TABLE tmp.tree_ident
        ENGINE = MEMORY
		SELECT t.id, 
        CONCAT( REPEAT(REPEAT(" ",v_space), t.depth), sp.name) AS name
        FROM tmp.tree t
        INNER JOIN unary_scan sp
        ON t.id = sp.id;
    
END$$
DELIMITER ;
