DROP FUNCTION IF EXISTS account.myUser_getName;

DELIMITER $$
$$
CREATE DEFINER=`root`@`%` FUNCTION `account`.`myUser_getName`() RETURNS varchar(30) CHARSET utf8
	NO SQL
	DETERMINISTIC
BEGIN
/**
 * Returns the current user name.
 *
 * @return The user name
 */
	DECLARE vUser VARCHAR(30) DEFAULT NULL;

	IF myUser_checkLogin()
    THEN
		SET vUser = @userName;
	ELSE
		SET vUser = LEFT(USER(), INSTR(USER(), '@') - 1);
	END IF;
	
	RETURN vUser;
END$$
DELIMITER ;

GRANT EXECUTE ON FUNCTION account.myUser_getName TO guest@localhost;
