this stored procedure is a true function with no side effects