| Bug #30029 | mysql_upgrade fails for 5.0 -> 5.1.21, 5.1.20 -> 5.1.21 upgrades | ||
|---|---|---|---|
| Submitted: | 25 Jul 2007 11:55 | Modified: | 2 Aug 2007 5:32 |
| Reporter: | Alexander Nozdrin | ||
| Status: | Closed | ||
| Category: | Server: General | Severity: | S3 (Non-critical) |
| Version: | 5.1.21 | OS: | Any |
| Assigned to: | Alexander Nozdrin | Target Version: | |
[25 Jul 2007 11:55]
Alexander Nozdrin
[26 Jul 2007 18:06]
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/31634 ChangeSet@1.2560, 2007-07-26 20:05:01+04:00, anozdrin@ibm. +1 -0 Fix for BUG#30029: mysql_upgrade fails for 5.0 -> 5.1.21, 5.1.20 -> 5.1.21 upgrades. We generate mysql_fix_privilege.sql file, which contains SQL statements required to upgrade the system database. This script is generated by concatenation of mysql_system_tables.sql and mysql_system_tables_fix.sql. The problem was that - in order to create general_log and slow_log tables we use stored programs in mysql_system_tables.sql; - we upgrade mysql.proc table in mysql_system_tables_fix.sql; So, if mysql.proc table needs to be upgraded, stored procedures can not be used in mysql_system_tables.sql. In other words, in mysql_system_tables.sql stored programs must not be used because they may be unavailable at this point. The fix is to use dynamic SQL instead of stored programs. There is no test case for this bug because our test suite is not suitable for such test cases. system_mysql_db_fix* test cases play with the database "test". Here we need to modify the system database and we can not do that in the test suite.
[26 Jul 2007 18:08]
Alexander Nozdrin
Pushed into 5.1-runtime.
[2 Aug 2007 1:27]
Bugs System
Pushed into 5.1.21-beta
[2 Aug 2007 5:32]
Paul DuBois
Noted in 5.1.21 changelog. (Added a note to the Bug#11986 entry that the patch for Bug#11986 broke mysql_upgrade.)
[4 Sep 2007 19:11]
Bugs System
Pushed into 5.1.23-beta
