DROP FUNCTION IF EXISTS account.myUser_getId;

DELIMITER $$
CREATE DEFINER=`root`@`%` FUNCTION `account`.`myUser_getId`() RETURNS int(11)
    READS SQL DATA
    DETERMINISTIC
BEGIN
/**
 * Returns the current user id.
 *
 * @return The user id
 */
	DECLARE vUser INT DEFAULT NULL;
	
	IF myUser_checkLogin()
	THEN
		SET vUser = @userId;
	ELSE
		SELECT id INTO vUser FROM user
			WHERE name = LEFT(USER(), INSTR(USER(), '@') - 1);
	END IF;
	
	RETURN vUser;
END$$
DELIMITER ;

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