Search code examples
stored-proceduresfirebirdroleuser-rolesfirebird2.1

Firebird 2.1 Issue with User and Role


I am using FireBird 2.1 and I have a user and a role. I granted execute permission on an stored procedure to role but not to user. When I am trying to execute the stored procedure while logged in as a user with the role, I am getting following error:

Statement #1: no permission for execute access to PROCEDURE SPSELECTMANAGERS.

I checked the roles and users, the user is already added in the roles.


Solution

  • Is the SP recursive? In that case the procedure must have granted right to execute itself, ie add this to the DB creation script:

    GRANT EXECUTE ON PROCEDURE SPSELECTMANAGERS TO PROCEDURE SPSELECTMANAGERS;
    

    BTW this behaviour is considered to be a bug and will be fixed in future version (FB 3).