Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-8176

Overuse/misuse of ERROR 1959 (OP000): Invalid role specification

Details

    Description

      In some cases ERROR 1959 (OP000): Invalid role specification is very vague and thus annoying. While there should indeed be an error, I suppose it could provide a much better diagnostics.

      Example 1

      MariaDB [test]> create user foo@localhost;
      Query OK, 0 rows affected (0.00 sec)
       
      MariaDB [test]> create role r1;
      Query OK, 0 rows affected (0.00 sec)
       
      MariaDB [test]> set default role r1 for foo@localhost;
      ERROR 1959 (OP000): Invalid role specification `r1`.

      The real problem is that r1 is not granted to foo, but with "Invalid role specification" one can go mad trying to figure out what's wrong with the specification.

      Example 2

      MariaDB [test]> create role r1;
      Query OK, 0 rows affected (0.00 sec)
       
      MariaDB [test]> create role r2;
      Query OK, 0 rows affected (0.00 sec)
       
      MariaDB [test]> grant r1 to r2;
      Query OK, 0 rows affected (0.00 sec)
       
      MariaDB [test]> set default role r1 for r2;
      ERROR 1959 (OP000): Invalid role specification `r1`.

      The real problem is apparently that a role cannot have a default role, but the error complaining about r1 is really confusing here.

      Attachments

        Issue Links

          Activity

            No workflow transitions have been executed yet.

            People

              serg Sergei Golubchik
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.