Bug #16297 In memory grant tables not flushed when users's hostname is ""
Submitted: 9 Jan 2006 10:30 Modified: 9 Jun 2006 16:15
Reporter: Magnus Blåudd Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server Severity:S3 (Non-critical)
Version:5.0.19 OS:
Assigned to: Magnus Blåudd CPU Architecture:Any

[9 Jan 2006 10:30] Magnus Blåudd
Description:
create user mysqltest_7@;
set password for mysqltest_7@ = password('systpass');
show grants for mysqltest_7@;
drop user mysqltest_7@;

# This "show grants" should return error saying that user does not exists, but unfortunately user still exists in memory grant tables
show grants for mysqltest_7@;

The information about database-level privileges is alose kept in memory.

How to repeat:
See above

Suggested fix:
Remove the user from the in memory grant structs when dropped.

Workaround: 
 - Call "flush privileges" after user has been dropped.
[3 Feb 2006 13:49] 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/2127
[3 Feb 2006 14:35] 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/2130
[23 May 2006 9:35] 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/6760
[29 May 2006 13:23] Magnus Blåudd
Pushed to 5.0-maint
[7 Jun 2006 9:28] Magnus Blåudd
Pushed to 5.0.23 and 5.1.12, fixes and testcases for creating and manipulating users and grant when the user is something like  mysqltest_8@'' or  mysqltest_8
[9 Jun 2006 16:15] Paul DuBois
Noted in 5.0.23, 5.1.12 changelogs.

Grant table modifications sometimes did not refresh the in-memory
tables if the hostname was '' or not specified.