diff options
author | unknown <anozdrin/alik@ibm.> | 2007-07-26 20:05:01 +0400 |
---|---|---|
committer | unknown <anozdrin/alik@ibm.> | 2007-07-26 20:05:01 +0400 |
commit | 1336b0eb1371868c3e6596565cbe35978dfa6140 (patch) | |
tree | 9c3a8a23716117c1de6e5ba2259a7a6b09dfe57c /server-tools/instance-manager/instance.cc | |
parent | ef7cf7d07f8d4e47432090aa31859d85e927ab1b (diff) | |
download | mariadb-git-1336b0eb1371868c3e6596565cbe35978dfa6140.tar.gz |
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.
scripts/mysql_system_tables.sql:
Use dynamic SQL instead of stored programs.
Diffstat (limited to 'server-tools/instance-manager/instance.cc')
0 files changed, 0 insertions, 0 deletions