Bug #14533 | 'desc tbl' in stored procedure causes error 1142 | ||
---|---|---|---|
Submitted: | 1 Nov 2005 1:57 | Modified: | 3 Feb 2006 15:32 |
Reporter: | Janak Ramakrishnan | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server | Severity: | S3 (Non-critical) |
Version: | 5.0.15, 5.0.16-BK | OS: | Linux (Linux, Windows) |
Assigned to: | Per-Erik Martin | CPU Architecture: | Any |
[1 Nov 2005 1:57]
Janak Ramakrishnan
[1 Nov 2005 8:19]
Valeriy Kravchuk
Thank you for a bug report. Verified just as described on Linux Fedora Core 1 with 5.0.16-BK (ChangeSet@1.1957, 2005-10-29 13:11:34+04:00, konstantin@mysql.com): mysql> create database proctest; Query OK, 1 row affected (0,02 sec) mysql> use proctest; Database changed mysql> create table tbl1 (id int); Query OK, 0 rows affected (0,01 sec) mysql> drop user testuser@localhost; ERROR 1396 (HY000): Operation DROP USER failed for 'testuser'@'localhost' mysql> drop user testuser@'%'; ERROR 1396 (HY000): Operation DROP USER failed for 'testuser'@'%' mysql> create user testuser@localhost identified by 'testpass'; Query OK, 0 rows affected (0,00 sec) mysql> create procedure desctest ( ) SQL SECURITY DEFINER desc proctest.tbl1; Query OK, 0 rows affected (0,00 sec) mysql> create procedure selecttest () SQL SECURITY DEFINER select * from -> proctest.tbl1; Query OK, 0 rows affected (0,00 sec) mysql> grant execute on procedure proctest.desctest to testuser@localhost; Query OK, 0 rows affected (0,01 sec) mysql> grant execute on procedure proctest.selecttest to testuser@localhost; Query OK, 0 rows affected (0,02 sec) mysql> exit Bye [openxs@Fedora 5.0]$ bin/mysql -utestuser -ptestpass Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 to server version: 5.0.16 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> call proctest.desctest(); ERROR 1142 (42000): SELECT command denied to user 'testuser'@'localhost' for table 'tbl1' mysql> call proctest.selecttest(); Empty set (0,00 sec) Query OK, 0 rows affected (0,00 sec) mysql> exit Bye [openxs@Fedora 5.0]$ bin/mysql -uroot Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 to server version: 5.0.16 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> grant all on proctest.tbl1 to testuser@localhost; Query OK, 0 rows affected (0,02 sec) mysql> exit Bye [openxs@Fedora 5.0]$ bin/mysql -utestuser -ptestpass Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 5 to server version: 5.0.16 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> call proctest.desctest(); +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 1 row in set (0,00 sec) Query OK, 0 rows affected (0,00 sec)
[29 Jan 2006 17:52]
MySQL Verification Team
Just tested on 5.0.19, using today's bk pull. mysql> call proctest.desctest(); +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 1 row in set (0.00 sec) mysql> call proctest.selecttest(); Empty set (0.00 sec)
[1 Feb 2006 13:29]
Per-Erik Martin
This is no longer repeatable. (Fixed during the last three months, uncertain when.)
[1 Feb 2006 13:45]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/2000
[1 Feb 2006 14:52]
Per-Erik Martin
Pushed to bk 5.0.19
[2 Feb 2006 18:27]
Mike Hillyer
Is this patch a fix or just a test case? Do we have a version number for the fix itself?
[3 Feb 2006 15:32]
Mike Hillyer
Closing as no changelog entry needed.