mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Bug#57609 performance_schema does not work with lower_case_table_names
Before this fix, the performance schema tables were defined in UPPERCASE. This was incompatible with the lowercase_table_names option, and caused issues with the install / upgrade process, when changing the lower case table names setting *after* the install or upgrade. With this fix, all performance schema tables are exposed with lowercase names. As a result, the name of the performance schema table is always lowercase, no matter how / if / when the lowercase_table_names setting if changed.
This commit is contained in:
@ -1,18 +1,18 @@
|
||||
UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'NO', timed = 'YES';
|
||||
UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'YES'
|
||||
UPDATE performance_schema.setup_instruments SET enabled = 'NO', timed = 'YES';
|
||||
UPDATE performance_schema.setup_instruments SET enabled = 'YES'
|
||||
WHERE name LIKE 'wait/io/file/%';
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1 (id INT PRIMARY KEY, b CHAR(100) DEFAULT 'initial value')
|
||||
ENGINE=MyISAM;
|
||||
INSERT INTO t1 (id) VALUES (1), (2), (3), (4), (5), (6), (7), (8);
|
||||
TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY_LONG;
|
||||
TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY;
|
||||
TRUNCATE TABLE performance_schema.EVENTS_WAITS_CURRENT;
|
||||
TRUNCATE TABLE performance_schema.events_waits_history_long;
|
||||
TRUNCATE TABLE performance_schema.events_waits_history;
|
||||
TRUNCATE TABLE performance_schema.events_waits_current;
|
||||
SELECT * FROM t1 WHERE id = 1;
|
||||
id b
|
||||
1 initial value
|
||||
SET @before_count = (SELECT SUM(TIMER_WAIT)
|
||||
FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
|
||||
FROM performance_schema.events_waits_history_long
|
||||
WHERE (EVENT_NAME = 'wait/io/file/myisam/dfile')
|
||||
AND (OBJECT_NAME LIKE '%t1.MYD'));
|
||||
SELECT IF(@before_count > 0, 'Success', 'Failure') has_instrumentation;
|
||||
@ -24,15 +24,15 @@ id b
|
||||
2 initial value
|
||||
3 initial value
|
||||
SET @after_count = (SELECT SUM(TIMER_WAIT)
|
||||
FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
|
||||
FROM performance_schema.events_waits_history_long
|
||||
WHERE (EVENT_NAME = 'wait/io/file/myisam/dfile')
|
||||
AND (OBJECT_NAME LIKE '%t1.MYD') AND (1 = 1));
|
||||
SELECT IF((@after_count - @before_count) > 0, 'Success', 'Failure') test_ff1_timed;
|
||||
test_ff1_timed
|
||||
Success
|
||||
UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled='NO';
|
||||
UPDATE performance_schema.setup_instruments SET enabled='NO';
|
||||
SET @before_count = (SELECT SUM(TIMER_WAIT)
|
||||
FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
|
||||
FROM performance_schema.events_waits_history_long
|
||||
WHERE (EVENT_NAME = 'wait/io/file/myisam/dfile')
|
||||
AND (OBJECT_NAME LIKE '%t1.MYD') AND (2 = 2));
|
||||
SELECT * FROM t1 WHERE id < 6;
|
||||
@ -43,40 +43,40 @@ id b
|
||||
4 initial value
|
||||
5 initial value
|
||||
SET @after_count = (SELECT SUM(TIMER_WAIT)
|
||||
FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
|
||||
FROM performance_schema.events_waits_history_long
|
||||
WHERE (EVENT_NAME = 'wait/io/file/myisam/dfile')
|
||||
AND (OBJECT_NAME LIKE '%t1.MYD') AND (3 = 3));
|
||||
SELECT IF((COALESCE(@after_count, 0) - COALESCE(@before_count, 0)) = 0, 'Success', 'Failure') test_ff2_timed;
|
||||
test_ff2_timed
|
||||
Success
|
||||
UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'YES'
|
||||
UPDATE performance_schema.setup_instruments SET enabled = 'YES'
|
||||
WHERE name LIKE 'wait/io/file/%';
|
||||
UPDATE performance_schema.SETUP_INSTRUMENTS SET timed = 'NO';
|
||||
TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY_LONG;
|
||||
TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY;
|
||||
TRUNCATE TABLE performance_schema.EVENTS_WAITS_CURRENT;
|
||||
UPDATE performance_schema.setup_instruments SET timed = 'NO';
|
||||
TRUNCATE TABLE performance_schema.events_waits_history_long;
|
||||
TRUNCATE TABLE performance_schema.events_waits_history;
|
||||
TRUNCATE TABLE performance_schema.events_waits_current;
|
||||
SELECT * FROM t1 WHERE id > 4;
|
||||
id b
|
||||
5 initial value
|
||||
6 initial value
|
||||
7 initial value
|
||||
8 initial value
|
||||
SELECT * FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
|
||||
SELECT * FROM performance_schema.events_waits_history_long
|
||||
WHERE TIMER_WAIT != NULL
|
||||
OR TIMER_START != NULL
|
||||
OR TIMER_END != NULL;
|
||||
THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
|
||||
SELECT * FROM performance_schema.EVENTS_WAITS_HISTORY
|
||||
SELECT * FROM performance_schema.events_waits_history
|
||||
WHERE TIMER_WAIT != NULL
|
||||
OR TIMER_START != NULL
|
||||
OR TIMER_END != NULL;
|
||||
THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
|
||||
SELECT * FROM performance_schema.EVENTS_WAITS_CURRENT
|
||||
SELECT * FROM performance_schema.events_waits_current
|
||||
WHERE TIMER_WAIT != NULL
|
||||
OR TIMER_START != NULL
|
||||
OR TIMER_END != NULL;
|
||||
THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
|
||||
UPDATE performance_schema.SETUP_INSTRUMENTS SET timed = 'YES';
|
||||
UPDATE performance_schema.setup_instruments SET timed = 'YES';
|
||||
SELECT * FROM t1 WHERE id < 4;
|
||||
id b
|
||||
1 initial value
|
||||
@ -87,16 +87,16 @@ SELECT SUM(COUNT_READ) AS sum_count_read,
|
||||
SUM(COUNT_WRITE) AS sum_count_write,
|
||||
SUM(SUM_NUMBER_OF_BYTES_READ) AS sum_num_bytes_read,
|
||||
SUM(SUM_NUMBER_OF_BYTES_WRITE) AS sum_num_bytes_write
|
||||
FROM performance_schema.FILE_SUMMARY_BY_INSTANCE
|
||||
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_GLOBAL_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 h.EVENT_NAME, SUM(h.TIMER_WAIT) TOTAL_WAIT
|
||||
FROM performance_schema.EVENTS_WAITS_HISTORY_LONG h
|
||||
INNER JOIN performance_schema.THREADS p USING (THREAD_ID)
|
||||
FROM performance_schema.events_waits_history_long h
|
||||
INNER JOIN performance_schema.threads p USING (THREAD_ID)
|
||||
WHERE p.PROCESSLIST_ID = 1
|
||||
GROUP BY h.EVENT_NAME
|
||||
HAVING TOTAL_WAIT > 0;
|
||||
|
Reference in New Issue
Block a user