mirror of
https://github.com/MariaDB/server.git
synced 2025-08-17 21:39:33 +00:00

Before this fix, mysql_upgrade would always drop and re create the performance_schema database. This in theory could destroy user data created using 5.1 or older versions. With this fix, mysql_upgrade checks the content of the performance_schema database before droping it.
154 lines
9.2 KiB
Plaintext
154 lines
9.2 KiB
Plaintext
drop table if exists test.user_table;
|
|
drop procedure if exists test.user_proc;
|
|
drop function if exists test.user_func;
|
|
drop event if exists test.user_event;
|
|
"Testing mysql_upgrade with TABLE performance_schema.user_table"
|
|
create table test.user_table(a int);
|
|
use performance_schema;
|
|
show tables like "user_table";
|
|
Tables_in_performance_schema (user_table)
|
|
user_table
|
|
ERROR 1644 (HY000) at line 178: Unexpected content found in the performance_schema database.
|
|
ERROR 1050 (42S01) at line 203: Table 'COND_INSTANCES' already exists
|
|
ERROR 1050 (42S01) at line 233: Table 'EVENTS_WAITS_CURRENT' already exists
|
|
ERROR 1050 (42S01) at line 247: Table 'EVENTS_WAITS_HISTORY' already exists
|
|
ERROR 1050 (42S01) at line 261: Table 'EVENTS_WAITS_HISTORY_LONG' already exists
|
|
ERROR 1050 (42S01) at line 281: Table 'EVENTS_WAITS_SUMMARY_BY_EVENT_NAME' already exists
|
|
ERROR 1050 (42S01) at line 302: Table 'EVENTS_WAITS_SUMMARY_BY_INSTANCE' already exists
|
|
ERROR 1050 (42S01) at line 323: Table 'EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME' already exists
|
|
ERROR 1050 (42S01) at line 340: Table 'FILE_INSTANCES' already exists
|
|
ERROR 1050 (42S01) at line 359: Table 'FILE_SUMMARY_BY_EVENT_NAME' already exists
|
|
ERROR 1050 (42S01) at line 379: Table 'FILE_SUMMARY_BY_INSTANCE' already exists
|
|
ERROR 1050 (42S01) at line 396: Table 'MUTEX_INSTANCES' already exists
|
|
ERROR 1050 (42S01) at line 414: Table 'PERFORMANCE_TIMERS' already exists
|
|
ERROR 1050 (42S01) at line 431: Table 'PROCESSLIST' already exists
|
|
ERROR 1050 (42S01) at line 449: Table 'RWLOCK_INSTANCES' already exists
|
|
ERROR 1050 (42S01) at line 465: Table 'SETUP_CONSUMERS' already exists
|
|
ERROR 1050 (42S01) at line 482: Table 'SETUP_INSTRUMENTS' already exists
|
|
ERROR 1050 (42S01) at line 502: Table 'SETUP_OBJECTS' already exists
|
|
ERROR 1050 (42S01) at line 518: Table 'SETUP_TIMERS' already exists
|
|
FATAL ERROR: Upgrade failed
|
|
show tables like "user_table";
|
|
Tables_in_performance_schema (user_table)
|
|
user_table
|
|
use test;
|
|
drop table test.user_table;
|
|
"Testing mysql_upgrade with VIEW performance_schema.user_view"
|
|
create view test.user_view as select "Not supposed to be here";
|
|
use performance_schema;
|
|
show tables like "user_view";
|
|
Tables_in_performance_schema (user_view)
|
|
user_view
|
|
ERROR 1644 (HY000) at line 178: Unexpected content found in the performance_schema database.
|
|
ERROR 1050 (42S01) at line 203: Table 'COND_INSTANCES' already exists
|
|
ERROR 1050 (42S01) at line 233: Table 'EVENTS_WAITS_CURRENT' already exists
|
|
ERROR 1050 (42S01) at line 247: Table 'EVENTS_WAITS_HISTORY' already exists
|
|
ERROR 1050 (42S01) at line 261: Table 'EVENTS_WAITS_HISTORY_LONG' already exists
|
|
ERROR 1050 (42S01) at line 281: Table 'EVENTS_WAITS_SUMMARY_BY_EVENT_NAME' already exists
|
|
ERROR 1050 (42S01) at line 302: Table 'EVENTS_WAITS_SUMMARY_BY_INSTANCE' already exists
|
|
ERROR 1050 (42S01) at line 323: Table 'EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME' already exists
|
|
ERROR 1050 (42S01) at line 340: Table 'FILE_INSTANCES' already exists
|
|
ERROR 1050 (42S01) at line 359: Table 'FILE_SUMMARY_BY_EVENT_NAME' already exists
|
|
ERROR 1050 (42S01) at line 379: Table 'FILE_SUMMARY_BY_INSTANCE' already exists
|
|
ERROR 1050 (42S01) at line 396: Table 'MUTEX_INSTANCES' already exists
|
|
ERROR 1050 (42S01) at line 414: Table 'PERFORMANCE_TIMERS' already exists
|
|
ERROR 1050 (42S01) at line 431: Table 'PROCESSLIST' already exists
|
|
ERROR 1050 (42S01) at line 449: Table 'RWLOCK_INSTANCES' already exists
|
|
ERROR 1050 (42S01) at line 465: Table 'SETUP_CONSUMERS' already exists
|
|
ERROR 1050 (42S01) at line 482: Table 'SETUP_INSTRUMENTS' already exists
|
|
ERROR 1050 (42S01) at line 502: Table 'SETUP_OBJECTS' already exists
|
|
ERROR 1050 (42S01) at line 518: Table 'SETUP_TIMERS' already exists
|
|
FATAL ERROR: Upgrade failed
|
|
show tables like "user_view";
|
|
Tables_in_performance_schema (user_view)
|
|
user_view
|
|
use test;
|
|
drop view test.user_view;
|
|
"Testing mysql_upgrade with PROCEDURE performance_schema.user_proc"
|
|
create procedure test.user_proc()
|
|
select "Not supposed to be here";
|
|
update mysql.proc set db='performance_schema' where name='user_proc';
|
|
ERROR 1644 (HY000) at line 178: Unexpected content found in the performance_schema database.
|
|
ERROR 1050 (42S01) at line 203: Table 'COND_INSTANCES' already exists
|
|
ERROR 1050 (42S01) at line 233: Table 'EVENTS_WAITS_CURRENT' already exists
|
|
ERROR 1050 (42S01) at line 247: Table 'EVENTS_WAITS_HISTORY' already exists
|
|
ERROR 1050 (42S01) at line 261: Table 'EVENTS_WAITS_HISTORY_LONG' already exists
|
|
ERROR 1050 (42S01) at line 281: Table 'EVENTS_WAITS_SUMMARY_BY_EVENT_NAME' already exists
|
|
ERROR 1050 (42S01) at line 302: Table 'EVENTS_WAITS_SUMMARY_BY_INSTANCE' already exists
|
|
ERROR 1050 (42S01) at line 323: Table 'EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME' already exists
|
|
ERROR 1050 (42S01) at line 340: Table 'FILE_INSTANCES' already exists
|
|
ERROR 1050 (42S01) at line 359: Table 'FILE_SUMMARY_BY_EVENT_NAME' already exists
|
|
ERROR 1050 (42S01) at line 379: Table 'FILE_SUMMARY_BY_INSTANCE' already exists
|
|
ERROR 1050 (42S01) at line 396: Table 'MUTEX_INSTANCES' already exists
|
|
ERROR 1050 (42S01) at line 414: Table 'PERFORMANCE_TIMERS' already exists
|
|
ERROR 1050 (42S01) at line 431: Table 'PROCESSLIST' already exists
|
|
ERROR 1050 (42S01) at line 449: Table 'RWLOCK_INSTANCES' already exists
|
|
ERROR 1050 (42S01) at line 465: Table 'SETUP_CONSUMERS' already exists
|
|
ERROR 1050 (42S01) at line 482: Table 'SETUP_INSTRUMENTS' already exists
|
|
ERROR 1050 (42S01) at line 502: Table 'SETUP_OBJECTS' already exists
|
|
ERROR 1050 (42S01) at line 518: Table 'SETUP_TIMERS' already exists
|
|
FATAL ERROR: Upgrade failed
|
|
select name from mysql.proc where db='performance_schema';
|
|
name
|
|
user_proc
|
|
update mysql.proc set db='test' where name='user_proc';
|
|
drop procedure test.user_proc;
|
|
"Testing mysql_upgrade with FUNCTION performance_schema.user_func"
|
|
create function test.user_func() returns integer
|
|
return 0;
|
|
update mysql.proc set db='performance_schema' where name='user_func';
|
|
ERROR 1644 (HY000) at line 178: Unexpected content found in the performance_schema database.
|
|
ERROR 1050 (42S01) at line 203: Table 'COND_INSTANCES' already exists
|
|
ERROR 1050 (42S01) at line 233: Table 'EVENTS_WAITS_CURRENT' already exists
|
|
ERROR 1050 (42S01) at line 247: Table 'EVENTS_WAITS_HISTORY' already exists
|
|
ERROR 1050 (42S01) at line 261: Table 'EVENTS_WAITS_HISTORY_LONG' already exists
|
|
ERROR 1050 (42S01) at line 281: Table 'EVENTS_WAITS_SUMMARY_BY_EVENT_NAME' already exists
|
|
ERROR 1050 (42S01) at line 302: Table 'EVENTS_WAITS_SUMMARY_BY_INSTANCE' already exists
|
|
ERROR 1050 (42S01) at line 323: Table 'EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME' already exists
|
|
ERROR 1050 (42S01) at line 340: Table 'FILE_INSTANCES' already exists
|
|
ERROR 1050 (42S01) at line 359: Table 'FILE_SUMMARY_BY_EVENT_NAME' already exists
|
|
ERROR 1050 (42S01) at line 379: Table 'FILE_SUMMARY_BY_INSTANCE' already exists
|
|
ERROR 1050 (42S01) at line 396: Table 'MUTEX_INSTANCES' already exists
|
|
ERROR 1050 (42S01) at line 414: Table 'PERFORMANCE_TIMERS' already exists
|
|
ERROR 1050 (42S01) at line 431: Table 'PROCESSLIST' already exists
|
|
ERROR 1050 (42S01) at line 449: Table 'RWLOCK_INSTANCES' already exists
|
|
ERROR 1050 (42S01) at line 465: Table 'SETUP_CONSUMERS' already exists
|
|
ERROR 1050 (42S01) at line 482: Table 'SETUP_INSTRUMENTS' already exists
|
|
ERROR 1050 (42S01) at line 502: Table 'SETUP_OBJECTS' already exists
|
|
ERROR 1050 (42S01) at line 518: Table 'SETUP_TIMERS' already exists
|
|
FATAL ERROR: Upgrade failed
|
|
select name from mysql.proc where db='performance_schema';
|
|
name
|
|
user_func
|
|
update mysql.proc set db='test' where name='user_func';
|
|
drop function test.user_func;
|
|
"Testing mysql_upgrade with EVENT performance_schema.user_event"
|
|
create event test.user_event on schedule every 1 day do
|
|
select "not supposed to be here";
|
|
update mysql.event set db='performance_schema' where name='user_event';
|
|
ERROR 1644 (HY000) at line 178: Unexpected content found in the performance_schema database.
|
|
ERROR 1050 (42S01) at line 203: Table 'COND_INSTANCES' already exists
|
|
ERROR 1050 (42S01) at line 233: Table 'EVENTS_WAITS_CURRENT' already exists
|
|
ERROR 1050 (42S01) at line 247: Table 'EVENTS_WAITS_HISTORY' already exists
|
|
ERROR 1050 (42S01) at line 261: Table 'EVENTS_WAITS_HISTORY_LONG' already exists
|
|
ERROR 1050 (42S01) at line 281: Table 'EVENTS_WAITS_SUMMARY_BY_EVENT_NAME' already exists
|
|
ERROR 1050 (42S01) at line 302: Table 'EVENTS_WAITS_SUMMARY_BY_INSTANCE' already exists
|
|
ERROR 1050 (42S01) at line 323: Table 'EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME' already exists
|
|
ERROR 1050 (42S01) at line 340: Table 'FILE_INSTANCES' already exists
|
|
ERROR 1050 (42S01) at line 359: Table 'FILE_SUMMARY_BY_EVENT_NAME' already exists
|
|
ERROR 1050 (42S01) at line 379: Table 'FILE_SUMMARY_BY_INSTANCE' already exists
|
|
ERROR 1050 (42S01) at line 396: Table 'MUTEX_INSTANCES' already exists
|
|
ERROR 1050 (42S01) at line 414: Table 'PERFORMANCE_TIMERS' already exists
|
|
ERROR 1050 (42S01) at line 431: Table 'PROCESSLIST' already exists
|
|
ERROR 1050 (42S01) at line 449: Table 'RWLOCK_INSTANCES' already exists
|
|
ERROR 1050 (42S01) at line 465: Table 'SETUP_CONSUMERS' already exists
|
|
ERROR 1050 (42S01) at line 482: Table 'SETUP_INSTRUMENTS' already exists
|
|
ERROR 1050 (42S01) at line 502: Table 'SETUP_OBJECTS' already exists
|
|
ERROR 1050 (42S01) at line 518: Table 'SETUP_TIMERS' already exists
|
|
FATAL ERROR: Upgrade failed
|
|
select name from mysql.event where db='performance_schema';
|
|
name
|
|
user_event
|
|
update mysql.event set db='test' where name='user_event';
|
|
drop event test.user_event;
|