diff options
57 files changed, 592 insertions, 1137 deletions
diff --git a/mysql-test/suite/perfschema/include/setup_helper.inc b/mysql-test/suite/perfschema/include/setup_helper.inc index 8a2dfa86496..1c8d4e412d5 100644 --- a/mysql-test/suite/perfschema/include/setup_helper.inc +++ b/mysql-test/suite/perfschema/include/setup_helper.inc @@ -25,17 +25,17 @@ update performance_schema.SETUP_CONSUMERS set enabled='YES'; connect (con1, localhost, root, , ); -let $con1_THREAD_ID=`select thread_id from performance_schema.PROCESSLIST +let $con1_THREAD_ID=`select thread_id from performance_schema.THREADS where ID in (select connection_id())`; connect (con2, localhost, root, , ); -let $con2_THREAD_ID=`select thread_id from performance_schema.PROCESSLIST +let $con2_THREAD_ID=`select thread_id from performance_schema.THREADS where ID in (select connection_id())`; connect (con3, localhost, root, , ); -let $con3_THREAD_ID=`select thread_id from performance_schema.PROCESSLIST +let $con3_THREAD_ID=`select thread_id from performance_schema.THREADS where ID in (select connection_id())`; connection default; @@ -49,6 +49,6 @@ prepare stmt_dump_events from where thread_id=? order by event_id;"; prepare stmt_dump_thread from - "select name from performance_schema.PROCESSLIST where thread_id=? ;"; + "select name from performance_schema.THREADS where thread_id=? ;"; --enable_query_log diff --git a/mysql-test/suite/perfschema/include/start_server_common.inc b/mysql-test/suite/perfschema/include/start_server_common.inc index fa1cb953f59..083b302c5f7 100644 --- a/mysql-test/suite/perfschema/include/start_server_common.inc +++ b/mysql-test/suite/perfschema/include/start_server_common.inc @@ -29,20 +29,19 @@ select * from performance_schema.COND_INSTANCES; select * from performance_schema.EVENTS_WAITS_CURRENT; select * from performance_schema.EVENTS_WAITS_HISTORY; select * from performance_schema.EVENTS_WAITS_HISTORY_LONG; -select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME; select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE; select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME; +select * from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME; select * from performance_schema.FILE_INSTANCES; select * from performance_schema.FILE_SUMMARY_BY_EVENT_NAME; select * from performance_schema.FILE_SUMMARY_BY_INSTANCE; select * from performance_schema.MUTEX_INSTANCES; select * from performance_schema.PERFORMANCE_TIMERS; -select * from performance_schema.PROCESSLIST; select * from performance_schema.RWLOCK_INSTANCES; select * from performance_schema.SETUP_CONSUMERS; select * from performance_schema.SETUP_INSTRUMENTS; -select * from performance_schema.SETUP_OBJECTS; select * from performance_schema.SETUP_TIMERS; +select * from performance_schema.THREADS; --enable_result_log # This has a stable output, printing the result: diff --git a/mysql-test/suite/perfschema/r/aggregate.result b/mysql-test/suite/perfschema/r/aggregate.result index 197378ca38f..c7ac05ba69d 100644 --- a/mysql-test/suite/perfschema/r/aggregate.result +++ b/mysql-test/suite/perfschema/r/aggregate.result @@ -4,7 +4,7 @@ update performance_schema.SETUP_INSTRUMENTS set enabled = 'NO'; update performance_schema.SETUP_CONSUMERS set enabled = 'NO'; truncate table performance_schema.FILE_SUMMARY_BY_EVENT_NAME; truncate table performance_schema.FILE_SUMMARY_BY_INSTANCE; -truncate table performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME; +truncate table performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME; truncate table performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE; truncate table performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME; update performance_schema.SETUP_CONSUMERS set enabled = 'YES'; @@ -49,14 +49,14 @@ OR @dump_all; EVENT_NAME SUM_NUMBER_OF_BYTES_WRITE SUM(i.SUM_NUMBER_OF_BYTES_WRITE) "Verifying waits aggregate consistency (instance)" SELECT EVENT_NAME, e.SUM_TIMER_WAIT, SUM(i.SUM_TIMER_WAIT) -FROM performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME AS e +FROM performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME AS e JOIN performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE AS i USING (EVENT_NAME) GROUP BY EVENT_NAME HAVING (e.SUM_TIMER_WAIT < SUM(i.SUM_TIMER_WAIT)) OR @dump_all; EVENT_NAME SUM_TIMER_WAIT SUM(i.SUM_TIMER_WAIT) SELECT EVENT_NAME, e.MIN_TIMER_WAIT, MIN(i.MIN_TIMER_WAIT) -FROM performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME AS e +FROM performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME AS e JOIN performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE AS i USING (EVENT_NAME) GROUP BY EVENT_NAME HAVING (e.MIN_TIMER_WAIT > MIN(i.MIN_TIMER_WAIT)) @@ -64,7 +64,7 @@ AND (MIN(i.MIN_TIMER_WAIT) != 0) OR @dump_all; EVENT_NAME MIN_TIMER_WAIT MIN(i.MIN_TIMER_WAIT) SELECT EVENT_NAME, e.MAX_TIMER_WAIT, MAX(i.MAX_TIMER_WAIT) -FROM performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME AS e +FROM performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME AS e JOIN performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE AS i USING (EVENT_NAME) GROUP BY EVENT_NAME HAVING (e.MAX_TIMER_WAIT < MAX(i.MAX_TIMER_WAIT)) @@ -72,7 +72,7 @@ OR @dump_all; EVENT_NAME MAX_TIMER_WAIT MAX(i.MAX_TIMER_WAIT) "Verifying waits aggregate consistency (thread)" SELECT EVENT_NAME, e.SUM_TIMER_WAIT, SUM(t.SUM_TIMER_WAIT) -FROM performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME AS e +FROM performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME AS e JOIN performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME AS t USING (EVENT_NAME) GROUP BY EVENT_NAME @@ -80,7 +80,7 @@ HAVING (e.SUM_TIMER_WAIT < SUM(t.SUM_TIMER_WAIT)) OR @dump_all; EVENT_NAME SUM_TIMER_WAIT SUM(t.SUM_TIMER_WAIT) SELECT EVENT_NAME, e.MIN_TIMER_WAIT, MIN(t.MIN_TIMER_WAIT) -FROM performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME AS e +FROM performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME AS e JOIN performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME AS t USING (EVENT_NAME) GROUP BY EVENT_NAME @@ -89,7 +89,7 @@ AND (MIN(t.MIN_TIMER_WAIT) != 0) OR @dump_all; EVENT_NAME MIN_TIMER_WAIT MIN(t.MIN_TIMER_WAIT) SELECT EVENT_NAME, e.MAX_TIMER_WAIT, MAX(t.MAX_TIMER_WAIT) -FROM performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME AS e +FROM performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME AS e JOIN performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME AS t USING (EVENT_NAME) GROUP BY EVENT_NAME diff --git a/mysql-test/suite/perfschema/r/ddl_ews_by_event_name.result b/mysql-test/suite/perfschema/r/ddl_ews_by_event_name.result deleted file mode 100644 index 74fc4e1a640..00000000000 --- a/mysql-test/suite/perfschema/r/ddl_ews_by_event_name.result +++ /dev/null @@ -1,7 +0,0 @@ -alter table performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME add column foo integer; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' -truncate table performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME; -ALTER TABLE performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME ADD INDEX test_index(EVENT_NAME); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' -CREATE UNIQUE INDEX test_index ON performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME(EVENT_NAME); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_ews_global_by_event_name.result b/mysql-test/suite/perfschema/r/ddl_ews_global_by_event_name.result new file mode 100644 index 00000000000..4f3ebcaea43 --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_ews_global_by_event_name.result @@ -0,0 +1,10 @@ +alter table performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME +add column foo integer; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +truncate table performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME; +ALTER TABLE performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME +ADD INDEX test_index(EVENT_NAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index +ON performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME(EVENT_NAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_setup_objects.result b/mysql-test/suite/perfschema/r/ddl_setup_objects.result deleted file mode 100644 index c0f00745963..00000000000 --- a/mysql-test/suite/perfschema/r/ddl_setup_objects.result +++ /dev/null @@ -1,7 +0,0 @@ -alter table performance_schema.SETUP_OBJECTS add column foo integer; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' -truncate table performance_schema.SETUP_OBJECTS; -ALTER TABLE performance_schema.SETUP_OBJECTS ADD INDEX test_index(OBJECT_NAME); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' -CREATE UNIQUE INDEX test_index ON performance_schema.SETUP_OBJECTS(OBJECT_NAME); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_processlist.result b/mysql-test/suite/perfschema/r/ddl_threads.result index 5a9eb766349..5d4b54d8bbe 100644 --- a/mysql-test/suite/perfschema/r/ddl_processlist.result +++ b/mysql-test/suite/perfschema/r/ddl_threads.result @@ -1,8 +1,8 @@ -alter table performance_schema.PROCESSLIST add column foo integer; +alter table performance_schema.THREADS add column foo integer; ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' -truncate table performance_schema.PROCESSLIST; +truncate table performance_schema.THREADS; ERROR HY000: Invalid performance_schema usage. -ALTER TABLE performance_schema.PROCESSLIST ADD INDEX test_index(ID); +ALTER TABLE performance_schema.THREADS ADD INDEX test_index(ID); ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' -CREATE UNIQUE INDEX test_index ON performance_schema.PROCESSLIST(ID); +CREATE UNIQUE INDEX test_index ON performance_schema.THREADS(ID); ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/dml_ews_by_event_name.result b/mysql-test/suite/perfschema/r/dml_ews_by_event_name.result deleted file mode 100644 index 675fba021fe..00000000000 --- a/mysql-test/suite/perfschema/r/dml_ews_by_event_name.result +++ /dev/null @@ -1,28 +0,0 @@ -select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME -where event_name like 'Wait/Synch/%' limit 1; -EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT -# # # # # # -select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME -where event_name='FOO'; -EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT -insert into performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME -set event_name='FOO', count_star=1, sum_timer_wait=2, min_timer_wait=3, -avg_timer_wait=4, max_timer_wait=5; -ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_BY_EVENT_NAME' -update performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME -set count_star=12; -ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_BY_EVENT_NAME' -update performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME -set count_star=12 where event_name like "FOO"; -ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_BY_EVENT_NAME' -delete from performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME -where count_star=1; -ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_BY_EVENT_NAME' -delete from performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME; -ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_BY_EVENT_NAME' -LOCK TABLES performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME READ; -ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_BY_EVENT_NAME' -UNLOCK TABLES; -LOCK TABLES performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME WRITE; -ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_BY_EVENT_NAME' -UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_ews_global_by_event_name.result b/mysql-test/suite/perfschema/r/dml_ews_global_by_event_name.result new file mode 100644 index 00000000000..64ede2fddac --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_ews_global_by_event_name.result @@ -0,0 +1,28 @@ +select * from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME +where event_name like 'Wait/Synch/%' limit 1; +EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT +# # # # # # +select * from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME +where event_name='FOO'; +EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT +insert into performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME +set event_name='FOO', count_star=1, sum_timer_wait=2, min_timer_wait=3, +avg_timer_wait=4, max_timer_wait=5; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME' +update performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME +set count_star=12; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME' +update performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME +set count_star=12 where event_name like "FOO"; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME' +delete from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME +where count_star=1; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME' +delete from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME' +LOCK TABLES performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME READ; +ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME' +UNLOCK TABLES; +LOCK TABLES performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME WRITE; +ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_setup_objects.result b/mysql-test/suite/perfschema/r/dml_setup_objects.result deleted file mode 100644 index a9d97357227..00000000000 --- a/mysql-test/suite/perfschema/r/dml_setup_objects.result +++ /dev/null @@ -1,35 +0,0 @@ -select * from performance_schema.SETUP_OBJECTS; -OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED AGGREGATED -select * from performance_schema.SETUP_OBJECTS -where object_type = 'TABLE'; -OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED AGGREGATED -select * from performance_schema.SETUP_OBJECTS -where enabled='YES'; -OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED AGGREGATED -insert into performance_schema.SETUP_OBJECTS -set object_type='TABLE', object_schema='FOO', object_name='BAR', -enabled='YES', timed='YES', aggregated='YES'; -ERROR HY000: Table storage engine for 'SETUP_OBJECTS' doesn't have this option -update performance_schema.SETUP_OBJECTS -set object_type='TABLE'; -update performance_schema.SETUP_OBJECTS -set object_schema='ILLEGAL'; -update performance_schema.SETUP_OBJECTS -set object_name='ILLEGAL'; -update performance_schema.SETUP_OBJECTS -set enabled='NO'; -update performance_schema.SETUP_OBJECTS -set timed='NO'; -update performance_schema.SETUP_OBJECTS -set aggregated='NO'; -select * from performance_schema.SETUP_OBJECTS; -OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED AGGREGATED -update performance_schema.SETUP_OBJECTS -set enabled='YES', timed='YES', aggregated='YES'; -delete from performance_schema.SETUP_OBJECTS -where object_type = 'TABLE'; -delete from performance_schema.SETUP_OBJECTS; -LOCK TABLES performance_schema.SETUP_OBJECTS READ; -UNLOCK TABLES; -LOCK TABLES performance_schema.SETUP_OBJECTS WRITE; -UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_processlist.result b/mysql-test/suite/perfschema/r/dml_threads.result index ee0da5a7f1d..b4fa8705c95 100644 --- a/mysql-test/suite/perfschema/r/dml_processlist.result +++ b/mysql-test/suite/perfschema/r/dml_threads.result @@ -1,27 +1,27 @@ -select * from performance_schema.PROCESSLIST +select * from performance_schema.THREADS where name like 'Thread/%' limit 1; THREAD_ID ID NAME # # # -select * from performance_schema.PROCESSLIST +select * from performance_schema.THREADS where name='FOO'; THREAD_ID ID NAME -insert into performance_schema.PROCESSLIST +insert into performance_schema.THREADS set name='FOO', thread_id=1, id=2; -ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'PROCESSLIST' -update performance_schema.PROCESSLIST +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'THREADS' +update performance_schema.THREADS set thread_id=12; -ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'PROCESSLIST' -update performance_schema.PROCESSLIST +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'THREADS' +update performance_schema.THREADS set thread_id=12 where name like "FOO"; -ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'PROCESSLIST' -delete from performance_schema.PROCESSLIST +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'THREADS' +delete from performance_schema.THREADS where id=1; -ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'PROCESSLIST' -delete from performance_schema.PROCESSLIST; -ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'PROCESSLIST' -LOCK TABLES performance_schema.PROCESSLIST READ; -ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'PROCESSLIST' +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'THREADS' +delete from performance_schema.THREADS; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'THREADS' +LOCK TABLES performance_schema.THREADS READ; +ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'THREADS' UNLOCK TABLES; -LOCK TABLES performance_schema.PROCESSLIST WRITE; -ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'PROCESSLIST' +LOCK TABLES performance_schema.THREADS WRITE; +ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'THREADS' UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/func_file_io.result b/mysql-test/suite/perfschema/r/func_file_io.result index 69e6072fc22..201254aca21 100644 --- a/mysql-test/suite/perfschema/r/func_file_io.result +++ b/mysql-test/suite/perfschema/r/func_file_io.result @@ -90,27 +90,27 @@ SUM(SUM_NUMBER_OF_BYTES_WRITE) AS sum_num_bytes_write FROM performance_schema.FILE_SUMMARY_BY_INSTANCE WHERE FILE_NAME LIKE CONCAT('%', @@tmpdir, '%') ORDER BY NULL; SELECT EVENT_NAME, COUNT_STAR, AVG_TIMER_WAIT, SUM_TIMER_WAIT -FROM performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME +FROM performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME WHERE COUNT_STAR > 0 ORDER BY SUM_TIMER_WAIT DESC LIMIT 10; SELECT i.user, SUM(TIMER_WAIT) SUM_WAIT # ((TIME_TO_SEC(TIMEDIFF(NOW(), i.startup_time)) * 1000) / SUM(TIMER_WAIT)) * 100 WAIT_PERCENTAGE FROM performance_schema.EVENTS_WAITS_HISTORY_LONG h -INNER JOIN performance_schema.PROCESSLIST p USING (THREAD_ID) +INNER JOIN performance_schema.THREADS p USING (THREAD_ID) LEFT JOIN information_schema.PROCESSLIST i USING (ID) GROUP BY i.user ORDER BY SUM_WAIT DESC LIMIT 20; SELECT h.EVENT_NAME, SUM(h.TIMER_WAIT) TOTAL_WAIT FROM performance_schema.EVENTS_WAITS_HISTORY_LONG h -INNER JOIN performance_schema.PROCESSLIST p USING (THREAD_ID) +INNER JOIN performance_schema.THREADS p USING (THREAD_ID) WHERE p.ID = 1 GROUP BY h.EVENT_NAME HAVING TOTAL_WAIT > 0; SELECT i.user, h.operation, SUM(NUMBER_OF_BYTES) bytes FROM performance_schema.EVENTS_WAITS_HISTORY_LONG h -INNER JOIN performance_schema.PROCESSLIST p USING (THREAD_ID) +INNER JOIN performance_schema.THREADS p USING (THREAD_ID) LEFT JOIN information_schema.PROCESSLIST i USING (ID) GROUP BY i.user, h.operation HAVING BYTES > 0 diff --git a/mysql-test/suite/perfschema/r/information_schema.result b/mysql-test/suite/perfschema/r/information_schema.result index 86ebe80768c..8e7478564fb 100644 --- a/mysql-test/suite/perfschema/r/information_schema.result +++ b/mysql-test/suite/perfschema/r/information_schema.result @@ -6,20 +6,19 @@ performance_schema COND_INSTANCES def performance_schema EVENTS_WAITS_CURRENT def performance_schema EVENTS_WAITS_HISTORY def performance_schema EVENTS_WAITS_HISTORY_LONG def -performance_schema EVENTS_WAITS_SUMMARY_BY_EVENT_NAME def performance_schema EVENTS_WAITS_SUMMARY_BY_INSTANCE def performance_schema EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME def +performance_schema EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME def performance_schema FILE_INSTANCES def performance_schema FILE_SUMMARY_BY_EVENT_NAME def performance_schema FILE_SUMMARY_BY_INSTANCE def performance_schema MUTEX_INSTANCES def performance_schema PERFORMANCE_TIMERS def -performance_schema PROCESSLIST def performance_schema RWLOCK_INSTANCES def performance_schema SETUP_CONSUMERS def performance_schema SETUP_INSTRUMENTS def -performance_schema SETUP_OBJECTS def performance_schema SETUP_TIMERS def +performance_schema THREADS def select upper(TABLE_NAME), TABLE_TYPE, ENGINE from information_schema.tables where TABLE_SCHEMA='performance_schema'; @@ -28,20 +27,19 @@ COND_INSTANCES BASE TABLE PERFORMANCE_SCHEMA EVENTS_WAITS_CURRENT BASE TABLE PERFORMANCE_SCHEMA EVENTS_WAITS_HISTORY BASE TABLE PERFORMANCE_SCHEMA EVENTS_WAITS_HISTORY_LONG BASE TABLE PERFORMANCE_SCHEMA -EVENTS_WAITS_SUMMARY_BY_EVENT_NAME BASE TABLE PERFORMANCE_SCHEMA EVENTS_WAITS_SUMMARY_BY_INSTANCE BASE TABLE PERFORMANCE_SCHEMA EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME BASE TABLE PERFORMANCE_SCHEMA +EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME BASE TABLE PERFORMANCE_SCHEMA FILE_INSTANCES BASE TABLE PERFORMANCE_SCHEMA FILE_SUMMARY_BY_EVENT_NAME BASE TABLE PERFORMANCE_SCHEMA FILE_SUMMARY_BY_INSTANCE BASE TABLE PERFORMANCE_SCHEMA MUTEX_INSTANCES BASE TABLE PERFORMANCE_SCHEMA PERFORMANCE_TIMERS BASE TABLE PERFORMANCE_SCHEMA -PROCESSLIST BASE TABLE PERFORMANCE_SCHEMA RWLOCK_INSTANCES BASE TABLE PERFORMANCE_SCHEMA SETUP_CONSUMERS BASE TABLE PERFORMANCE_SCHEMA SETUP_INSTRUMENTS BASE TABLE PERFORMANCE_SCHEMA -SETUP_OBJECTS BASE TABLE PERFORMANCE_SCHEMA SETUP_TIMERS BASE TABLE PERFORMANCE_SCHEMA +THREADS BASE TABLE PERFORMANCE_SCHEMA select upper(TABLE_NAME), VERSION, ROW_FORMAT from information_schema.tables where TABLE_SCHEMA='performance_schema'; @@ -50,20 +48,19 @@ COND_INSTANCES 10 Dynamic EVENTS_WAITS_CURRENT 10 Dynamic EVENTS_WAITS_HISTORY 10 Dynamic EVENTS_WAITS_HISTORY_LONG 10 Dynamic -EVENTS_WAITS_SUMMARY_BY_EVENT_NAME 10 Dynamic EVENTS_WAITS_SUMMARY_BY_INSTANCE 10 Dynamic EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME 10 Dynamic +EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME 10 Dynamic FILE_INSTANCES 10 Dynamic FILE_SUMMARY_BY_EVENT_NAME 10 Dynamic FILE_SUMMARY_BY_INSTANCE 10 Dynamic MUTEX_INSTANCES 10 Dynamic PERFORMANCE_TIMERS 10 Fixed -PROCESSLIST 10 Dynamic RWLOCK_INSTANCES 10 Dynamic SETUP_CONSUMERS 10 Dynamic SETUP_INSTRUMENTS 10 Dynamic -SETUP_OBJECTS 10 Dynamic SETUP_TIMERS 10 Dynamic +THREADS 10 Dynamic select upper(TABLE_NAME), TABLE_ROWS, AVG_ROW_LENGTH from information_schema.tables where TABLE_SCHEMA='performance_schema'; @@ -72,20 +69,19 @@ COND_INSTANCES 1000 0 EVENTS_WAITS_CURRENT 1000 0 EVENTS_WAITS_HISTORY 1000 0 EVENTS_WAITS_HISTORY_LONG 10000 0 -EVENTS_WAITS_SUMMARY_BY_EVENT_NAME 1000 0 EVENTS_WAITS_SUMMARY_BY_INSTANCE 1000 0 EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME 1000 0 +EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME 1000 0 FILE_INSTANCES 1000 0 FILE_SUMMARY_BY_EVENT_NAME 1000 0 FILE_SUMMARY_BY_INSTANCE 1000 0 MUTEX_INSTANCES 1000 0 PERFORMANCE_TIMERS 5 0 -PROCESSLIST 1000 0 RWLOCK_INSTANCES 1000 0 SETUP_CONSUMERS 8 0 SETUP_INSTRUMENTS 1000 0 -SETUP_OBJECTS 1000 0 SETUP_TIMERS 1 0 +THREADS 1000 0 select upper(TABLE_NAME), DATA_LENGTH, MAX_DATA_LENGTH from information_schema.tables where TABLE_SCHEMA='performance_schema'; @@ -94,20 +90,19 @@ COND_INSTANCES 0 0 EVENTS_WAITS_CURRENT 0 0 EVENTS_WAITS_HISTORY 0 0 EVENTS_WAITS_HISTORY_LONG 0 0 -EVENTS_WAITS_SUMMARY_BY_EVENT_NAME 0 0 EVENTS_WAITS_SUMMARY_BY_INSTANCE 0 0 EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME 0 0 +EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME 0 0 FILE_INSTANCES 0 0 FILE_SUMMARY_BY_EVENT_NAME 0 0 FILE_SUMMARY_BY_INSTANCE 0 0 MUTEX_INSTANCES 0 0 PERFORMANCE_TIMERS 0 0 -PROCESSLIST 0 0 RWLOCK_INSTANCES 0 0 SETUP_CONSUMERS 0 0 SETUP_INSTRUMENTS 0 0 -SETUP_OBJECTS 0 0 SETUP_TIMERS 0 0 +THREADS 0 0 select upper(TABLE_NAME), INDEX_LENGTH, DATA_FREE, AUTO_INCREMENT from information_schema.tables where TABLE_SCHEMA='performance_schema'; @@ -116,20 +111,19 @@ COND_INSTANCES 0 0 NULL EVENTS_WAITS_CURRENT 0 0 NULL EVENTS_WAITS_HISTORY 0 0 NULL EVENTS_WAITS_HISTORY_LONG 0 0 NULL -EVENTS_WAITS_SUMMARY_BY_EVENT_NAME 0 0 NULL EVENTS_WAITS_SUMMARY_BY_INSTANCE 0 0 NULL EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME 0 0 NULL +EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME 0 0 NULL FILE_INSTANCES 0 0 NULL FILE_SUMMARY_BY_EVENT_NAME 0 0 NULL FILE_SUMMARY_BY_INSTANCE 0 0 NULL MUTEX_INSTANCES 0 0 NULL PERFORMANCE_TIMERS 0 0 NULL -PROCESSLIST 0 0 NULL RWLOCK_INSTANCES 0 0 NULL SETUP_CONSUMERS 0 0 NULL SETUP_INSTRUMENTS 0 0 NULL -SETUP_OBJECTS 0 0 NULL SETUP_TIMERS 0 0 NULL +THREADS 0 0 NULL select upper(TABLE_NAME), CREATE_TIME, UPDATE_TIME, CHECK_TIME from information_schema.tables where TABLE_SCHEMA='performance_schema'; @@ -138,20 +132,19 @@ COND_INSTANCES NULL NULL NULL EVENTS_WAITS_CURRENT NULL NULL NULL EVENTS_WAITS_HISTORY NULL NULL NULL EVENTS_WAITS_HISTORY_LONG NULL NULL NULL -EVENTS_WAITS_SUMMARY_BY_EVENT_NAME NULL NULL NULL EVENTS_WAITS_SUMMARY_BY_INSTANCE NULL NULL NULL EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME NULL NULL NULL +EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME NULL NULL NULL FILE_INSTANCES NULL NULL NULL FILE_SUMMARY_BY_EVENT_NAME NULL NULL NULL FILE_SUMMARY_BY_INSTANCE NULL NULL NULL MUTEX_INSTANCES NULL NULL NULL PERFORMANCE_TIMERS NULL NULL NULL -PROCESSLIST NULL NULL NULL RWLOCK_INSTANCES NULL NULL NULL SETUP_CONSUMERS NULL NULL NULL SETUP_INSTRUMENTS NULL NULL NULL -SETUP_OBJECTS NULL NULL NULL SETUP_TIMERS NULL NULL NULL +THREADS NULL NULL NULL select upper(TABLE_NAME), TABLE_COLLATION, CHECKSUM from information_schema.tables where TABLE_SCHEMA='performance_schema'; @@ -160,20 +153,19 @@ COND_INSTANCES utf8_general_ci NULL EVENTS_WAITS_CURRENT utf8_general_ci NULL EVENTS_WAITS_HISTORY utf8_general_ci NULL EVENTS_WAITS_HISTORY_LONG utf8_general_ci NULL -EVENTS_WAITS_SUMMARY_BY_EVENT_NAME utf8_general_ci NULL EVENTS_WAITS_SUMMARY_BY_INSTANCE utf8_general_ci NULL EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME utf8_general_ci NULL +EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME utf8_general_ci NULL FILE_INSTANCES utf8_general_ci NULL FILE_SUMMARY_BY_EVENT_NAME utf8_general_ci NULL FILE_SUMMARY_BY_INSTANCE utf8_general_ci NULL MUTEX_INSTANCES utf8_general_ci NULL PERFORMANCE_TIMERS utf8_general_ci NULL -PROCESSLIST utf8_general_ci NULL RWLOCK_INSTANCES utf8_general_ci NULL SETUP_CONSUMERS utf8_general_ci NULL SETUP_INSTRUMENTS utf8_general_ci NULL -SETUP_OBJECTS utf8_general_ci NULL SETUP_TIMERS utf8_general_ci NULL +THREADS utf8_general_ci NULL select upper(TABLE_NAME), TABLE_COMMENT from information_schema.tables where TABLE_SCHEMA='performance_schema'; @@ -182,17 +174,16 @@ COND_INSTANCES EVENTS_WAITS_CURRENT EVENTS_WAITS_HISTORY EVENTS_WAITS_HISTORY_LONG -EVENTS_WAITS_SUMMARY_BY_EVENT_NAME EVENTS_WAITS_SUMMARY_BY_INSTANCE EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME +EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME FILE_INSTANCES FILE_SUMMARY_BY_EVENT_NAME FILE_SUMMARY_BY_INSTANCE MUTEX_INSTANCES PERFORMANCE_TIMERS -PROCESSLIST RWLOCK_INSTANCES SETUP_CONSUMERS SETUP_INSTRUMENTS -SETUP_OBJECTS SETUP_TIMERS +THREADS diff --git a/mysql-test/suite/perfschema/r/misc.result b/mysql-test/suite/perfschema/r/misc.result index 00619595749..e389a4ce65c 100644 --- a/mysql-test/suite/perfschema/r/misc.result +++ b/mysql-test/suite/perfschema/r/misc.result @@ -1,6 +1,6 @@ SELECT EVENT_ID FROM performance_schema.EVENTS_WAITS_CURRENT WHERE THREAD_ID IN -(SELECT THREAD_ID FROM performance_schema.PROCESSLIST) +(SELECT THREAD_ID FROM performance_schema.THREADS) AND EVENT_NAME IN (SELECT NAME FROM performance_schema.SETUP_INSTRUMENTS WHERE NAME LIKE "wait/synch/%") diff --git a/mysql-test/suite/perfschema/r/no_threads.result b/mysql-test/suite/perfschema/r/no_threads.result index b38dc9fd733..79d16809eee 100644 --- a/mysql-test/suite/perfschema/r/no_threads.result +++ b/mysql-test/suite/perfschema/r/no_threads.result @@ -17,11 +17,11 @@ show variables like "performance_schema_max_thread%"; Variable_name Value performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 10 -select count(*) from performance_schema.PROCESSLIST +select count(*) from performance_schema.THREADS where name like "thread/sql/main"; count(*) 1 -select count(*) from performance_schema.PROCESSLIST +select count(*) from performance_schema.THREADS where name like "thread/sql/OneConnection"; count(*) 0 diff --git a/mysql-test/suite/perfschema/r/pfs_upgrade.result b/mysql-test/suite/perfschema/r/pfs_upgrade.result index 2d0d82ef19c..31d12598357 100644 --- a/mysql-test/suite/perfschema/r/pfs_upgrade.result +++ b/mysql-test/suite/perfschema/r/pfs_upgrade.result @@ -12,21 +12,20 @@ ERROR 1050 (42S01) at line 183: Table 'COND_INSTANCES' already exists ERROR 1050 (42S01) at line 213: Table 'EVENTS_WAITS_CURRENT' already exists ERROR 1050 (42S01) at line 227: Table 'EVENTS_WAITS_HISTORY' already exists ERROR 1050 (42S01) at line 241: Table 'EVENTS_WAITS_HISTORY_LONG' already exists -ERROR 1050 (42S01) at line 261: Table 'EVENTS_WAITS_SUMMARY_BY_EVENT_NAME' already exists -ERROR 1050 (42S01) at line 282: Table 'EVENTS_WAITS_SUMMARY_BY_INSTANCE' already exists -ERROR 1050 (42S01) at line 303: Table 'EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME' already exists +ERROR 1050 (42S01) at line 262: Table 'EVENTS_WAITS_SUMMARY_BY_INSTANCE' already exists +ERROR 1050 (42S01) at line 283: Table 'EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME' already exists +ERROR 1050 (42S01) at line 303: Table 'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME' already exists ERROR 1050 (42S01) at line 320: Table 'FILE_INSTANCES' already exists ERROR 1050 (42S01) at line 339: Table 'FILE_SUMMARY_BY_EVENT_NAME' already exists ERROR 1050 (42S01) at line 359: Table 'FILE_SUMMARY_BY_INSTANCE' already exists ERROR 1050 (42S01) at line 376: Table 'MUTEX_INSTANCES' already exists ERROR 1050 (42S01) at line 394: Table 'PERFORMANCE_TIMERS' already exists -ERROR 1050 (42S01) at line 411: Table 'PROCESSLIST' already exists -ERROR 1050 (42S01) at line 429: Table 'RWLOCK_INSTANCES' already exists -ERROR 1050 (42S01) at line 445: Table 'SETUP_CONSUMERS' already exists -ERROR 1050 (42S01) at line 462: Table 'SETUP_INSTRUMENTS' already exists -ERROR 1050 (42S01) at line 482: Table 'SETUP_OBJECTS' already exists -ERROR 1050 (42S01) at line 498: Table 'SETUP_TIMERS' already exists -ERROR 1644 (HY000) at line 1138: Unexpected content found in the performance_schema database. +ERROR 1050 (42S01) at line 412: Table 'RWLOCK_INSTANCES' already exists +ERROR 1050 (42S01) at line 428: Table 'SETUP_CONSUMERS' already exists +ERROR 1050 (42S01) at line 445: Table 'SETUP_INSTRUMENTS' already exists +ERROR 1050 (42S01) at line 461: Table 'SETUP_TIMERS' already exists +ERROR 1050 (42S01) at line 478: Table 'THREADS' already exists +ERROR 1644 (HY000) at line 1118: Unexpected content found in the performance_schema database. FATAL ERROR: Upgrade failed show tables like "user_table"; Tables_in_performance_schema (user_table) @@ -43,21 +42,20 @@ ERROR 1050 (42S01) at line 183: Table 'COND_INSTANCES' already exists ERROR 1050 (42S01) at line 213: Table 'EVENTS_WAITS_CURRENT' already exists ERROR 1050 (42S01) at line 227: Table 'EVENTS_WAITS_HISTORY' already exists ERROR 1050 (42S01) at line 241: Table 'EVENTS_WAITS_HISTORY_LONG' already exists -ERROR 1050 (42S01) at line 261: Table 'EVENTS_WAITS_SUMMARY_BY_EVENT_NAME' already exists -ERROR 1050 (42S01) at line 282: Table 'EVENTS_WAITS_SUMMARY_BY_INSTANCE' already exists -ERROR 1050 (42S01) at line 303: Table 'EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME' already exists +ERROR 1050 (42S01) at line 262: Table 'EVENTS_WAITS_SUMMARY_BY_INSTANCE' already exists +ERROR 1050 (42S01) at line 283: Table 'EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME' already exists +ERROR 1050 (42S01) at line 303: Table 'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME' already exists ERROR 1050 (42S01) at line 320: Table 'FILE_INSTANCES' already exists ERROR 1050 (42S01) at line 339: Table 'FILE_SUMMARY_BY_EVENT_NAME' already exists ERROR 1050 (42S01) at line 359: Table 'FILE_SUMMARY_BY_INSTANCE' already exists ERROR 1050 (42S01) at line 376: Table 'MUTEX_INSTANCES' already exists ERROR 1050 (42S01) at line 394: Table 'PERFORMANCE_TIMERS' already exists -ERROR 1050 (42S01) at line 411: Table 'PROCESSLIST' already exists -ERROR 1050 (42S01) at line 429: Table 'RWLOCK_INSTANCES' already exists -ERROR 1050 (42S01) at line 445: Table 'SETUP_CONSUMERS' already exists -ERROR 1050 (42S01) at line 462: Table 'SETUP_INSTRUMENTS' already exists -ERROR 1050 (42S01) at line 482: Table 'SETUP_OBJECTS' already exists -ERROR 1050 (42S01) at line 498: Table 'SETUP_TIMERS' already exists -ERROR 1644 (HY000) at line 1138: Unexpected content found in the performance_schema database. +ERROR 1050 (42S01) at line 412: Table 'RWLOCK_INSTANCES' already exists +ERROR 1050 (42S01) at line 428: Table 'SETUP_CONSUMERS' already exists +ERROR 1050 (42S01) at line 445: Table 'SETUP_INSTRUMENTS' already exists +ERROR 1050 (42S01) at line 461: Table 'SETUP_TIMERS' already exists +ERROR 1050 (42S01) at line 478: Table 'THREADS' already exists +ERROR 1644 (HY000) at line 1118: Unexpected content found in the performance_schema database. FATAL ERROR: Upgrade failed show tables like "user_view"; Tables_in_performance_schema (user_view) @@ -72,21 +70,20 @@ ERROR 1050 (42S01) at line 183: Table 'COND_INSTANCES' already exists ERROR 1050 (42S01) at line 213: Table 'EVENTS_WAITS_CURRENT' already exists ERROR 1050 (42S01) at line 227: Table 'EVENTS_WAITS_HISTORY' already exists ERROR 1050 (42S01) at line 241: Table 'EVENTS_WAITS_HISTORY_LONG' already exists -ERROR 1050 (42S01) at line 261: Table 'EVENTS_WAITS_SUMMARY_BY_EVENT_NAME' already exists -ERROR 1050 (42S01) at line 282: Table 'EVENTS_WAITS_SUMMARY_BY_INSTANCE' already exists -ERROR 1050 (42S01) at line 303: Table 'EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME' already exists +ERROR 1050 (42S01) at line 262: Table 'EVENTS_WAITS_SUMMARY_BY_INSTANCE' already exists +ERROR 1050 (42S01) at line 283: Table 'EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME' already exists +ERROR 1050 (42S01) at line 303: Table 'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME' already exists ERROR 1050 (42S01) at line 320: Table 'FILE_INSTANCES' already exists ERROR 1050 (42S01) at line 339: Table 'FILE_SUMMARY_BY_EVENT_NAME' already exists ERROR 1050 (42S01) at line 359: Table 'FILE_SUMMARY_BY_INSTANCE' already exists ERROR 1050 (42S01) at line 376: Table 'MUTEX_INSTANCES' already exists ERROR 1050 (42S01) at line 394: Table 'PERFORMANCE_TIMERS' already exists -ERROR 1050 (42S01) at line 411: Table 'PROCESSLIST' already exists -ERROR 1050 (42S01) at line 429: Table 'RWLOCK_INSTANCES' already exists -ERROR 1050 (42S01) at line 445: Table 'SETUP_CONSUMERS' already exists -ERROR 1050 (42S01) at line 462: Table 'SETUP_INSTRUMENTS' already exists -ERROR 1050 (42S01) at line 482: Table 'SETUP_OBJECTS' already exists -ERROR 1050 (42S01) at line 498: Table 'SETUP_TIMERS' already exists -ERROR 1644 (HY000) at line 1138: Unexpected content found in the performance_schema database. +ERROR 1050 (42S01) at line 412: Table 'RWLOCK_INSTANCES' already exists +ERROR 1050 (42S01) at line 428: Table 'SETUP_CONSUMERS' already exists +ERROR 1050 (42S01) at line 445: Table 'SETUP_INSTRUMENTS' already exists +ERROR 1050 (42S01) at line 461: Table 'SETUP_TIMERS' already exists +ERROR 1050 (42S01) at line 478: Table 'THREADS' already exists +ERROR 1644 (HY000) at line 1118: Unexpected content found in the performance_schema database. FATAL ERROR: Upgrade failed select name from mysql.proc where db='performance_schema'; name @@ -101,21 +98,20 @@ ERROR 1050 (42S01) at line 183: Table 'COND_INSTANCES' already exists ERROR 1050 (42S01) at line 213: Table 'EVENTS_WAITS_CURRENT' already exists ERROR 1050 (42S01) at line 227: Table 'EVENTS_WAITS_HISTORY' already exists ERROR 1050 (42S01) at line 241: Table 'EVENTS_WAITS_HISTORY_LONG' already exists -ERROR 1050 (42S01) at line 261: Table 'EVENTS_WAITS_SUMMARY_BY_EVENT_NAME' already exists -ERROR 1050 (42S01) at line 282: Table 'EVENTS_WAITS_SUMMARY_BY_INSTANCE' already exists -ERROR 1050 (42S01) at line 303: Table 'EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME' already exists +ERROR 1050 (42S01) at line 262: Table 'EVENTS_WAITS_SUMMARY_BY_INSTANCE' already exists +ERROR 1050 (42S01) at line 283: Table 'EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME' already exists +ERROR 1050 (42S01) at line 303: Table 'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME' already exists ERROR 1050 (42S01) at line 320: Table 'FILE_INSTANCES' already exists ERROR 1050 (42S01) at line 339: Table 'FILE_SUMMARY_BY_EVENT_NAME' already exists ERROR 1050 (42S01) at line 359: Table 'FILE_SUMMARY_BY_INSTANCE' already exists ERROR 1050 (42S01) at line 376: Table 'MUTEX_INSTANCES' already exists ERROR 1050 (42S01) at line 394: Table 'PERFORMANCE_TIMERS' already exists -ERROR 1050 (42S01) at line 411: Table 'PROCESSLIST' already exists -ERROR 1050 (42S01) at line 429: Table 'RWLOCK_INSTANCES' already exists -ERROR 1050 (42S01) at line 445: Table 'SETUP_CONSUMERS' already exists -ERROR 1050 (42S01) at line 462: Table 'SETUP_INSTRUMENTS' already exists -ERROR 1050 (42S01) at line 482: Table 'SETUP_OBJECTS' already exists -ERROR 1050 (42S01) at line 498: Table 'SETUP_TIMERS' already exists -ERROR 1644 (HY000) at line 1138: Unexpected content found in the performance_schema database. +ERROR 1050 (42S01) at line 412: Table 'RWLOCK_INSTANCES' already exists +ERROR 1050 (42S01) at line 428: Table 'SETUP_CONSUMERS' already exists +ERROR 1050 (42S01) at line 445: Table 'SETUP_INSTRUMENTS' already exists +ERROR 1050 (42S01) at line 461: Table 'SETUP_TIMERS' already exists +ERROR 1050 (42S01) at line 478: Table 'THREADS' already exists +ERROR 1644 (HY000) at line 1118: Unexpected content found in the performance_schema database. FATAL ERROR: Upgrade failed select name from mysql.proc where db='performance_schema'; name @@ -130,21 +126,20 @@ ERROR 1050 (42S01) at line 183: Table 'COND_INSTANCES' already exists ERROR 1050 (42S01) at line 213: Table 'EVENTS_WAITS_CURRENT' already exists ERROR 1050 (42S01) at line 227: Table 'EVENTS_WAITS_HISTORY' already exists ERROR 1050 (42S01) at line 241: Table 'EVENTS_WAITS_HISTORY_LONG' already exists -ERROR 1050 (42S01) at line 261: Table 'EVENTS_WAITS_SUMMARY_BY_EVENT_NAME' already exists -ERROR 1050 (42S01) at line 282: Table 'EVENTS_WAITS_SUMMARY_BY_INSTANCE' already exists -ERROR 1050 (42S01) at line 303: Table 'EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME' already exists +ERROR 1050 (42S01) at line 262: Table 'EVENTS_WAITS_SUMMARY_BY_INSTANCE' already exists +ERROR 1050 (42S01) at line 283: Table 'EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME' already exists +ERROR 1050 (42S01) at line 303: Table 'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME' already exists ERROR 1050 (42S01) at line 320: Table 'FILE_INSTANCES' already exists ERROR 1050 (42S01) at line 339: Table 'FILE_SUMMARY_BY_EVENT_NAME' already exists ERROR 1050 (42S01) at line 359: Table 'FILE_SUMMARY_BY_INSTANCE' already exists ERROR 1050 (42S01) at line 376: Table 'MUTEX_INSTANCES' already exists ERROR 1050 (42S01) at line 394: Table 'PERFORMANCE_TIMERS' already exists -ERROR 1050 (42S01) at line 411: Table 'PROCESSLIST' already exists -ERROR 1050 (42S01) at line 429: Table 'RWLOCK_INSTANCES' already exists -ERROR 1050 (42S01) at line 445: Table 'SETUP_CONSUMERS' already exists -ERROR 1050 (42S01) at line 462: Table 'SETUP_INSTRUMENTS' already exists -ERROR 1050 (42S01) at line 482: Table 'SETUP_OBJECTS' already exists -ERROR 1050 (42S01) at line 498: Table 'SETUP_TIMERS' already exists -ERROR 1644 (HY000) at line 1138: Unexpected content found in the performance_schema database. +ERROR 1050 (42S01) at line 412: Table 'RWLOCK_INSTANCES' already exists +ERROR 1050 (42S01) at line 428: Table 'SETUP_CONSUMERS' already exists +ERROR 1050 (42S01) at line 445: Table 'SETUP_INSTRUMENTS' already exists +ERROR 1050 (42S01) at line 461: Table 'SETUP_TIMERS' already exists +ERROR 1050 (42S01) at line 478: Table 'THREADS' already exists +ERROR 1644 (HY000) at line 1118: Unexpected content found in the performance_schema database. FATAL ERROR: Upgrade failed select name from mysql.event where db='performance_schema'; name diff --git a/mysql-test/suite/perfschema/r/schema.result b/mysql-test/suite/perfschema/r/schema.result index d402df70ed5..a802539b7e0 100644 --- a/mysql-test/suite/perfschema/r/schema.result +++ b/mysql-test/suite/perfschema/r/schema.result @@ -12,20 +12,19 @@ COND_INSTANCES EVENTS_WAITS_CURRENT EVENTS_WAITS_HISTORY EVENTS_WAITS_HISTORY_LONG -EVENTS_WAITS_SUMMARY_BY_EVENT_NAME EVENTS_WAITS_SUMMARY_BY_INSTANCE EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME +EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME FILE_INSTANCES FILE_SUMMARY_BY_EVENT_NAME FILE_SUMMARY_BY_INSTANCE MUTEX_INSTANCES PERFORMANCE_TIMERS -PROCESSLIST RWLOCK_INSTANCES SETUP_CONSUMERS SETUP_INSTRUMENTS -SETUP_OBJECTS SETUP_TIMERS +THREADS show create table COND_INSTANCES; Table Create Table COND_INSTANCES CREATE TABLE `COND_INSTANCES` ( @@ -92,31 +91,31 @@ EVENTS_WAITS_HISTORY_LONG CREATE TABLE `EVENTS_WAITS_HISTORY_LONG` ( `NUMBER_OF_BYTES` bigint(20) unsigned DEFAULT NULL, `FLAGS` int(10) unsigned DEFAULT NULL ) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 -show create table EVENTS_WAITS_SUMMARY_BY_EVENT_NAME; +show create table EVENTS_WAITS_SUMMARY_BY_INSTANCE; Table Create Table -EVENTS_WAITS_SUMMARY_BY_EVENT_NAME CREATE TABLE `EVENTS_WAITS_SUMMARY_BY_EVENT_NAME` ( +EVENTS_WAITS_SUMMARY_BY_INSTANCE CREATE TABLE `EVENTS_WAITS_SUMMARY_BY_INSTANCE` ( `EVENT_NAME` varchar(128) NOT NULL, + `OBJECT_INSTANCE_BEGIN` bigint(20) NOT NULL, `COUNT_STAR` bigint(20) unsigned NOT NULL, `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL, `MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL, `AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL, `MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL ) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 -show create table EVENTS_WAITS_SUMMARY_BY_INSTANCE; +show create table EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME; Table Create Table -EVENTS_WAITS_SUMMARY_BY_INSTANCE CREATE TABLE `EVENTS_WAITS_SUMMARY_BY_INSTANCE` ( +EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME CREATE TABLE `EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME` ( + `THREAD_ID` int(11) NOT NULL, `EVENT_NAME` varchar(128) NOT NULL, - `OBJECT_INSTANCE_BEGIN` bigint(20) NOT NULL, `COUNT_STAR` bigint(20) unsigned NOT NULL, `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL, `MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL, `AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL, `MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL ) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 -show create table EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME; +show create table EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME; Table Create Table -EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME CREATE TABLE `EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME` ( - `THREAD_ID` int(11) NOT NULL, +EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME CREATE TABLE `EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME` ( `EVENT_NAME` varchar(128) NOT NULL, `COUNT_STAR` bigint(20) unsigned NOT NULL, `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL, @@ -165,13 +164,6 @@ PERFORMANCE_TIMERS CREATE TABLE `PERFORMANCE_TIMERS` ( `TIMER_RESOLUTION` bigint(20) DEFAULT NULL, `TIMER_OVERHEAD` bigint(20) DEFAULT NULL ) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 -show create table PROCESSLIST; -Table Create Table -PROCESSLIST CREATE TABLE `PROCESSLIST` ( - `THREAD_ID` int(11) NOT NULL, - `ID` int(11) NOT NULL, - `NAME` varchar(64) NOT NULL -) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 show create table RWLOCK_INSTANCES; Table Create Table RWLOCK_INSTANCES CREATE TABLE `RWLOCK_INSTANCES` ( @@ -193,19 +185,16 @@ SETUP_INSTRUMENTS CREATE TABLE `SETUP_INSTRUMENTS` ( `ENABLED` enum('YES','NO') NOT NULL, `TIMED` enum('YES','NO') NOT NULL ) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 -show create table SETUP_OBJECTS; -Table Create Table -SETUP_OBJECTS CREATE TABLE `SETUP_OBJECTS` ( - `OBJECT_TYPE` varchar(64) DEFAULT NULL, - `OBJECT_SCHEMA` varchar(64) DEFAULT NULL, - `OBJECT_NAME` varchar(64) DEFAULT NULL, - `ENABLED` enum('YES','NO') NOT NULL, - `TIMED` enum('YES','NO') NOT NULL, - `AGGREGATED` enum('YES','NO') NOT NULL -) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 show create table SETUP_TIMERS; Table Create Table SETUP_TIMERS CREATE TABLE `SETUP_TIMERS` ( `NAME` varchar(64) NOT NULL, `TIMER_NAME` enum('CYCLE','NANOSECOND','MICROSECOND','MILLISECOND','TICK') NOT NULL ) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 +show create table THREADS; +Table Create Table +THREADS CREATE TABLE `THREADS` ( + `THREAD_ID` int(11) NOT NULL, + `ID` int(11) NOT NULL, + `NAME` varchar(64) NOT NULL +) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 diff --git a/mysql-test/suite/perfschema/r/selects.result b/mysql-test/suite/perfschema/r/selects.result index 9b91c6f0fc8..dfc9007c740 100644 --- a/mysql-test/suite/perfschema/r/selects.result +++ b/mysql-test/suite/perfschema/r/selects.result @@ -13,7 +13,7 @@ OPERATION TOTAL chsize [NUM_BYTES] SELECT EVENT_ID FROM performance_schema.EVENTS_WAITS_CURRENT WHERE THREAD_ID IN -(SELECT THREAD_ID FROM performance_schema.PROCESSLIST) +(SELECT THREAD_ID FROM performance_schema.THREADS) AND EVENT_NAME IN (SELECT NAME FROM performance_schema.SETUP_INSTRUMENTS WHERE NAME LIKE "wait/synch/%") @@ -86,7 +86,7 @@ DROP TRIGGER t_ps_trigger; DROP PROCEDURE IF EXISTS t_ps_proc; CREATE PROCEDURE t_ps_proc(IN tid INT, OUT pid INT) BEGIN -SELECT id FROM performance_schema.PROCESSLIST +SELECT id FROM performance_schema.THREADS WHERE THREAD_ID = tid INTO pid; END; | @@ -94,7 +94,7 @@ CALL t_ps_proc(0, @p_id); DROP FUNCTION IF EXISTS t_ps_proc; CREATE FUNCTION t_ps_func(tid INT) RETURNS int BEGIN -return (SELECT id FROM performance_schema.PROCESSLIST +return (SELECT id FROM performance_schema.THREADS WHERE THREAD_ID = tid); END; | diff --git a/mysql-test/suite/perfschema/r/start_server_no_cond_class.result b/mysql-test/suite/perfschema/r/start_server_no_cond_class.result index d6089139d5a..48891adce73 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_cond_class.result +++ b/mysql-test/suite/perfschema/r/start_server_no_cond_class.result @@ -21,20 +21,19 @@ select * from performance_schema.COND_INSTANCES; select * from performance_schema.EVENTS_WAITS_CURRENT; select * from performance_schema.EVENTS_WAITS_HISTORY; select * from performance_schema.EVENTS_WAITS_HISTORY_LONG; -select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME; select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE; select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME; +select * from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME; select * from performance_schema.FILE_INSTANCES; select * from performance_schema.FILE_SUMMARY_BY_EVENT_NAME; select * from performance_schema.FILE_SUMMARY_BY_INSTANCE; select * from performance_schema.MUTEX_INSTANCES; select * from performance_schema.PERFORMANCE_TIMERS; -select * from performance_schema.PROCESSLIST; select * from performance_schema.RWLOCK_INSTANCES; select * from performance_schema.SETUP_CONSUMERS; select * from performance_schema.SETUP_INSTRUMENTS; -select * from performance_schema.SETUP_OBJECTS; select * from performance_schema.SETUP_TIMERS; +select * from performance_schema.THREADS; show variables like "performance_schema%"; Variable_name Value performance_schema ON diff --git a/mysql-test/suite/perfschema/r/start_server_no_cond_inst.result b/mysql-test/suite/perfschema/r/start_server_no_cond_inst.result index eaa04c7629d..cb1d64bf1e7 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_cond_inst.result +++ b/mysql-test/suite/perfschema/r/start_server_no_cond_inst.result @@ -21,20 +21,19 @@ select * from performance_schema.COND_INSTANCES; select * from performance_schema.EVENTS_WAITS_CURRENT; select * from performance_schema.EVENTS_WAITS_HISTORY; select * from performance_schema.EVENTS_WAITS_HISTORY_LONG; -select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME; select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE; select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME; +select * from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME; select * from performance_schema.FILE_INSTANCES; select * from performance_schema.FILE_SUMMARY_BY_EVENT_NAME; select * from performance_schema.FILE_SUMMARY_BY_INSTANCE; select * from performance_schema.MUTEX_INSTANCES; select * from performance_schema.PERFORMANCE_TIMERS; -select * from performance_schema.PROCESSLIST; select * from performance_schema.RWLOCK_INSTANCES; select * from performance_schema.SETUP_CONSUMERS; select * from performance_schema.SETUP_INSTRUMENTS; -select * from performance_schema.SETUP_OBJECTS; select * from performance_schema.SETUP_TIMERS; +select * from performance_schema.THREADS; show variables like "performance_schema%"; Variable_name Value performance_schema ON diff --git a/mysql-test/suite/perfschema/r/start_server_no_file_class.result b/mysql-test/suite/perfschema/r/start_server_no_file_class.result index d68ec00a456..3856d241d73 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_file_class.result +++ b/mysql-test/suite/perfschema/r/start_server_no_file_class.result @@ -21,20 +21,19 @@ select * from performance_schema.COND_INSTANCES; select * from performance_schema.EVENTS_WAITS_CURRENT; select * from performance_schema.EVENTS_WAITS_HISTORY; select * from performance_schema.EVENTS_WAITS_HISTORY_LONG; -select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME; select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE; select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME; +select * from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME; select * from performance_schema.FILE_INSTANCES; select * from performance_schema.FILE_SUMMARY_BY_EVENT_NAME; select * from performance_schema.FILE_SUMMARY_BY_INSTANCE; select * from performance_schema.MUTEX_INSTANCES; select * from performance_schema.PERFORMANCE_TIMERS; -select * from performance_schema.PROCESSLIST; select * from performance_schema.RWLOCK_INSTANCES; select * from performance_schema.SETUP_CONSUMERS; select * from performance_schema.SETUP_INSTRUMENTS; -select * from performance_schema.SETUP_OBJECTS; select * from performance_schema.SETUP_TIMERS; +select * from performance_schema.THREADS; show variables like "performance_schema%"; Variable_name Value performance_schema ON diff --git a/mysql-test/suite/perfschema/r/start_server_no_file_inst.result b/mysql-test/suite/perfschema/r/start_server_no_file_inst.result index 258712ebf68..e52f04cbae7 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_file_inst.result +++ b/mysql-test/suite/perfschema/r/start_server_no_file_inst.result @@ -21,20 +21,19 @@ select * from performance_schema.COND_INSTANCES; select * from performance_schema.EVENTS_WAITS_CURRENT; select * from performance_schema.EVENTS_WAITS_HISTORY; select * from performance_schema.EVENTS_WAITS_HISTORY_LONG; -select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME; select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE; select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME; +select * from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME; select * from performance_schema.FILE_INSTANCES; select * from performance_schema.FILE_SUMMARY_BY_EVENT_NAME; select * from performance_schema.FILE_SUMMARY_BY_INSTANCE; select * from performance_schema.MUTEX_INSTANCES; select * from performance_schema.PERFORMANCE_TIMERS; -select * from performance_schema.PROCESSLIST; select * from performance_schema.RWLOCK_INSTANCES; select * from performance_schema.SETUP_CONSUMERS; select * from performance_schema.SETUP_INSTRUMENTS; -select * from performance_schema.SETUP_OBJECTS; select * from performance_schema.SETUP_TIMERS; +select * from performance_schema.THREADS; show variables like "performance_schema%"; Variable_name Value performance_schema ON diff --git a/mysql-test/suite/perfschema/r/start_server_no_mutex_class.result b/mysql-test/suite/perfschema/r/start_server_no_mutex_class.result index d221cb2c22a..aab39dfb619 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_mutex_class.result +++ b/mysql-test/suite/perfschema/r/start_server_no_mutex_class.result @@ -21,20 +21,19 @@ select * from performance_schema.COND_INSTANCES; select * from performance_schema.EVENTS_WAITS_CURRENT; select * from performance_schema.EVENTS_WAITS_HISTORY; select * from performance_schema.EVENTS_WAITS_HISTORY_LONG; -select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME; select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE; select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME; +select * from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME; select * from performance_schema.FILE_INSTANCES; select * from performance_schema.FILE_SUMMARY_BY_EVENT_NAME; select * from performance_schema.FILE_SUMMARY_BY_INSTANCE; select * from performance_schema.MUTEX_INSTANCES; select * from performance_schema.PERFORMANCE_TIMERS; -select * from performance_schema.PROCESSLIST; select * from performance_schema.RWLOCK_INSTANCES; select * from performance_schema.SETUP_CONSUMERS; select * from performance_schema.SETUP_INSTRUMENTS; -select * from performance_schema.SETUP_OBJECTS; select * from performance_schema.SETUP_TIMERS; +select * from performance_schema.THREADS; show variables like "performance_schema%"; Variable_name Value performance_schema ON diff --git a/mysql-test/suite/perfschema/r/start_server_no_mutex_inst.result b/mysql-test/suite/perfschema/r/start_server_no_mutex_inst.result index adfd4c5ec17..0665058a469 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_mutex_inst.result +++ b/mysql-test/suite/perfschema/r/start_server_no_mutex_inst.result @@ -21,20 +21,19 @@ select * from performance_schema.COND_INSTANCES; select * from performance_schema.EVENTS_WAITS_CURRENT; select * from performance_schema.EVENTS_WAITS_HISTORY; select * from performance_schema.EVENTS_WAITS_HISTORY_LONG; -select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME; select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE; select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME; +select * from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME; select * from performance_schema.FILE_INSTANCES; select * from performance_schema.FILE_SUMMARY_BY_EVENT_NAME; select * from performance_schema.FILE_SUMMARY_BY_INSTANCE; select * from performance_schema.MUTEX_INSTANCES; select * from performance_schema.PERFORMANCE_TIMERS; -select * from performance_schema.PROCESSLIST; select * from performance_schema.RWLOCK_INSTANCES; select * from performance_schema.SETUP_CONSUMERS; select * from performance_schema.SETUP_INSTRUMENTS; -select * from performance_schema.SETUP_OBJECTS; select * from performance_schema.SETUP_TIMERS; +select * from performance_schema.THREADS; show variables like "performance_schema%"; Variable_name Value performance_schema ON diff --git a/mysql-test/suite/perfschema/r/start_server_no_rwlock_class.result b/mysql-test/suite/perfschema/r/start_server_no_rwlock_class.result index 5248becf0e5..721f9957b1e 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_rwlock_class.result +++ b/mysql-test/suite/perfschema/r/start_server_no_rwlock_class.result @@ -21,20 +21,19 @@ select * from performance_schema.COND_INSTANCES; select * from performance_schema.EVENTS_WAITS_CURRENT; select * from performance_schema.EVENTS_WAITS_HISTORY; select * from performance_schema.EVENTS_WAITS_HISTORY_LONG; -select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME; select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE; select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME; +select * from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME; select * from performance_schema.FILE_INSTANCES; select * from performance_schema.FILE_SUMMARY_BY_EVENT_NAME; select * from performance_schema.FILE_SUMMARY_BY_INSTANCE; select * from performance_schema.MUTEX_INSTANCES; select * from performance_schema.PERFORMANCE_TIMERS; -select * from performance_schema.PROCESSLIST; select * from performance_schema.RWLOCK_INSTANCES; select * from performance_schema.SETUP_CONSUMERS; select * from performance_schema.SETUP_INSTRUMENTS; -select * from performance_schema.SETUP_OBJECTS; select * from performance_schema.SETUP_TIMERS; +select * from performance_schema.THREADS; show variables like "performance_schema%"; Variable_name Value performance_schema ON diff --git a/mysql-test/suite/perfschema/r/start_server_no_rwlock_inst.result b/mysql-test/suite/perfschema/r/start_server_no_rwlock_inst.result index e7a94c4a60d..63398bce1f5 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_rwlock_inst.result +++ b/mysql-test/suite/perfschema/r/start_server_no_rwlock_inst.result @@ -21,20 +21,19 @@ select * from performance_schema.COND_INSTANCES; select * from performance_schema.EVENTS_WAITS_CURRENT; select * from performance_schema.EVENTS_WAITS_HISTORY; select * from performance_schema.EVENTS_WAITS_HISTORY_LONG; -select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME; select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE; select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME; +select * from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME; select * from performance_schema.FILE_INSTANCES; select * from performance_schema.FILE_SUMMARY_BY_EVENT_NAME; select * from performance_schema.FILE_SUMMARY_BY_INSTANCE; select * from performance_schema.MUTEX_INSTANCES; select * from performance_schema.PERFORMANCE_TIMERS; -select * from performance_schema.PROCESSLIST; select * from performance_schema.RWLOCK_INSTANCES; select * from performance_schema.SETUP_CONSUMERS; select * from performance_schema.SETUP_INSTRUMENTS; -select * from performance_schema.SETUP_OBJECTS; select * from performance_schema.SETUP_TIMERS; +select * from performance_schema.THREADS; show variables like "performance_schema%"; Variable_name Value performance_schema ON diff --git a/mysql-test/suite/perfschema/r/start_server_no_thread_class.result b/mysql-test/suite/perfschema/r/start_server_no_thread_class.result index 92f1ec29b38..006f0fc6002 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_thread_class.result +++ b/mysql-test/suite/perfschema/r/start_server_no_thread_class.result @@ -21,20 +21,19 @@ select * from performance_schema.COND_INSTANCES; select * from performance_schema.EVENTS_WAITS_CURRENT; select * from performance_schema.EVENTS_WAITS_HISTORY; select * from performance_schema.EVENTS_WAITS_HISTORY_LONG; -select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME; select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE; select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME; +select * from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME; select * from performance_schema.FILE_INSTANCES; select * from performance_schema.FILE_SUMMARY_BY_EVENT_NAME; select * from performance_schema.FILE_SUMMARY_BY_INSTANCE; select * from performance_schema.MUTEX_INSTANCES; select * from performance_schema.PERFORMANCE_TIMERS; -select * from performance_schema.PROCESSLIST; select * from performance_schema.RWLOCK_INSTANCES; select * from performance_schema.SETUP_CONSUMERS; select * from performance_schema.SETUP_INSTRUMENTS; -select * from performance_schema.SETUP_OBJECTS; select * from performance_schema.SETUP_TIMERS; +select * from performance_schema.THREADS; show variables like "performance_schema%"; Variable_name Value performance_schema ON @@ -66,7 +65,7 @@ select variable_value > 0 from information_schema.global_status where variable_name like 'PERFORMANCE_SCHEMA_THREAD_CLASSES_LOST'; variable_value > 0 1 -select count(*) from performance_schema.PROCESSLIST; +select count(*) from performance_schema.THREADS; count(*) 0 show status like "performance_schema_thread_instances_lost"; diff --git a/mysql-test/suite/perfschema/r/start_server_no_thread_inst.result b/mysql-test/suite/perfschema/r/start_server_no_thread_inst.result index 3ecf7fe98db..e0377e10583 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_thread_inst.result +++ b/mysql-test/suite/perfschema/r/start_server_no_thread_inst.result @@ -21,20 +21,19 @@ select * from performance_schema.COND_INSTANCES; select * from performance_schema.EVENTS_WAITS_CURRENT; select * from performance_schema.EVENTS_WAITS_HISTORY; select * from performance_schema.EVENTS_WAITS_HISTORY_LONG; -select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME; select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE; select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME; +select * from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME; select * from performance_schema.FILE_INSTANCES; select * from performance_schema.FILE_SUMMARY_BY_EVENT_NAME; select * from performance_schema.FILE_SUMMARY_BY_INSTANCE; select * from performance_schema.MUTEX_INSTANCES; select * from performance_schema.PERFORMANCE_TIMERS; -select * from performance_schema.PROCESSLIST; select * from performance_schema.RWLOCK_INSTANCES; select * from performance_schema.SETUP_CONSUMERS; select * from performance_schema.SETUP_INSTRUMENTS; -select * from performance_schema.SETUP_OBJECTS; select * from performance_schema.SETUP_TIMERS; +select * from performance_schema.THREADS; show variables like "performance_schema%"; Variable_name Value performance_schema ON @@ -64,7 +63,7 @@ Performance_schema_thread_classes_lost 0 show variables like "performance_schema_max_thread_instances"; Variable_name Value performance_schema_max_thread_instances 0 -select count(*) from performance_schema.PROCESSLIST; +select count(*) from performance_schema.THREADS; count(*) 0 select variable_value > 0 from information_schema.global_status diff --git a/mysql-test/suite/perfschema/r/start_server_off.result b/mysql-test/suite/perfschema/r/start_server_off.result index 4ce5aa75ce7..5f72cb4eba1 100644 --- a/mysql-test/suite/perfschema/r/start_server_off.result +++ b/mysql-test/suite/perfschema/r/start_server_off.result @@ -21,20 +21,19 @@ select * from performance_schema.COND_INSTANCES; select * from performance_schema.EVENTS_WAITS_CURRENT; select * from performance_schema.EVENTS_WAITS_HISTORY; select * from performance_schema.EVENTS_WAITS_HISTORY_LONG; -select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME; select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE; select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME; +select * from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME; select * from performance_schema.FILE_INSTANCES; select * from performance_schema.FILE_SUMMARY_BY_EVENT_NAME; select * from performance_schema.FILE_SUMMARY_BY_INSTANCE; select * from performance_schema.MUTEX_INSTANCES; select * from performance_schema.PERFORMANCE_TIMERS; -select * from performance_schema.PROCESSLIST; select * from performance_schema.RWLOCK_INSTANCES; select * from performance_schema.SETUP_CONSUMERS; select * from performance_schema.SETUP_INSTRUMENTS; -select * from performance_schema.SETUP_OBJECTS; select * from performance_schema.SETUP_TIMERS; +select * from performance_schema.THREADS; show variables like "performance_schema%"; Variable_name Value performance_schema OFF diff --git a/mysql-test/suite/perfschema/r/start_server_on.result b/mysql-test/suite/perfschema/r/start_server_on.result index 1d9dc731c7b..2639fb8e540 100644 --- a/mysql-test/suite/perfschema/r/start_server_on.result +++ b/mysql-test/suite/perfschema/r/start_server_on.result @@ -21,20 +21,19 @@ select * from performance_schema.COND_INSTANCES; select * from performance_schema.EVENTS_WAITS_CURRENT; select * from performance_schema.EVENTS_WAITS_HISTORY; select * from performance_schema.EVENTS_WAITS_HISTORY_LONG; -select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME; select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE; select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME; +select * from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME; select * from performance_schema.FILE_INSTANCES; select * from performance_schema.FILE_SUMMARY_BY_EVENT_NAME; select * from performance_schema.FILE_SUMMARY_BY_INSTANCE; select * from performance_schema.MUTEX_INSTANCES; select * from performance_schema.PERFORMANCE_TIMERS; -select * from performance_schema.PROCESSLIST; select * from performance_schema.RWLOCK_INSTANCES; select * from performance_schema.SETUP_CONSUMERS; select * from performance_schema.SETUP_INSTRUMENTS; -select * from performance_schema.SETUP_OBJECTS; select * from performance_schema.SETUP_TIMERS; +select * from performance_schema.THREADS; show variables like "performance_schema%"; Variable_name Value performance_schema ON diff --git a/mysql-test/suite/perfschema/t/aggregate.test b/mysql-test/suite/perfschema/t/aggregate.test index 0fa4651ecda..a8ca3dd91e2 100644 --- a/mysql-test/suite/perfschema/t/aggregate.test +++ b/mysql-test/suite/perfschema/t/aggregate.test @@ -31,7 +31,7 @@ update performance_schema.SETUP_CONSUMERS set enabled = 'NO'; # Cleanup statistics truncate table performance_schema.FILE_SUMMARY_BY_EVENT_NAME; truncate table performance_schema.FILE_SUMMARY_BY_INSTANCE; -truncate table performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME; +truncate table performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME; truncate table performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE; truncate table performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME; @@ -66,9 +66,9 @@ set @dump_all=FALSE; # because doing so removes a row in FILE_SUMMARY_BY_INSTANCE. # Likewise: -# - COUNT/SUM/MAX(EVENTS_WAITS_SUMMARY_BY_EVENT_NAME) >= +# - COUNT/SUM/MAX(EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME) >= # COUNT/SUM/MAX(EVENTS_WAITS_SUMMARY_BY_INSTANCE) -# - MIN(EVENTS_WAITS_SUMMARY_BY_EVENT_NAME) <= +# - MIN(EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME) <= # MIN(EVENTS_WAITS_SUMMARY_BY_INSTANCE) # There will be equality only when an instrument instance # is not removed, which is next to impossible to predictably guarantee @@ -80,9 +80,9 @@ set @dump_all=FALSE; # Both cause a row to be deleted from EVENTS_WAITS_SUMMARY_BY_INSTANCE. # Likewise: -# - COUNT/SUM/MAX(EVENTS_WAITS_SUMMARY_BY_EVENT_NAME) >= +# - COUNT/SUM/MAX(EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME) >= # COUNT/SUM/MAX(EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME) -# - MIN(EVENTS_WAITS_SUMMARY_BY_EVENT_NAME) <= +# - MIN(EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME) <= # MIN(EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME) # There will be equality only when no thread is removed, # that is if no thread disconnects, or no sub thread (for example insert @@ -131,14 +131,14 @@ OR @dump_all; --echo "Verifying waits aggregate consistency (instance)" SELECT EVENT_NAME, e.SUM_TIMER_WAIT, SUM(i.SUM_TIMER_WAIT) -FROM performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME AS e +FROM performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME AS e JOIN performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE AS i USING (EVENT_NAME) GROUP BY EVENT_NAME HAVING (e.SUM_TIMER_WAIT < SUM(i.SUM_TIMER_WAIT)) OR @dump_all; SELECT EVENT_NAME, e.MIN_TIMER_WAIT, MIN(i.MIN_TIMER_WAIT) -FROM performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME AS e +FROM performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME AS e JOIN performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE AS i USING (EVENT_NAME) GROUP BY EVENT_NAME HAVING (e.MIN_TIMER_WAIT > MIN(i.MIN_TIMER_WAIT)) @@ -146,7 +146,7 @@ AND (MIN(i.MIN_TIMER_WAIT) != 0) OR @dump_all; SELECT EVENT_NAME, e.MAX_TIMER_WAIT, MAX(i.MAX_TIMER_WAIT) -FROM performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME AS e +FROM performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME AS e JOIN performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE AS i USING (EVENT_NAME) GROUP BY EVENT_NAME HAVING (e.MAX_TIMER_WAIT < MAX(i.MAX_TIMER_WAIT)) @@ -155,7 +155,7 @@ OR @dump_all; --echo "Verifying waits aggregate consistency (thread)" SELECT EVENT_NAME, e.SUM_TIMER_WAIT, SUM(t.SUM_TIMER_WAIT) -FROM performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME AS e +FROM performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME AS e JOIN performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME AS t USING (EVENT_NAME) GROUP BY EVENT_NAME @@ -163,7 +163,7 @@ HAVING (e.SUM_TIMER_WAIT < SUM(t.SUM_TIMER_WAIT)) OR @dump_all; SELECT EVENT_NAME, e.MIN_TIMER_WAIT, MIN(t.MIN_TIMER_WAIT) -FROM performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME AS e +FROM performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME AS e JOIN performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME AS t USING (EVENT_NAME) GROUP BY EVENT_NAME @@ -172,7 +172,7 @@ AND (MIN(t.MIN_TIMER_WAIT) != 0) OR @dump_all; SELECT EVENT_NAME, e.MAX_TIMER_WAIT, MAX(t.MAX_TIMER_WAIT) -FROM performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME AS e +FROM performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME AS e JOIN performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME AS t USING (EVENT_NAME) GROUP BY EVENT_NAME diff --git a/mysql-test/suite/perfschema/t/ddl_ews_by_event_name.test b/mysql-test/suite/perfschema/t/ddl_ews_global_by_event_name.test index fbf2d2925a7..c7a767b013b 100644 --- a/mysql-test/suite/perfschema/t/ddl_ews_by_event_name.test +++ b/mysql-test/suite/perfschema/t/ddl_ews_global_by_event_name.test @@ -19,13 +19,16 @@ --source include/have_perfschema.inc -- error ER_DBACCESS_DENIED_ERROR -alter table performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME add column foo integer; +alter table performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME + add column foo integer; -truncate table performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME; +truncate table performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME; -- error ER_DBACCESS_DENIED_ERROR -ALTER TABLE performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME ADD INDEX test_index(EVENT_NAME); +ALTER TABLE performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME + ADD INDEX test_index(EVENT_NAME); -- error ER_DBACCESS_DENIED_ERROR -CREATE UNIQUE INDEX test_index ON performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME(EVENT_NAME); +CREATE UNIQUE INDEX test_index + ON performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME(EVENT_NAME); diff --git a/mysql-test/suite/perfschema/t/ddl_setup_objects.test b/mysql-test/suite/perfschema/t/ddl_setup_objects.test deleted file mode 100644 index 6ae6156ef00..00000000000 --- a/mysql-test/suite/perfschema/t/ddl_setup_objects.test +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright (C) 2009 Sun Microsystems, Inc -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; version 2 of the License. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -# Tests for PERFORMANCE_SCHEMA - ---source include/not_embedded.inc ---source include/have_perfschema.inc - ---replace_result '\'setup_objects' '\'SETUP_OBJECTS' --- error ER_DBACCESS_DENIED_ERROR -alter table performance_schema.SETUP_OBJECTS add column foo integer; - -truncate table performance_schema.SETUP_OBJECTS; - --- error ER_DBACCESS_DENIED_ERROR -ALTER TABLE performance_schema.SETUP_OBJECTS ADD INDEX test_index(OBJECT_NAME); - --- error ER_DBACCESS_DENIED_ERROR -CREATE UNIQUE INDEX test_index ON performance_schema.SETUP_OBJECTS(OBJECT_NAME); - diff --git a/mysql-test/suite/perfschema/t/ddl_processlist.test b/mysql-test/suite/perfschema/t/ddl_threads.test index fb133b66e26..12613e30c1f 100644 --- a/mysql-test/suite/perfschema/t/ddl_processlist.test +++ b/mysql-test/suite/perfschema/t/ddl_threads.test @@ -19,14 +19,14 @@ --source include/have_perfschema.inc -- error ER_DBACCESS_DENIED_ERROR -alter table performance_schema.PROCESSLIST add column foo integer; +alter table performance_schema.THREADS add column foo integer; -- error ER_WRONG_PERFSCHEMA_USAGE -truncate table performance_schema.PROCESSLIST; +truncate table performance_schema.THREADS; -- error ER_DBACCESS_DENIED_ERROR -ALTER TABLE performance_schema.PROCESSLIST ADD INDEX test_index(ID); +ALTER TABLE performance_schema.THREADS ADD INDEX test_index(ID); -- error ER_DBACCESS_DENIED_ERROR -CREATE UNIQUE INDEX test_index ON performance_schema.PROCESSLIST(ID); +CREATE UNIQUE INDEX test_index ON performance_schema.THREADS(ID); diff --git a/mysql-test/suite/perfschema/t/dml_ews_by_event_name.test b/mysql-test/suite/perfschema/t/dml_ews_global_by_event_name.test index c1fddbe9f87..cd3918f38be 100644 --- a/mysql-test/suite/perfschema/t/dml_ews_by_event_name.test +++ b/mysql-test/suite/perfschema/t/dml_ews_global_by_event_name.test @@ -19,44 +19,44 @@ --source include/have_perfschema.inc --replace_column 1 # 2 # 3 # 4 # 5 # 6 # -select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME +select * from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME where event_name like 'Wait/Synch/%' limit 1; -select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME +select * from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME where event_name='FOO'; ---replace_result '\'events_waits_summary_by_event_name' '\'EVENTS_WAITS_SUMMARY_BY_EVENT_NAME' +--replace_result '\'events_waits_summary_global_by_event_name' '\'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME' --error ER_TABLEACCESS_DENIED_ERROR -insert into performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME +insert into performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME set event_name='FOO', count_star=1, sum_timer_wait=2, min_timer_wait=3, avg_timer_wait=4, max_timer_wait=5; ---replace_result '\'events_waits_summary_by_event_name' '\'EVENTS_WAITS_SUMMARY_BY_EVENT_NAME' +--replace_result '\'events_waits_summary_global_by_event_name' '\'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME' --error ER_TABLEACCESS_DENIED_ERROR -update performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME +update performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME set count_star=12; ---replace_result '\'events_waits_summary_by_event_name' '\'EVENTS_WAITS_SUMMARY_BY_EVENT_NAME' +--replace_result '\'events_waits_summary_global_by_event_name' '\'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME' --error ER_TABLEACCESS_DENIED_ERROR -update performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME +update performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME set count_star=12 where event_name like "FOO"; ---replace_result '\'events_waits_summary_by_event_name' '\'EVENTS_WAITS_SUMMARY_BY_EVENT_NAME' +--replace_result '\'events_waits_summary_global_by_event_name' '\'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME' --error ER_TABLEACCESS_DENIED_ERROR -delete from performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME +delete from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME where count_star=1; ---replace_result '\'events_waits_summary_by_event_name' '\'EVENTS_WAITS_SUMMARY_BY_EVENT_NAME' +--replace_result '\'events_waits_summary_global_by_event_name' '\'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME' --error ER_TABLEACCESS_DENIED_ERROR -delete from performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME; +delete from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME; ---replace_result '\'events_waits_summary_by_event_name' '\'EVENTS_WAITS_SUMMARY_BY_EVENT_NAME' +--replace_result '\'events_waits_summary_global_by_event_name' '\'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME' -- error ER_TABLEACCESS_DENIED_ERROR -LOCK TABLES performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME READ; +LOCK TABLES performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME READ; UNLOCK TABLES; ---replace_result '\'events_waits_summary_by_event_name' '\'EVENTS_WAITS_SUMMARY_BY_EVENT_NAME' +--replace_result '\'events_waits_summary_global_by_event_name' '\'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME' -- error ER_TABLEACCESS_DENIED_ERROR -LOCK TABLES performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME WRITE; +LOCK TABLES performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME WRITE; UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/t/dml_setup_objects.test b/mysql-test/suite/perfschema/t/dml_setup_objects.test deleted file mode 100644 index 21fac64d924..00000000000 --- a/mysql-test/suite/perfschema/t/dml_setup_objects.test +++ /dev/null @@ -1,75 +0,0 @@ -# Copyright (C) 2009 Sun Microsystems, Inc -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; version 2 of the License. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -# Tests for PERFORMANCE_SCHEMA - ---source include/not_embedded.inc ---source include/have_perfschema.inc - -select * from performance_schema.SETUP_OBJECTS; - -select * from performance_schema.SETUP_OBJECTS - where object_type = 'TABLE'; - -select * from performance_schema.SETUP_OBJECTS - where enabled='YES'; - -# Not implemented yet ---replace_result '\'setup_objects' '\'SETUP_OBJECTS' ---error ER_ILLEGAL_HA -insert into performance_schema.SETUP_OBJECTS - set object_type='TABLE', object_schema='FOO', object_name='BAR', - enabled='YES', timed='YES', aggregated='YES'; - -# Not implemented yet -# --error ER_ILLEGAL_HA -update performance_schema.SETUP_OBJECTS - set object_type='TABLE'; - -# Not implemented yet -# --error ER_ILLEGAL_HA -update performance_schema.SETUP_OBJECTS - set object_schema='ILLEGAL'; - -# Not implemented yet -# --error ER_ILLEGAL_HA -update performance_schema.SETUP_OBJECTS - set object_name='ILLEGAL'; - -update performance_schema.SETUP_OBJECTS - set enabled='NO'; - -update performance_schema.SETUP_OBJECTS - set timed='NO'; - -update performance_schema.SETUP_OBJECTS - set aggregated='NO'; - -select * from performance_schema.SETUP_OBJECTS; - -update performance_schema.SETUP_OBJECTS - set enabled='YES', timed='YES', aggregated='YES'; - -delete from performance_schema.SETUP_OBJECTS - where object_type = 'TABLE'; - -delete from performance_schema.SETUP_OBJECTS; - -LOCK TABLES performance_schema.SETUP_OBJECTS READ; -UNLOCK TABLES; - -LOCK TABLES performance_schema.SETUP_OBJECTS WRITE; -UNLOCK TABLES; - diff --git a/mysql-test/suite/perfschema/t/dml_processlist.test b/mysql-test/suite/perfschema/t/dml_threads.test index 6062b8481f0..6ea456fee69 100644 --- a/mysql-test/suite/perfschema/t/dml_processlist.test +++ b/mysql-test/suite/perfschema/t/dml_threads.test @@ -19,43 +19,43 @@ --source include/have_perfschema.inc --replace_column 1 # 2 # 3 # -select * from performance_schema.PROCESSLIST +select * from performance_schema.THREADS where name like 'Thread/%' limit 1; -select * from performance_schema.PROCESSLIST +select * from performance_schema.THREADS where name='FOO'; ---replace_result '\'processlist' '\'PROCESSLIST' +--replace_result '\'threads' '\'THREADS' --error ER_TABLEACCESS_DENIED_ERROR -insert into performance_schema.PROCESSLIST +insert into performance_schema.THREADS set name='FOO', thread_id=1, id=2; ---replace_result '\'processlist' '\'PROCESSLIST' +--replace_result '\'threads' '\'THREADS' --error ER_TABLEACCESS_DENIED_ERROR -update performance_schema.PROCESSLIST +update performance_schema.THREADS set thread_id=12; ---replace_result '\'processlist' '\'PROCESSLIST' +--replace_result '\'threads' '\'THREADS' --error ER_TABLEACCESS_DENIED_ERROR -update performance_schema.PROCESSLIST +update performance_schema.THREADS set thread_id=12 where name like "FOO"; ---replace_result '\'processlist' '\'PROCESSLIST' +--replace_result '\'threads' '\'THREADS' --error ER_TABLEACCESS_DENIED_ERROR -delete from performance_schema.PROCESSLIST +delete from performance_schema.THREADS where id=1; ---replace_result '\'processlist' '\'PROCESSLIST' +--replace_result '\'threads' '\'THREADS' --error ER_TABLEACCESS_DENIED_ERROR -delete from performance_schema.PROCESSLIST; +delete from performance_schema.THREADS; ---replace_result '\'processlist' '\'PROCESSLIST' +--replace_result '\'threads' '\'THREADS' -- error ER_TABLEACCESS_DENIED_ERROR -LOCK TABLES performance_schema.PROCESSLIST READ; +LOCK TABLES performance_schema.THREADS READ; UNLOCK TABLES; ---replace_result '\'processlist' '\'PROCESSLIST' +--replace_result '\'threads' '\'THREADS' -- error ER_TABLEACCESS_DENIED_ERROR -LOCK TABLES performance_schema.PROCESSLIST WRITE; +LOCK TABLES performance_schema.THREADS WRITE; UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/t/func_file_io.test b/mysql-test/suite/perfschema/t/func_file_io.test index 4317f68d13b..6b6335ac424 100644 --- a/mysql-test/suite/perfschema/t/func_file_io.test +++ b/mysql-test/suite/perfschema/t/func_file_io.test @@ -144,7 +144,7 @@ WHERE FILE_NAME LIKE CONCAT('%', @@tmpdir, '%') ORDER BY NULL; # --disable_result_log SELECT EVENT_NAME, COUNT_STAR, AVG_TIMER_WAIT, SUM_TIMER_WAIT -FROM performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME +FROM performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME WHERE COUNT_STAR > 0 ORDER BY SUM_TIMER_WAIT DESC LIMIT 10; @@ -158,7 +158,7 @@ LIMIT 10; SELECT i.user, SUM(TIMER_WAIT) SUM_WAIT # ((TIME_TO_SEC(TIMEDIFF(NOW(), i.startup_time)) * 1000) / SUM(TIMER_WAIT)) * 100 WAIT_PERCENTAGE FROM performance_schema.EVENTS_WAITS_HISTORY_LONG h -INNER JOIN performance_schema.PROCESSLIST p USING (THREAD_ID) +INNER JOIN performance_schema.THREADS p USING (THREAD_ID) LEFT JOIN information_schema.PROCESSLIST i USING (ID) GROUP BY i.user ORDER BY SUM_WAIT DESC @@ -171,7 +171,7 @@ LIMIT 20; --disable_result_log SELECT h.EVENT_NAME, SUM(h.TIMER_WAIT) TOTAL_WAIT FROM performance_schema.EVENTS_WAITS_HISTORY_LONG h -INNER JOIN performance_schema.PROCESSLIST p USING (THREAD_ID) +INNER JOIN performance_schema.THREADS p USING (THREAD_ID) WHERE p.ID = 1 GROUP BY h.EVENT_NAME HAVING TOTAL_WAIT > 0; @@ -184,7 +184,7 @@ HAVING TOTAL_WAIT > 0; --disable_result_log SELECT i.user, h.operation, SUM(NUMBER_OF_BYTES) bytes FROM performance_schema.EVENTS_WAITS_HISTORY_LONG h -INNER JOIN performance_schema.PROCESSLIST p USING (THREAD_ID) +INNER JOIN performance_schema.THREADS p USING (THREAD_ID) LEFT JOIN information_schema.PROCESSLIST i USING (ID) GROUP BY i.user, h.operation HAVING BYTES > 0 diff --git a/mysql-test/suite/perfschema/t/misc.test b/mysql-test/suite/perfschema/t/misc.test index dfa865e8702..d497c205d50 100644 --- a/mysql-test/suite/perfschema/t/misc.test +++ b/mysql-test/suite/perfschema/t/misc.test @@ -27,7 +27,7 @@ --disable_result_log SELECT EVENT_ID FROM performance_schema.EVENTS_WAITS_CURRENT WHERE THREAD_ID IN - (SELECT THREAD_ID FROM performance_schema.PROCESSLIST) + (SELECT THREAD_ID FROM performance_schema.THREADS) AND EVENT_NAME IN (SELECT NAME FROM performance_schema.SETUP_INSTRUMENTS WHERE NAME LIKE "wait/synch/%") diff --git a/mysql-test/suite/perfschema/t/no_threads.test b/mysql-test/suite/perfschema/t/no_threads.test index 3d3f712e364..9254535bf1f 100644 --- a/mysql-test/suite/perfschema/t/no_threads.test +++ b/mysql-test/suite/perfschema/t/no_threads.test @@ -45,10 +45,10 @@ show variables like "performance_schema_max_thread%"; # Verification : in this main thread -select count(*) from performance_schema.PROCESSLIST +select count(*) from performance_schema.THREADS where name like "thread/sql/main"; -select count(*) from performance_schema.PROCESSLIST +select count(*) from performance_schema.THREADS where name like "thread/sql/OneConnection"; select event_name, operation, diff --git a/mysql-test/suite/perfschema/t/schema.test b/mysql-test/suite/perfschema/t/schema.test index d13c399a97b..727c4f5a755 100644 --- a/mysql-test/suite/perfschema/t/schema.test +++ b/mysql-test/suite/perfschema/t/schema.test @@ -29,18 +29,17 @@ show create table COND_INSTANCES; show create table EVENTS_WAITS_CURRENT; show create table EVENTS_WAITS_HISTORY; show create table EVENTS_WAITS_HISTORY_LONG; -show create table EVENTS_WAITS_SUMMARY_BY_EVENT_NAME; show create table EVENTS_WAITS_SUMMARY_BY_INSTANCE; show create table EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME; +show create table EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME; show create table FILE_INSTANCES; show create table FILE_SUMMARY_BY_EVENT_NAME; show create table FILE_SUMMARY_BY_INSTANCE; show create table MUTEX_INSTANCES; show create table PERFORMANCE_TIMERS; -show create table PROCESSLIST; show create table RWLOCK_INSTANCES; show create table SETUP_CONSUMERS; show create table SETUP_INSTRUMENTS; -show create table SETUP_OBJECTS; show create table SETUP_TIMERS; +show create table THREADS; diff --git a/mysql-test/suite/perfschema/t/selects.test b/mysql-test/suite/perfschema/t/selects.test index a0c000b80c1..b673c896024 100644 --- a/mysql-test/suite/perfschema/t/selects.test +++ b/mysql-test/suite/perfschema/t/selects.test @@ -45,7 +45,7 @@ LIMIT 1; --replace_column 1 [EVENT_ID] SELECT EVENT_ID FROM performance_schema.EVENTS_WAITS_CURRENT WHERE THREAD_ID IN - (SELECT THREAD_ID FROM performance_schema.PROCESSLIST) + (SELECT THREAD_ID FROM performance_schema.THREADS) AND EVENT_NAME IN (SELECT NAME FROM performance_schema.SETUP_INSTRUMENTS WHERE NAME LIKE "wait/synch/%") @@ -138,7 +138,7 @@ delimiter |; CREATE PROCEDURE t_ps_proc(IN tid INT, OUT pid INT) BEGIN - SELECT id FROM performance_schema.PROCESSLIST + SELECT id FROM performance_schema.THREADS WHERE THREAD_ID = tid INTO pid; END; @@ -157,7 +157,7 @@ delimiter |; CREATE FUNCTION t_ps_func(tid INT) RETURNS int BEGIN - return (SELECT id FROM performance_schema.PROCESSLIST + return (SELECT id FROM performance_schema.THREADS WHERE THREAD_ID = tid); END; diff --git a/mysql-test/suite/perfschema/t/start_server_no_thread_class.test b/mysql-test/suite/perfschema/t/start_server_no_thread_class.test index ba214ba9966..1ed0fecb538 100644 --- a/mysql-test/suite/perfschema/t/start_server_no_thread_class.test +++ b/mysql-test/suite/perfschema/t/start_server_no_thread_class.test @@ -31,7 +31,7 @@ select variable_value > 0 from information_schema.global_status where variable_name like 'PERFORMANCE_SCHEMA_THREAD_CLASSES_LOST'; # Expect no instances -select count(*) from performance_schema.PROCESSLIST; +select count(*) from performance_schema.THREADS; # Expect no instances lost show status like "performance_schema_thread_instances_lost"; diff --git a/mysql-test/suite/perfschema/t/start_server_no_thread_inst.test b/mysql-test/suite/perfschema/t/start_server_no_thread_inst.test index 7d8a44ebcd5..489f814ba10 100644 --- a/mysql-test/suite/perfschema/t/start_server_no_thread_inst.test +++ b/mysql-test/suite/perfschema/t/start_server_no_thread_inst.test @@ -33,7 +33,7 @@ show status like "performance_schema_thread_classes_lost"; # Expect no instances show variables like "performance_schema_max_thread_instances"; -select count(*) from performance_schema.PROCESSLIST; +select count(*) from performance_schema.THREADS; # Expect instances lost select variable_value > 0 from information_schema.global_status diff --git a/mysql-test/suite/perfschema/t/thread_cache.test b/mysql-test/suite/perfschema/t/thread_cache.test index 8c3271ba406..5560f66babb 100644 --- a/mysql-test/suite/perfschema/t/thread_cache.test +++ b/mysql-test/suite/perfschema/t/thread_cache.test @@ -30,14 +30,14 @@ connect (con1, localhost, root, , ); let $con1_ID=`select connection_id()`; -let $con1_THREAD_ID=`select thread_id from performance_schema.PROCESSLIST +let $con1_THREAD_ID=`select thread_id from performance_schema.THREADS where ID = connection_id()`; connect (con2, localhost, root, , ); let $con2_ID=`select connection_id()`; -let $con2_THREAD_ID=`select thread_id from performance_schema.PROCESSLIST +let $con2_THREAD_ID=`select thread_id from performance_schema.THREADS where ID = connection_id()`; connection default; @@ -58,7 +58,7 @@ connect (con3, localhost, root, , ); let $con3_ID=`select connection_id()`; -let $con3_THREAD_ID=`select thread_id from performance_schema.PROCESSLIST +let $con3_THREAD_ID=`select thread_id from performance_schema.THREADS where ID = connection_id()`; disconnect con3; @@ -82,14 +82,14 @@ connect (con1, localhost, root, , ); let $con1_ID=`select connection_id()`; -let $con1_THREAD_ID=`select thread_id from performance_schema.PROCESSLIST +let $con1_THREAD_ID=`select thread_id from performance_schema.THREADS where ID = connection_id()`; connect (con2, localhost, root, , ); let $con2_ID=`select connection_id()`; -let $con2_THREAD_ID=`select thread_id from performance_schema.PROCESSLIST +let $con2_THREAD_ID=`select thread_id from performance_schema.THREADS where ID = connection_id()`; connection default; @@ -108,7 +108,7 @@ connect (con3, localhost, root, , ); let $con3_ID=`select connection_id()`; -let $con3_THREAD_ID=`select thread_id from performance_schema.PROCESSLIST +let $con3_THREAD_ID=`select thread_id from performance_schema.THREADS where ID = connection_id()`; disconnect con3; diff --git a/scripts/mysql_system_tables.sql b/scripts/mysql_system_tables.sql index b5ee4d6dd41..dd620b80475 100644 --- a/scripts/mysql_system_tables.sql +++ b/scripts/mysql_system_tables.sql @@ -242,26 +242,6 @@ EXECUTE stmt; DROP PREPARE stmt; -- --- TABLE EVENTS_WAITS_SUMMARY_BY_EVENT_NAME --- - -SET @l1="CREATE TABLE performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME("; -SET @l2="EVENT_NAME VARCHAR(128) not null,"; -SET @l3="COUNT_STAR BIGINT unsigned not null,"; -SET @l4="SUM_TIMER_WAIT BIGINT unsigned not null,"; -SET @l5="MIN_TIMER_WAIT BIGINT unsigned not null,"; -SET @l6="AVG_TIMER_WAIT BIGINT unsigned not null,"; -SET @l7="MAX_TIMER_WAIT BIGINT unsigned not null"; -SET @l8=")ENGINE=PERFORMANCE_SCHEMA;"; - -SET @cmd=concat(@l1,@l2,@l3,@l4,@l5,@l6,@l7,@l8); - -SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0'); -PREPARE stmt FROM @str; -EXECUTE stmt; -DROP PREPARE stmt; - --- -- TABLE EVENTS_WAITS_SUMMARY_BY_INSTANCE -- @@ -304,6 +284,26 @@ EXECUTE stmt; DROP PREPARE stmt; -- +-- TABLE EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME +-- + +SET @l1="CREATE TABLE performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME("; +SET @l2="EVENT_NAME VARCHAR(128) not null,"; +SET @l3="COUNT_STAR BIGINT unsigned not null,"; +SET @l4="SUM_TIMER_WAIT BIGINT unsigned not null,"; +SET @l5="MIN_TIMER_WAIT BIGINT unsigned not null,"; +SET @l6="AVG_TIMER_WAIT BIGINT unsigned not null,"; +SET @l7="MAX_TIMER_WAIT BIGINT unsigned not null"; +SET @l8=")ENGINE=PERFORMANCE_SCHEMA;"; + +SET @cmd=concat(@l1,@l2,@l3,@l4,@l5,@l6,@l7,@l8); + +SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0'); +PREPARE stmt FROM @str; +EXECUTE stmt; +DROP PREPARE stmt; + +-- -- TABLE FILE_INSTANCES -- @@ -395,23 +395,6 @@ EXECUTE stmt; DROP PREPARE stmt; -- --- TABLE PROCESSLIST --- - -SET @l1="CREATE TABLE performance_schema.PROCESSLIST("; -SET @l2="THREAD_ID INTEGER not null,"; -SET @l3="ID INTEGER not null,"; -SET @l4="NAME VARCHAR(64) not null"; -SET @l5=")ENGINE=PERFORMANCE_SCHEMA;"; - -SET @cmd=concat(@l1,@l2,@l3,@l4,@l5); - -SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0'); -PREPARE stmt FROM @str; -EXECUTE stmt; -DROP PREPARE stmt; - --- -- TABLE RWLOCK_INSTANCES -- @@ -463,19 +446,15 @@ EXECUTE stmt; DROP PREPARE stmt; -- --- TABLE SETUP_OBJECTS +-- TABLE SETUP_TIMERS -- -SET @l1="CREATE TABLE performance_schema.SETUP_OBJECTS("; -SET @l2="OBJECT_TYPE VARCHAR(64),"; -SET @l3="OBJECT_SCHEMA VARCHAR(64),"; -SET @l4="OBJECT_NAME VARCHAR(64),"; -SET @l5="ENABLED ENUM ('YES', 'NO') not null,"; -SET @l6="TIMED ENUM ('YES', 'NO') not null,"; -SET @l7="AGGREGATED ENUM ('YES', 'NO') not null"; -SET @l8=")ENGINE=PERFORMANCE_SCHEMA;"; +SET @l1="CREATE TABLE performance_schema.SETUP_TIMERS("; +SET @l2="NAME VARCHAR(64) not null,"; +SET @l3="TIMER_NAME ENUM ('CYCLE', 'NANOSECOND', 'MICROSECOND', 'MILLISECOND', 'TICK') not null"; +SET @l4=")ENGINE=PERFORMANCE_SCHEMA;"; -SET @cmd=concat(@l1,@l2,@l3,@l4,@l5,@l6,@l7,@l8); +SET @cmd=concat(@l1,@l2,@l3,@l4); SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0'); PREPARE stmt FROM @str; @@ -483,15 +462,16 @@ EXECUTE stmt; DROP PREPARE stmt; -- --- TABLE SETUP_TIMERS +-- TABLE THREADS -- -SET @l1="CREATE TABLE performance_schema.SETUP_TIMERS("; -SET @l2="NAME VARCHAR(64) not null,"; -SET @l3="TIMER_NAME ENUM ('CYCLE', 'NANOSECOND', 'MICROSECOND', 'MILLISECOND', 'TICK') not null"; -SET @l4=")ENGINE=PERFORMANCE_SCHEMA;"; +SET @l1="CREATE TABLE performance_schema.THREADS("; +SET @l2="THREAD_ID INTEGER not null,"; +SET @l3="ID INTEGER not null,"; +SET @l4="NAME VARCHAR(64) not null"; +SET @l5=")ENGINE=PERFORMANCE_SCHEMA;"; -SET @cmd=concat(@l1,@l2,@l3,@l4); +SET @cmd=concat(@l1,@l2,@l3,@l4,@l5); SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0'); PREPARE stmt FROM @str; diff --git a/storage/perfschema/CMakeLists.txt b/storage/perfschema/CMakeLists.txt index 5cd651a35bd..a3999da4ba1 100644 --- a/storage/perfschema/CMakeLists.txt +++ b/storage/perfschema/CMakeLists.txt @@ -38,15 +38,15 @@ SET(PERFSCHEMA_SOURCES ha_perfschema.h table_all_instr.h table_events_waits.h table_events_waits_summary.h + table_ews_global_by_event_name.h table_file_instances.h table_file_summary.h table_performance_timers.h - table_processlist.h table_setup_consumers.h table_setup_instruments.h - table_setup_objects.h table_setup_timers.h table_sync_instances.h + table_threads.h ha_perfschema.cc pfs.cc pfs_column_values.cc @@ -60,15 +60,15 @@ SET(PERFSCHEMA_SOURCES ha_perfschema.h table_all_instr.cc table_events_waits.cc table_events_waits_summary.cc + table_ews_global_by_event_name.cc table_file_instances.cc table_file_summary.cc table_performance_timers.cc - table_processlist.cc table_setup_consumers.cc table_setup_instruments.cc - table_setup_objects.cc table_setup_timers.cc table_sync_instances.cc + table_threads.cc pfs_atomic.cc pfs_check.cc ) diff --git a/storage/perfschema/Makefile.am b/storage/perfschema/Makefile.am index 374415cfdfd..762f5b85790 100644 --- a/storage/perfschema/Makefile.am +++ b/storage/perfschema/Makefile.am @@ -39,12 +39,12 @@ noinst_HEADERS = ha_perfschema.h pfs_engine_table.h pfs.h pfs_server.h \ table_setup_instruments.h table_performance_timers.h \ table_setup_timers.h \ table_setup_consumers.h table_events_waits.h \ - pfs_events_waits.h pfs_timer.h table_processlist.h \ + pfs_events_waits.h pfs_timer.h table_threads.h \ table_sync_instances.h \ table_events_waits_summary.h pfs_stat.h \ - table_all_instr.h \ + table_ews_global_by_event_name.h table_all_instr.h \ table_file_instances.h table_file_summary.h \ - table_setup_objects.h pfs_lock.h pfs_atomic.h + pfs_lock.h pfs_atomic.h PSE_SOURCES = ha_perfschema.cc pfs_engine_table.cc pfs.cc pfs_server.cc \ pfs_global.cc pfs_instr_class.cc pfs_instr.cc \ @@ -52,12 +52,12 @@ PSE_SOURCES = ha_perfschema.cc pfs_engine_table.cc pfs.cc pfs_server.cc \ table_setup_instruments.cc table_performance_timers.cc \ table_setup_timers.cc \ table_setup_consumers.cc table_events_waits.cc \ - pfs_events_waits.cc pfs_timer.cc table_processlist.cc \ + pfs_events_waits.cc pfs_timer.cc table_threads.cc \ table_sync_instances.cc \ table_events_waits_summary.cc \ - table_all_instr.cc \ + table_ews_global_by_event_name.cc table_all_instr.cc \ table_file_instances.cc table_file_summary.cc \ - table_setup_objects.cc pfs_atomic.cc pfs_check.cc + pfs_atomic.cc pfs_check.cc EXTRA_LIBRARIES = libperfschema.a noinst_LIBRARIES = @plugin_perfschema_static_target@ diff --git a/storage/perfschema/pfs_engine_table.cc b/storage/perfschema/pfs_engine_table.cc index 7b6fd055729..df00811959c 100644 --- a/storage/perfschema/pfs_engine_table.cc +++ b/storage/perfschema/pfs_engine_table.cc @@ -23,11 +23,11 @@ #include "table_events_waits.h" #include "table_setup_consumers.h" #include "table_setup_instruments.h" -#include "table_setup_objects.h" #include "table_setup_timers.h" #include "table_performance_timers.h" -#include "table_processlist.h" +#include "table_threads.h" #include "table_events_waits_summary.h" +#include "table_ews_global_by_event_name.h" #include "table_sync_instances.h" #include "table_file_instances.h" #include "table_file_summary.h" @@ -52,13 +52,12 @@ static PFS_engine_table_share *all_shares[]= &table_events_waits_history_long::m_share, &table_setup_consumers::m_share, &table_setup_instruments::m_share, - &table_setup_objects::m_share, &table_setup_timers::m_share, &table_performance_timers::m_share, - &table_processlist::m_share, + &table_threads::m_share, &table_events_waits_summary_by_thread_by_event_name::m_share, - &table_events_waits_summary_by_event_name::m_share, &table_events_waits_summary_by_instance::m_share, + &table_ews_global_by_event_name::m_share, &table_file_summary_by_event_name::m_share, &table_file_summary_by_instance::m_share, &table_mutex_instances::m_share, diff --git a/storage/perfschema/table_events_waits_summary.cc b/storage/perfschema/table_events_waits_summary.cc index 9d0d6fe0f67..435a3500f06 100644 --- a/storage/perfschema/table_events_waits_summary.cc +++ b/storage/perfschema/table_events_waits_summary.cc @@ -338,144 +338,6 @@ int table_events_waits_summary_by_thread_by_event_name return 0; } -THR_LOCK table_events_waits_summary_by_event_name::m_table_lock; - -static const TABLE_FIELD_TYPE ews_by_event_name_field_types[]= -{ - { - { C_STRING_WITH_LEN("EVENT_NAME") }, - { C_STRING_WITH_LEN("varchar(128)") }, - { NULL, 0} - }, - { - { C_STRING_WITH_LEN("COUNT_STAR") }, - { C_STRING_WITH_LEN("bigint(20)") }, - { NULL, 0} - }, - { - { C_STRING_WITH_LEN("SUM_TIMER_WAIT") }, - { C_STRING_WITH_LEN("bigint(20)") }, - { NULL, 0} - }, - { - { C_STRING_WITH_LEN("MIN_TIMER_WAIT") }, - { C_STRING_WITH_LEN("bigint(20)") }, - { NULL, 0} - }, - { - { C_STRING_WITH_LEN("AVG_TIMER_WAIT") }, - { C_STRING_WITH_LEN("bigint(20)") }, - { NULL, 0} - }, - { - { C_STRING_WITH_LEN("MAX_TIMER_WAIT") }, - { C_STRING_WITH_LEN("bigint(20)") }, - { NULL, 0} - } -}; - -TABLE_FIELD_DEF -table_events_waits_summary_by_event_name::m_field_def= -{ 6, ews_by_event_name_field_types }; - -PFS_engine_table_share -table_events_waits_summary_by_event_name::m_share= -{ - { C_STRING_WITH_LEN("EVENTS_WAITS_SUMMARY_BY_EVENT_NAME") }, - &pfs_truncatable_acl, - &table_events_waits_summary_by_event_name::create, - NULL, /* write_row */ - &table_events_waits_summary_by_event_name::delete_all_rows, - 1000, /* records */ - sizeof(pos_all_instr_class), - &m_table_lock, - &m_field_def, - false /* checked */ -}; - -PFS_engine_table* table_events_waits_summary_by_event_name::create(void) -{ - return new table_events_waits_summary_by_event_name(); -} - -int table_events_waits_summary_by_event_name::delete_all_rows(void) -{ - reset_instrument_class_waits(); - return 0; -} - -table_events_waits_summary_by_event_name -::table_events_waits_summary_by_event_name() - : table_all_instr_class(&m_share) -{} - -void table_events_waits_summary_by_event_name -::make_instr_row(PFS_instr_class *klass) -{ - m_row.m_name= klass->m_name; - m_row.m_name_length= klass->m_name_length; - - m_row.m_count= klass->m_wait_stat.m_count; - m_row.m_sum= klass->m_wait_stat.m_sum; - m_row.m_min= klass->m_wait_stat.m_min; - m_row.m_max= klass->m_wait_stat.m_max; - - if (m_row.m_count) - m_row.m_avg= m_row.m_sum / m_row.m_count; - else - { - m_row.m_min= 0; - m_row.m_avg= 0; - } -} - -int table_events_waits_summary_by_event_name -::read_row_values(TABLE *table, unsigned char *, Field **fields, - bool read_all) -{ - Field *f; - - /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 0); - - /* - The row always exist, - the instrument classes are static and never disappear. - */ - - for (; (f= *fields) ; fields++) - { - if (read_all || bitmap_is_set(table->read_set, f->field_index)) - { - switch(f->field_index) - { - case 0: /* NAME */ - set_field_varchar_utf8(f, m_row.m_name, m_row.m_name_length); - break; - case 1: /* COUNT */ - set_field_ulonglong(f, m_row.m_count); - break; - case 2: /* SUM */ - set_field_ulonglong(f, m_row.m_sum); - break; - case 3: /* MIN */ - set_field_ulonglong(f, m_row.m_min); - break; - case 4: /* AVG */ - set_field_ulonglong(f, m_row.m_avg); - break; - case 5: /* MAX */ - set_field_ulonglong(f, m_row.m_max); - break; - default: - DBUG_ASSERT(false); - } - } - } - - return 0; -} - THR_LOCK table_events_waits_summary_by_instance::m_table_lock; static const TABLE_FIELD_TYPE ews_by_instance_field_types[]= diff --git a/storage/perfschema/table_events_waits_summary.h b/storage/perfschema/table_events_waits_summary.h index 47ec9523d68..628bb75553f 100644 --- a/storage/perfschema/table_events_waits_summary.h +++ b/storage/perfschema/table_events_waits_summary.h @@ -144,58 +144,6 @@ private: pos_events_waits_summary_by_thread_by_event_name m_next_pos; }; -/** A row of PERFORMANCE_SCHEMA.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME. */ -struct row_events_waits_summary_by_event_name -{ - /** Column EVENT_NAME. */ - const char *m_name; - /** Length in bytes of @c m_name. */ - uint m_name_length; - /** Column COUNT_STAR. */ - ulonglong m_count; - /** Column SUM_TIMER_WAIT. */ - ulonglong m_sum; - /** Column MIN_TIMER_WAIT. */ - ulonglong m_min; - /** Column AVG_TIMER_WAIT. */ - ulonglong m_avg; - /** Column MAX_TIMER_WAIT. */ - ulonglong m_max; -}; - -/** Table PERFORMANCE_SCHEMA.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME. */ -class table_events_waits_summary_by_event_name : public table_all_instr_class -{ -public: - /** Table share */ - static PFS_engine_table_share m_share; - static PFS_engine_table* create(); - static int delete_all_rows(); - -protected: - virtual void make_instr_row(PFS_instr_class *klass); - - virtual int read_row_values(TABLE *table, - unsigned char *buf, - Field **fields, - bool read_all); - - table_events_waits_summary_by_event_name(); - -public: - ~table_events_waits_summary_by_event_name() - {} - -private: - /** Table share lock. */ - static THR_LOCK m_table_lock; - /** Fields definition. */ - static TABLE_FIELD_DEF m_field_def; - - /** Current row. */ - row_events_waits_summary_by_event_name m_row; -}; - /** A row of PERFORMANCE_SCHEMA.EVENTS_WAITS_SUMMARY_BY_INSTANCE. */ struct row_events_waits_summary_by_instance { diff --git a/storage/perfschema/table_ews_global_by_event_name.cc b/storage/perfschema/table_ews_global_by_event_name.cc new file mode 100644 index 00000000000..35e744ed96b --- /dev/null +++ b/storage/perfschema/table_ews_global_by_event_name.cc @@ -0,0 +1,166 @@ +/* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +/** + @file storage/perfschema/table_ews_global_by_event_name.cc + Table EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME (implementation). +*/ + +#include "my_global.h" +#include "my_pthread.h" +#include "pfs_instr_class.h" +#include "pfs_column_types.h" +#include "pfs_column_values.h" +#include "table_ews_global_by_event_name.h" +#include "pfs_global.h" + +THR_LOCK table_ews_global_by_event_name::m_table_lock; + +static const TABLE_FIELD_TYPE field_types[]= +{ + { + { C_STRING_WITH_LEN("EVENT_NAME") }, + { C_STRING_WITH_LEN("varchar(128)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("COUNT_STAR") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_TIMER_WAIT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MIN_TIMER_WAIT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("AVG_TIMER_WAIT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MAX_TIMER_WAIT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + } +}; + +TABLE_FIELD_DEF +table_ews_global_by_event_name::m_field_def= +{ 6, field_types }; + +PFS_engine_table_share +table_ews_global_by_event_name::m_share= +{ + { C_STRING_WITH_LEN("EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME") }, + &pfs_truncatable_acl, + &table_ews_global_by_event_name::create, + NULL, /* write_row */ + &table_ews_global_by_event_name::delete_all_rows, + 1000, /* records */ + sizeof(pos_all_instr_class), + &m_table_lock, + &m_field_def, + false /* checked */ +}; + +PFS_engine_table* table_ews_global_by_event_name::create(void) +{ + return new table_ews_global_by_event_name(); +} + +int table_ews_global_by_event_name::delete_all_rows(void) +{ + reset_instrument_class_waits(); + return 0; +} + +table_ews_global_by_event_name +::table_ews_global_by_event_name() + : table_all_instr_class(&m_share) +{} + +void table_ews_global_by_event_name +::make_instr_row(PFS_instr_class *klass) +{ + m_row.m_name= klass->m_name; + m_row.m_name_length= klass->m_name_length; + + m_row.m_count= klass->m_wait_stat.m_count; + m_row.m_sum= klass->m_wait_stat.m_sum; + m_row.m_min= klass->m_wait_stat.m_min; + m_row.m_max= klass->m_wait_stat.m_max; + + if (m_row.m_count) + m_row.m_avg= m_row.m_sum / m_row.m_count; + else + { + m_row.m_min= 0; + m_row.m_avg= 0; + } +} + +int table_ews_global_by_event_name +::read_row_values(TABLE *table, unsigned char *, Field **fields, + bool read_all) +{ + Field *f; + + /* Set the null bits */ + DBUG_ASSERT(table->s->null_bytes == 0); + + /* + The row always exist, + the instrument classes are static and never disappear. + */ + + for (; (f= *fields) ; fields++) + { + if (read_all || bitmap_is_set(table->read_set, f->field_index)) + { + switch(f->field_index) + { + case 0: /* NAME */ + set_field_varchar_utf8(f, m_row.m_name, m_row.m_name_length); + break; + case 1: /* COUNT */ + set_field_ulonglong(f, m_row.m_count); + break; + case 2: /* SUM */ + set_field_ulonglong(f, m_row.m_sum); + break; + case 3: /* MIN */ + set_field_ulonglong(f, m_row.m_min); + break; + case 4: /* AVG */ + set_field_ulonglong(f, m_row.m_avg); + break; + case 5: /* MAX */ + set_field_ulonglong(f, m_row.m_max); + break; + default: + DBUG_ASSERT(false); + } + } + } + + return 0; +} + diff --git a/storage/perfschema/table_ews_global_by_event_name.h b/storage/perfschema/table_ews_global_by_event_name.h new file mode 100644 index 00000000000..402ed9d80de --- /dev/null +++ b/storage/perfschema/table_ews_global_by_event_name.h @@ -0,0 +1,88 @@ +/* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +#ifndef TABLE_EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME_H +#define TABLE_EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME_H + +/** + @file storage/perfschema/table_ews_global_by_event_name.h + Table EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME (declarations). +*/ + +#include "pfs_column_types.h" +#include "pfs_engine_table.h" +#include "pfs_instr_class.h" +#include "pfs_instr.h" +#include "table_all_instr.h" + +/** + @addtogroup Performance_schema_tables + @{ +*/ + +/** A row of PERFORMANCE_SCHEMA.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME. */ +struct row_ews_global_by_event_name +{ + /** Column EVENT_NAME. */ + const char *m_name; + /** Length in bytes of @c m_name. */ + uint m_name_length; + /** Column COUNT_STAR. */ + ulonglong m_count; + /** Column SUM_TIMER_WAIT. */ + ulonglong m_sum; + /** Column MIN_TIMER_WAIT. */ + ulonglong m_min; + /** Column AVG_TIMER_WAIT. */ + ulonglong m_avg; + /** Column MAX_TIMER_WAIT. */ + ulonglong m_max; +}; + +/** Table PERFORMANCE_SCHEMA.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME. */ +class table_ews_global_by_event_name : public table_all_instr_class +{ +public: + /** Table share */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static int delete_all_rows(); + +protected: + virtual void make_instr_row(PFS_instr_class *klass); + + virtual int read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all); + + table_ews_global_by_event_name(); + +public: + ~table_ews_global_by_event_name() + {} + +private: + /** Table share lock. */ + static THR_LOCK m_table_lock; + /** Fields definition. */ + static TABLE_FIELD_DEF m_field_def; + + /** Current row. */ + row_ews_global_by_event_name m_row; +}; + +/** @} */ +#endif diff --git a/storage/perfschema/table_setup_objects.cc b/storage/perfschema/table_setup_objects.cc deleted file mode 100644 index b75bece83bd..00000000000 --- a/storage/perfschema/table_setup_objects.cc +++ /dev/null @@ -1,281 +0,0 @@ -/* Copyright (C) 2008-2009 Sun Microsystems, Inc - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; version 2 of the License. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ - -/** - @file storage/perfschema/table_setup_objects.cc - Table SETUP_OBJECTS (implementation). -*/ - -#include "sql_priv.h" -#include "unireg.h" -#include "pfs_instr_class.h" -#include "pfs_column_types.h" -#include "pfs_column_values.h" -#include "table_setup_objects.h" -#include "pfs_global.h" - -THR_LOCK table_setup_objects::m_table_lock; - -static const TABLE_FIELD_TYPE field_types[]= -{ - { - { C_STRING_WITH_LEN("OBJECT_TYPE") }, - { C_STRING_WITH_LEN("varchar(64)") }, - { NULL, 0} - }, - { - { C_STRING_WITH_LEN("OBJECT_SCHEMA") }, - { C_STRING_WITH_LEN("varchar(64)") }, - { NULL, 0} - }, - { - { C_STRING_WITH_LEN("OBJECT_NAME") }, - { C_STRING_WITH_LEN("varchar(64)") }, - { NULL, 0} - }, - { - { C_STRING_WITH_LEN("ENABLED") }, - { C_STRING_WITH_LEN("enum(\'YES\',\'NO\')") }, - { NULL, 0} - }, - { - { C_STRING_WITH_LEN("TIMED") }, - { C_STRING_WITH_LEN("enum(\'YES\',\'NO\')") }, - { NULL, 0} - }, - { - { C_STRING_WITH_LEN("AGGREGATED") }, - { C_STRING_WITH_LEN("enum(\'YES\',\'NO\')") }, - { NULL, 0} - } -}; - -TABLE_FIELD_DEF -table_setup_objects::m_field_def= -{ 6, field_types }; - -PFS_engine_table_share -table_setup_objects::m_share= -{ - { C_STRING_WITH_LEN("SETUP_OBJECTS") }, - &pfs_editable_acl, - &table_setup_objects::create, - table_setup_objects::write_row, - table_setup_objects::delete_all_rows, - 1000, /* records */ - sizeof(pos_setup_objects), - &m_table_lock, - &m_field_def, - false /* checked */ -}; - -PFS_engine_table* table_setup_objects::create(void) -{ - return new table_setup_objects(); -} - -int table_setup_objects::write_row(TABLE *table, unsigned char *buf, - Field **fields) -{ - /* Not implemented */ - return HA_ERR_WRONG_COMMAND; -} - -int table_setup_objects::delete_all_rows(void) -{ - /* Not implemented */ - return HA_ERR_WRONG_COMMAND; -} - -table_setup_objects::table_setup_objects() - : PFS_engine_table(&m_share, &m_pos), - m_row_exists(false), m_pos(), m_next_pos() -{} - -void table_setup_objects::reset_position(void) -{ - m_pos.reset(); - m_next_pos.reset(); -} - -int table_setup_objects::rnd_next(void) -{ - PFS_table_share *table_share; - - for (m_pos.set_at(&m_next_pos); - m_pos.has_more_view(); - m_pos.next_view()) - { - switch (m_pos.m_index_1) { - case pos_setup_objects::VIEW_TABLE: - for ( ; m_pos.m_index_2 < table_share_max; m_pos.m_index_2++) - { - table_share= &table_share_array[m_pos.m_index_2]; - if (table_share->m_lock.is_populated()) - { - make_row(table_share); - m_next_pos.set_after(&m_pos); - return 0; - } - } - break; - case pos_setup_objects::VIEW_EVENT: - case pos_setup_objects::VIEW_PROCEDURE: - case pos_setup_objects::VIEW_FUNCTION: - default: - break; - } - } - - return HA_ERR_END_OF_FILE; -} - -int table_setup_objects::rnd_pos(const void *pos) -{ - PFS_table_share *share; - - set_position(pos); - - switch (m_pos.m_index_1) { - case pos_setup_objects::VIEW_TABLE: - DBUG_ASSERT(m_pos.m_index_2 < table_share_max); - share= &table_share_array[m_pos.m_index_2]; - if (share->m_lock.is_populated()) - { - make_row(share); - return 0; - } - break; - case pos_setup_objects::VIEW_EVENT: - case pos_setup_objects::VIEW_PROCEDURE: - case pos_setup_objects::VIEW_FUNCTION: - default: - break; - } - - return HA_ERR_RECORD_DELETED; -} - -void table_setup_objects::make_row(PFS_table_share *share) -{ - pfs_lock lock; - - m_row_exists= false; - if (share == NULL) - return; - - share->m_lock.begin_optimistic_lock(&lock); - - m_row.m_schema_name= &share->m_schema_name[0]; - m_row.m_schema_name_length= share->m_schema_name_length; - m_row.m_object_name= &share->m_table_name[0]; - m_row.m_object_name_length= share->m_table_name_length; - m_row.m_enabled_ptr= &share->m_enabled; - m_row.m_timed_ptr= &share->m_timed; - m_row.m_aggregated_ptr= &share->m_aggregated; - - if (share->m_lock.end_optimistic_lock(&lock)) - m_row_exists= true; -} - -int table_setup_objects::read_row_values(TABLE *table, - unsigned char *buf, - Field **fields, - bool read_all) -{ - Field *f; - - if (unlikely(! m_row_exists)) - return HA_ERR_RECORD_DELETED; - - /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); - buf[0]= 0; - - for (; (f= *fields) ; fields++) - { - if (read_all || bitmap_is_set(table->read_set, f->field_index)) - { - switch(f->field_index) - { - case 0: /* OBJECT_TYPE */ - set_field_varchar_utf8(f, "TABLE", 5); - break; - case 1: /* OBJECT_SCHEMA */ - set_field_varchar_utf8(f, m_row.m_schema_name, - m_row.m_schema_name_length); - break; - case 2: /* OBJECT_NAME */ - set_field_varchar_utf8(f, m_row.m_object_name, - m_row.m_object_name_length); - break; - case 3: /* ENABLED */ - set_field_enum(f, (*m_row.m_enabled_ptr) ? ENUM_YES : ENUM_NO); - break; - case 4: /* TIMED */ - set_field_enum(f, (*m_row.m_timed_ptr) ? ENUM_YES : ENUM_NO); - break; - case 5: /* AGGREGATED */ - set_field_enum(f, (*m_row.m_aggregated_ptr) ? ENUM_YES : ENUM_NO); - break; - default: - DBUG_ASSERT(false); - } - } - } - - return 0; -} - -int table_setup_objects::update_row_values(TABLE *table, - const unsigned char *, - unsigned char *, - Field **fields) -{ - Field *f; - enum_yes_no value; - - for (; (f= *fields) ; fields++) - { - if (bitmap_is_set(table->write_set, f->field_index)) - { - switch(f->field_index) - { - case 0: /* OBJECT_TYPE */ - case 1: /* OBJECT_SCHEMA */ - case 2: /* OBJECT_NAME */ - my_error(ER_WRONG_PERFSCHEMA_USAGE, MYF(0)); - return HA_ERR_WRONG_COMMAND; - case 3: /* ENABLED */ - value= (enum_yes_no) get_field_enum(f); - *m_row.m_enabled_ptr= (value == ENUM_YES) ? true : false; - break; - case 4: /* TIMED */ - value= (enum_yes_no) get_field_enum(f); - *m_row.m_timed_ptr= (value == ENUM_YES) ? true : false; - break; - case 5: /* AGGREGATED */ - value= (enum_yes_no) get_field_enum(f); - *m_row.m_aggregated_ptr= (value == ENUM_YES) ? true : false; - break; - default: - DBUG_ASSERT(false); - } - } - } - - return 0; -} - diff --git a/storage/perfschema/table_setup_objects.h b/storage/perfschema/table_setup_objects.h deleted file mode 100644 index 994e12016a6..00000000000 --- a/storage/perfschema/table_setup_objects.h +++ /dev/null @@ -1,125 +0,0 @@ -/* Copyright (C) 2008-2009 Sun Microsystems, Inc - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; version 2 of the License. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ - -#ifndef TABLE_SETUP_OBJECTS_H -#define TABLE_SETUP_OBJECTS_H - -/** - @file storage/perfschema/table_setup_objects.h - Table SETUP_OBJECTS (declarations). -*/ - -#include "pfs_instr_class.h" -#include "pfs_engine_table.h" - -/** - @addtogroup Performance_schema_tables - @{ -*/ - -/** A row of PERFORMANCE_SCHEMA.SETUP_OBJECTS. */ -struct row_setup_objects -{ - /** Column SCHEMA_NAME. */ - const char *m_schema_name; - /** Length in bytes of @c m_schema_name. */ - uint m_schema_name_length; - /** Column OBJECT_NAME. */ - const char *m_object_name; - /** Length in bytes of @c m_object_name. */ - uint m_object_name_length; - /** Column ENABLED. */ - bool *m_enabled_ptr; - /** Column TIMED. */ - bool *m_timed_ptr; - /** Column AGGREGATED. */ - bool *m_aggregated_ptr; -}; - -/** Position of a cursor on PERFORMANCE_SCHEMA.SETUP_OBJECTS. */ -struct pos_setup_objects : public PFS_double_index, - public PFS_object_view_constants -{ - pos_setup_objects() - : PFS_double_index(VIEW_TABLE, 0) - {} - - inline void reset(void) - { - m_index_1= VIEW_TABLE; - m_index_2= 0; - } - - inline bool has_more_view(void) - { return (m_index_1 <= VIEW_FUNCTION); } - - inline void next_view(void) - { - m_index_1++; - m_index_2= 0; - } -}; - -/** Table PERFORMANCE_SCHEMA.SETUP_OBJECTS. */ -class table_setup_objects : public PFS_engine_table -{ -public: - /** Table share. */ - static PFS_engine_table_share m_share; - static PFS_engine_table* create(); - static int write_row(TABLE *table, unsigned char *buf, Field **fields); - static int delete_all_rows(); - - virtual int rnd_next(); - virtual int rnd_pos(const void *pos); - virtual void reset_position(void); - -protected: - virtual int read_row_values(TABLE *table, - unsigned char *buf, - Field **fields, - bool read_all); - - virtual int update_row_values(TABLE *table, - const unsigned char *old_buf, - unsigned char *new_buf, - Field **fields); - - table_setup_objects(); - -public: - ~table_setup_objects() - {} - -private: - void make_row(PFS_table_share *share); - - /** Table share lock. */ - static THR_LOCK m_table_lock; - /** Fields definition. */ - static TABLE_FIELD_DEF m_field_def; - - /** Current row. */ - row_setup_objects m_row; - /** True is the current row exists. */ - bool m_row_exists; - /** Current position. */ - pos_setup_objects m_pos; - /** Next position. */ - pos_setup_objects m_next_pos; -}; - -/** @} */ -#endif diff --git a/storage/perfschema/table_processlist.cc b/storage/perfschema/table_threads.cc index 06c628c5f80..bba7806cab9 100644 --- a/storage/perfschema/table_processlist.cc +++ b/storage/perfschema/table_threads.cc @@ -14,17 +14,17 @@ 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ /** - @file storage/perfschema/table_processlist.cc - Table PROCESSLIST (implementation). + @file storage/perfschema/table_threads.cc + Table THREADS (implementation). */ #include "my_global.h" #include "my_pthread.h" -#include "table_processlist.h" +#include "table_threads.h" #include "pfs_instr_class.h" #include "pfs_instr.h" -THR_LOCK table_processlist::m_table_lock; +THR_LOCK table_threads::m_table_lock; static const TABLE_FIELD_TYPE field_types[]= { @@ -46,15 +46,15 @@ static const TABLE_FIELD_TYPE field_types[]= }; TABLE_FIELD_DEF -table_processlist::m_field_def= +table_threads::m_field_def= { 3, field_types }; PFS_engine_table_share -table_processlist::m_share= +table_threads::m_share= { - { C_STRING_WITH_LEN("PROCESSLIST") }, + { C_STRING_WITH_LEN("THREADS") }, &pfs_readonly_acl, - &table_processlist::create, + &table_threads::create, NULL, /* write_row */ NULL, /* delete_all_rows */ 1000, /* records */ @@ -64,23 +64,23 @@ table_processlist::m_share= false /* checked */ }; -PFS_engine_table* table_processlist::create(void) +PFS_engine_table* table_threads::create(void) { - return new table_processlist(); + return new table_threads(); } -table_processlist::table_processlist() +table_threads::table_threads() : PFS_engine_table(&m_share, &m_pos), m_row_exists(false), m_pos(0), m_next_pos(0) {} -void table_processlist::reset_position(void) +void table_threads::reset_position(void) { m_pos.m_index= 0; m_next_pos.m_index= 0; } -int table_processlist::rnd_next(void) +int table_threads::rnd_next(void) { PFS_thread *pfs; @@ -100,7 +100,7 @@ int table_processlist::rnd_next(void) return HA_ERR_END_OF_FILE; } -int table_processlist::rnd_pos(const void *pos) +int table_threads::rnd_pos(const void *pos) { PFS_thread *pfs; @@ -116,7 +116,7 @@ int table_processlist::rnd_pos(const void *pos) return HA_ERR_RECORD_DELETED; } -void table_processlist::make_row(PFS_thread *pfs) +void table_threads::make_row(PFS_thread *pfs) { pfs_lock lock; PFS_thread_class *safe_class; @@ -139,10 +139,10 @@ void table_processlist::make_row(PFS_thread *pfs) m_row_exists= true; } -int table_processlist::read_row_values(TABLE *table, - unsigned char *, - Field **fields, - bool read_all) +int table_threads::read_row_values(TABLE *table, + unsigned char *, + Field **fields, + bool read_all) { Field *f; diff --git a/storage/perfschema/table_processlist.h b/storage/perfschema/table_threads.h index d4fe5e4af1a..9df323f6d82 100644 --- a/storage/perfschema/table_processlist.h +++ b/storage/perfschema/table_threads.h @@ -13,12 +13,12 @@ along with this program; if not, write to the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ -#ifndef TABLE_PROCESSIST_H -#define TABLE_PROCESSIST_H +#ifndef TABLE_THREADS_H +#define TABLE_THREADS_H /** - @file storage/perfschema/table_processlist.h - Table PROCESSLIST (declarations). + @file storage/perfschema/table_threads.h + Table THREADS (declarations). */ #include "pfs_column_types.h" @@ -31,8 +31,8 @@ struct PFS_thread; @{ */ -/** A row of PERFORMANCE_SCHEMA.PROCESSLIST. */ -struct row_processlist +/** A row of PERFORMANCE_SCHEMA.THREADS. */ +struct row_threads { /** Column THREAD_ID. */ ulong m_thread_internal_id; @@ -44,8 +44,8 @@ struct row_processlist uint m_name_length; }; -/** Table PERFORMANCE_SCHEMA.PROCESSLIST. */ -class table_processlist : public PFS_engine_table +/** Table PERFORMANCE_SCHEMA.THREADS. */ +class table_threads : public PFS_engine_table { public: /** Table share. */ @@ -63,10 +63,10 @@ protected: bool read_all); protected: - table_processlist(); + table_threads(); public: - ~table_processlist() + ~table_threads() {} private: @@ -78,7 +78,7 @@ private: static TABLE_FIELD_DEF m_field_def; /** Current row. */ - row_processlist m_row; + row_threads m_row; /** True is the current row exists. */ bool m_row_exists; /** Current position. */ |