Bug #17244 GRANT gives strange error message when used in a stored function
| Submitted: | 8 Feb 2006 21:04 | Modified: | 9 Oct 2007 17:58 |
|---|---|---|---|
| Reporter: | Mats Kindahl | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Locking | Severity: | S3 (Non-critical) |
| Version: | 5.1 | OS: | Linux (linux) |
| Assigned to: | Davi Arnaut | CPU Architecture: | Any |
[8 Feb 2006 21:33]
Mats Kindahl
It is not a stored procedure, as I wrote, it is a stored function. The example is still correct.
[11 Feb 2006 10:54]
Konstantin Osipov
Hartmut, why didn't you verify it using the earliest version possible?
[26 Jul 2006 10:40]
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/9578
[26 Jul 2006 14:01]
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/9589
[29 Aug 2007 20:51]
Konstantin Osipov
Fixed by the patch for Bug#21975 Grant and revoke statements are non-transactional
[7 Sep 2007 8:08]
Bugs System
Pushed into 5.1.23-beta
[9 Oct 2007 17:58]
Paul DuBois
Noted in 5.1.23 changelog. Incompatible change: GRANT and REVOKE statements now cause an implicit commit, and thus are prohibited within stored functions and triggers.
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.058 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.
Description: When using a GRANT inside a stored procedure, a strange error message is printed. If row-based replication is enabled, the changes to the mysql.user table is logged to the binary log. How to repeat: CREATE FUNCTION foo(x INT) RETURNS INT BEGIN GRANT SELECT ON t1 TO mysqltest@localhost; RETURN x; END mysql> SELECT foo(3); ERROR 1100 (HY000): Table 'user' was not locked with LOCK TABLES