← Back to team overview

maria-developers team mailing list archive

When SP DEFINER is empty.

 

Hi, Sergey, all.


I'm in doubts about how this one should be fixed:

https://jira.mariadb.org/browse/MDEV-10119


The story goes like this:

-  mysql_install_db script runs 'mysqld --skip-grant-tables'

    In this case the 'current_user()' seems to be empty.


- so the CREATE PROCEDURE command in the bootstrap creates the procedure with the empty DEFINER.


- as a result, the 'SHOW CREATE PROCEDURE' returns query started with

     'CREATE DEFINER=`` PROCEDURE...',


- that DEFINER=`` gives an error when feed to the server.


That can be fixed on any stage. We can do any of these:

- set some 'current_user()' to be not empty even with the --skip-grant-tables option

- specify some non-empty DEFINER for the CREATE PROCEDURE statement

    (in both options it's not that clear what user could that be)

- fix the SHOW CREATE PROCEDURE statement so it doesn't add the errorneous DEFINER=`` to the query.

- make server handling the 'DEFINER=``' with no error. Maybe assigning the 'current_user()' in this case.


So, what can You recommend as a fix in this case?


Best regards.

HF



Follow ups