From: Sergei Golubchik Date: October 12 2009 6:15pm Subject: bzr commit into mysql-5.5.0-next-mr-bugfixing branch (serg:2896) Bug#33731 List-Archive: http://lists.mysql.com/commits/86596 X-Bug: 33731 Message-Id: <20091012181519.2668.qmail@janus.mylan> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0858352517121282209==" --===============0858352517121282209== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///usr/home/serg/Abk/mysql/next-mr-bugfixing/ based on revid:alik@ibmvm-20091009160334-h3uxbhpxcmvl9w1i 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. modified: scripts/mysql_system_tables.sql scripts/mysql_system_tables_fix.sql sql/sql_plugin.cc === modified file 'scripts/mysql_system_tables.sql' --- a/scripts/mysql_system_tables.sql 2009-05-15 12:57:51 +0000 +++ b/scripts/mysql_system_tables.sql 2009-10-12 18:15:10 +0000 @@ -22,7 +22,7 @@ set @had_user_table= @@warning_count != CREATE TABLE IF NOT EXISTS func ( name char(64) binary DEFAULT '' NOT NULL, ret tinyint(1) DEFAULT '0' NOT NULL, dl char(128) DEFAULT '' NOT NULL, type enum ('function','aggregate') COLLATE utf8_general_ci NOT NULL, PRIMARY KEY (name) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='User defined functions'; -CREATE TABLE IF NOT EXISTS plugin ( name char(64) binary DEFAULT '' NOT NULL, dl char(128) DEFAULT '' NOT NULL, PRIMARY KEY (name) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='MySQL plugins'; +CREATE TABLE IF NOT EXISTS plugin ( name varchar(64) DEFAULT '' NOT NULL, dl varchar(128) DEFAULT '' NOT NULL, PRIMARY KEY (name) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci comment='MySQL plugins'; CREATE TABLE IF NOT EXISTS servers ( Server_name char(64) NOT NULL DEFAULT '', Host char(64) NOT NULL DEFAULT '', Db char(64) NOT NULL DEFAULT '', Username char(64) NOT NULL DEFAULT '', Password char(64) NOT NULL DEFAULT '', Port INT(4) NOT NULL DEFAULT '0', Socket char(64) NOT NULL DEFAULT '', Wrapper char(64) NOT NULL DEFAULT '', Owner char(64) NOT NULL DEFAULT '', PRIMARY KEY (Server_name)) CHARACTER SET utf8 comment='MySQL Foreign Servers table'; === modified file 'scripts/mysql_system_tables_fix.sql' --- a/scripts/mysql_system_tables_fix.sql 2009-03-11 20:30:56 +0000 +++ b/scripts/mysql_system_tables_fix.sql 2009-10-12 18:15:10 +0000 @@ -229,6 +229,11 @@ SET GLOBAL slow_query_log = 'OFF'; ALTER TABLE slow_log MODIFY COLUMN server_id INTEGER UNSIGNED NOT NULL; SET GLOBAL slow_query_log = @old_log_state; +ALTER TABLE plugin + MODIFY name varchar(64) COLLATE utf8_general_ci NOT NULL DEFAULT '', + MODIFY dl varchar(128) COLLATE utf8_general_ci NOT NULL DEFAULT '', + CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; + # # Detect whether we had Create_view_priv # === modified file 'sql/sql_plugin.cc' --- a/sql/sql_plugin.cc 2009-09-04 10:32:21 +0000 +++ b/sql/sql_plugin.cc 2009-10-12 18:15:10 +0000 @@ -1764,12 +1764,13 @@ bool mysql_uninstall_plugin(THD *thd, co reap_plugins(); pthread_mutex_unlock(&LOCK_plugin); + uchar user_key[MAX_KEY_LENGTH]; table->use_all_columns(); table->field[0]->store(name->str, name->length, system_charset_info); - if (! table->file->index_read_idx_map(table->record[0], 0, - (uchar *)table->field[0]->ptr, - HA_WHOLE_KEY, - HA_READ_KEY_EXACT)) + key_copy(user_key, table->record[0], table->key_info, + table->key_info->key_length); + if (! table->file->index_read_idx_map(table->record[0], 0, user_key, + HA_WHOLE_KEY, HA_READ_KEY_EXACT)) { int error; /* --===============0858352517121282209== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/serg@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: serg@stripped # target_branch: file:///usr/home/serg/Abk/mysql/next-mr-bugfixing/ # testament_sha1: aaa14b77ed3442afb11ea85254d458b8b389e666 # timestamp: 2009-10-12 20:15:19 +0200 # source_branch: file:///usr/home/serg/Abk/mysql/6.0-codebase-\ # bugfixing/ # base_revision_id: alik@ibmvm-20091009160334-h3uxbhpxcmvl9w1i # # Begin bundle IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWXMYGJcAAzZfgECQfef//3/v /+q////wYAf33upmqACC2NQGgNs0BwlIRpMRMCaeo9Q9NTCek8SaMhoAAAAA1JpBpo9AmmmjQ0AA BkA0AAAAHGjJkYRiAYTQYBNBoGTJoyZDCAwkUCAhpPVPU9T1PVNoJp6maD1NJkwR5TyaeonkaaMh xoyZGEYgGE0GATQaBkyaMmQwgMJJBAAAmgE0DJNGihmoAA9QB6hp6ij5reewuw3AWhlPJz8D1rai JMgdUU0zGIUA4Ap0tFRtUyEFBAcek/SzpNElslg+ymy/+TERhhNs/OFf0o/bi7kGqrTbG2w7Vf0F TXSGEDQ8dUCbOxQpWTJybfPT2e7A1i6s0F2razblET5neJx8IIOYhU58Xjyf1/3SgsseSWoy8SHf xndXkqhVTm6qsvpvLFmquiseTRbJYMzbkvRcTFP8QHnxdrV7pXB/5FGW3iomj3acWWmmsLecPZsq Ow0Mp40BbLOFxBC/HknXjFAokaw1dgMrD6kw5HlRqU2SX5uXILB70TkTIy09Y/U4r7zcAeH38zQL 2O2/22nI3B1UpdIG2rBPWQjOgreTdfZGDJhFzS/LUN36xS1XqlT1YWddlSA7NNUdCQ41tyZJobAG hT0DPKZBlVGWwVVy0IxefH7pCKZR4lqIKDQYQbwmh9SQ3x2+/JKLNKEHDNJIldlaFO4uWfGtVtcc PuUDARdT+R7Mk8b6KdGJQbYInuGrpWFhpg9HTbmI6T4jqbQvIkT3KkxHAf+UsJa8oPV7/YBUhYwi NRITJ42cBw6Ji+UokIlpHI2mlo8kFxIG42nAxlvENNLCEBq7SR49MPi0IPr0IQCw7hFpcXGMi/ZD 8FYDgkOxbiQi8rdOQzPwn2yK1cl+QflVXgVxVgWOHqJ4lU0R+hITajycga920HB9iI8yORWa2jXp sHQOQ1lwi0Td7pMIDyZFn27txEpaQ0HrmVrsQN8DcTuPmfM7jAmvvscFphcP2EdpKdSleEuRIXO7 zAuIIagcXEx5SnI181KpJ6cispfw9nP/e4iW4KheLGheWbGRCpe8gUFxl46E0g8iZkBFrjZIZyjq 3yzhAtkLikgZF7EHyV0BQyE9lVQTETE8ZistORUfHf3V0Zi+hAhfnMcJyiDRGLCMaCnZ6fV/fbT9 hr8MAORrNLwODqHwbsotrxqKCE34docGqMoRdTjsRMZwLMkWb1fuOvjOGJjx/Y+U/9DlCMjPUmDH zFXrSlFQDaQsubC8p9QlJdWU+NvSFOnIDOrzU6R9HXkjlMPzXLv6oGCzLraXvI6cDSxwCAQ63jz2 nR55aa5oiMJ8uRy2oyRIb6FYXSXQhRVMZ0D/PILUa0FU5YVIePROushBoTLsPjioJRaYyxwly+fD ZJGQmgHyhZnCzxLfUAy1GxRFD7Voaqs+k7BUDlD3kwOJcIzKesfEbbRF4j21rUZ4D5SaxEb3McP/ 9kC+m4dh2tFAyiPrylEVS029v1fFYYaTi2/Midw2nN3CRE1kTdOfkIkTQ5ExMTEh4LvOIjmtrhGX 0y8CXb/FIa7Yym1juHaNbMTQf0M7yMdV8Ct55d0KtgaKN6VcXCTLZCxPlPIoIUFQOe3Q3pxpof1K CJ0L7UTGCooRCIikn2WHEeRaRcQ4Yj5DnL4CPoaHlcr/N3V0pg0EpWV5PQ48x3Jum0iES48jbmsr ENUdIssHlqGFfhqcB4dMuRgO7R/nSU7KwcjhDbDGZVb05KfCGcsyzQyR82fyFPUqBrKwlkkEUqid K0RLRy14AbzodTcRcctxULzHm81JyccFUxWGOvg/6r09ILz5h2XHvWyneFRPMLAo7SHaUdzSMzyX AYT7gnkmQM2Ai/RzHMYWkssirSTMaBprwqQaV5SkqjtTaRwhT2EN4Gsq86r24nrHd9lZaP2cuCRo 1ZvVZD3A7iTltPqpkK8lPEoTC3id56QbW4xp8pI+3aaiqcReWCHOb3weYq8Iqz/Vpry6azLEp3cD uHK7A2JjVd7xd5NXoP9bT/YBoiK7A9I2a+Nl6wGYGSLXBMqWrm+Bh6VRkuQOw4ORemEdjYjxWIXv RvEUgbdf09NhDjWae6ecKfHFbhLskbYB7FlTDWOArT/YZBKdWRVCz90yB0rtEdzkoPK/lRluPLmW UFVAhzJMvcTc2WPeVcR3zkfuW6uF1MAuS3mHgjmmlAvuFBM2RRO5WHU3K1LYtJEI0t2wwYL4kLoQ iZp4XxkyC8aVCO1gplLLExDI3GSLjpmq/ThsSFa7nNmK96TxMHZoBKQDDPxOT5BEc/aVaMn0IUtx mbLyjU0TkSV/ify7t1gpXtjYXkFCNlRFVuAx3CMVqL9brgvxib6GXdT0cF4aTHMRQQVqLKQpZmZp +4t5gnsQeovDqWrgzwrJhX3eqfoXB4neaVZbYIhZ8nPXI9OrQJtzKUVy+3wdaG+aRyOBEVNAqZYH yuvLIEdnR9SCIZjErIkyeHgIrs99HxT/QZB5j1c59gaymxvZsWFn7ylOLCcijDFdSv7qYmYjM+An qU8xE5wM8FL7eoi3Erqx2uH5LencVB48DeNi3I2ReNCcR0Uh9CQUe46m3IRcwg4B2HuJDhWXXh3U 3E8qSVnLAgXIYfxdyRThQkHMYGJc --===============0858352517121282209==--