Bug #33731 | INSTALL/UNINSTALL PLUGIN: Inconsistent handling of identifier case | ||
---|---|---|---|
Submitted: | 8 Jan 2008 0:43 | Modified: | 12 Nov 2009 20:59 |
Reporter: | Roland Bouman | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: User-defined functions ( UDF ) | Severity: | S3 (Non-critical) |
Version: | 5.1.22 | OS: | Any |
Assigned to: | Sergei Golubchik | CPU Architecture: | Any |
[8 Jan 2008 0:43]
Roland Bouman
[7 Feb 2008 8:53]
Sveta Smirnova
Thank you for the report. Verified as described.
[4 Nov 2008 10:54]
Marko Mäkelä
We are hitting it too, in MySQL 5.1.29. This is not limited to storage engine plugins, but also INFORMATION_SCHEMA plugins are affected: INSTALL PLUGIN InnoDB SONAME 'ha_innodb.so'; SELECT * FROM mysql.plugin; -- it is there UNINSTALL PLUGIN INNODB; -- will only delete the plugin object from memory SELECT * FROM mysql.plugin; -- InnoDB is still listed there Suggested fix: Refuse to uninstall the plugin object from the memory, unless the name matches case-sensitively. Alternatively, do not ignore "record not found" errors from mysql_uninstall_plugin(), or make it scan the table mysql.plugin until a case-insensitive match is found. The column mysql.plugin.name is case-sensitive, because it has been declared COLLATE utf8_bin.
[17 Apr 2009 14:46]
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/72408 2744 Sergei Golubchik 2009-04-17 Bug #33731 INSTALL/UNINSTALL PLUGIN: Inconsistent handling of identifier case fix the table definition to match the assumptions of the code @ scripts/mysql_system_tables.sql plugin names are compared case insensitive @ scripts/mysql_system_tables_fix.sql plugin names are compared case insensitive
[17 Apr 2009 15:27]
Sergey Vojtovich
Ok to push.
[23 Apr 2009 7:18]
Bugs System
Pushed into 6.0.11-alpha (revid:alik@sun.com-20090423070920-e5lq3vrrqi016z2c) (version source revid:alik@sun.com-20090423070920-e5lq3vrrqi016z2c) (merge vers: 6.0.11-alpha) (pib:6)
[30 Apr 2009 17:23]
Paul DuBois
Noted in 6.0.11 changelog. INSTALL PLUGIN and UNINSTALL PLUGIN did not handle plugin identifiers consistently with respect to lettercase.
[12 Oct 2009 18:15]
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/86596 2896 Sergei Golubchik 2009-10-12 bug#33731 - INSTALL/UNINSTALL PLUGIN: Inconsistent handling of identifier case indexed column in mysql.plugin table should use case-insensitive collation for index lookups to work (backport from 6.0) @ sql/sql_plugin.cc generate the key correctly using key_copy. field->store() stores the value in record format, not key format.
[31 Oct 2009 8:17]
Bugs System
Pushed into 6.0.14-alpha (revid:alik@sun.com-20091031081410-qkxmjsdzjmj840aq) (version source revid:serg@mysql.com-20091012191335-9spk8dos6hp19ito) (merge vers: 6.0.14-alpha) (pib:13)
[31 Oct 2009 17:32]
Paul DuBois
Already fixed in 6.0.11. Setting report to NDI pending push to 5.5.x
[12 Nov 2009 8:16]
Bugs System
Pushed into 5.5.0-beta (revid:alik@sun.com-20091110093229-0bh5hix780cyeicl) (version source revid:mikael@mysql.com-20091102100915-a2nbfxaqprpgptfw) (merge vers: 5.5.0-beta) (pib:13)
[12 Nov 2009 20:59]
Paul DuBois
Noted in 5.5.0 changelog.