1
0
mirror of https://github.com/MariaDB/server.git synced 2025-10-21 08:47:42 +03:00
Files
mariadb/mysql-test/suite/perfschema/r/selects.result
Matthias Leich 8f52b41d4c Bug#53102 perfschema.pfs_upgrade fails on sol10 sparc64 max in parallel mode
The reason for the bug above is unclear but
- Modify pfs_upgrade so that it's result is easier to analyze in case something fails
- Fix several minor weaknesses which could cause that a successing test (either an
  already existing or a to be developed one) fails because of imperfect cleanup,
  too slow disconnected sessions etc.
should either fix the bug or reduce it's probability or at least
make the analysis of failures easier.

mysql-test/suite/perfschema/include/upgrade_check.inc:
  New include file which contains redundant stuff taken from pfs_upgrade.test.
  Remove any file which might harm analysis of suspicious results.
mysql-test/suite/perfschema/r/query_cache.result:
  Updated results
mysql-test/suite/perfschema/r/selects.result:
  Updated results
mysql-test/suite/perfschema/t/bad_option_1.test:
  Add the missing remove_file at beginning and end of test.
mysql-test/suite/perfschema/t/bad_option_2.test:
  Add the missing remove_file at beginning and end of test.
mysql-test/suite/perfschema/t/global_read_lock.test:
  Add a wait routine which ensures that the disconnect is really completed when the test ends.
mysql-test/suite/perfschema/t/pfs_upgrade.test:
  - Move redundant actions to include/upgrade_check.inc
  - Add preemptive removal of files
mysql-test/suite/perfschema/t/privilege.test:
  Add a wait routine which ensures that the disconnect is really completed when the test ends.
mysql-test/suite/perfschema/t/query_cache.test:
  Add "flush status" so that counters are reset. (./mtr --repeat=2 perfschema.query_cache failed)
mysql-test/suite/perfschema/t/read_only.test:
  Add a wait routine which ensures that the disconnect is really completed when the test ends.
mysql-test/suite/perfschema/t/selects-master.opt:
  Needed for running with enabled event-scheduler
mysql-test/suite/perfschema/t/selects.test:
  - Correct the sub test for the EVENT scheduler
  - Replace "sleep" by wait_routine
  - Add premptive cleanups like "DROP ... IF EXISTS ..."
2010-07-20 21:15:29 +02:00

111 lines
3.4 KiB
Plaintext

UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'YES', timed = 'YES';
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);
SELECT OPERATION, SUM(NUMBER_OF_BYTES) AS TOTAL
FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
GROUP BY OPERATION
HAVING TOTAL IS NOT NULL
ORDER BY OPERATION
LIMIT 1;
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)
AND EVENT_NAME IN
(SELECT NAME FROM performance_schema.SETUP_INSTRUMENTS
WHERE NAME LIKE "wait/synch/%")
LIMIT 1;
EVENT_ID
[EVENT_ID]
SELECT DISTINCT EVENT_ID
FROM performance_schema.EVENTS_WAITS_CURRENT
JOIN performance_schema.EVENTS_WAITS_HISTORY USING (EVENT_ID)
JOIN performance_schema.EVENTS_WAITS_HISTORY_LONG USING (EVENT_ID)
ORDER BY EVENT_ID
LIMIT 1;
EVENT_ID
[EVENT_ID]
SELECT t1.THREAD_ID, t2.EVENT_ID, t3.EVENT_NAME, t4.TIMER_WAIT
FROM performance_schema.EVENTS_WAITS_HISTORY t1
JOIN performance_schema.EVENTS_WAITS_HISTORY t2 USING (EVENT_ID)
JOIN performance_schema.EVENTS_WAITS_HISTORY t3 ON (t2.THREAD_ID = t3.THREAD_ID)
JOIN performance_schema.EVENTS_WAITS_HISTORY t4 ON (t3.EVENT_NAME = t4.EVENT_NAME)
ORDER BY t1.EVENT_ID, t2.EVENT_ID
LIMIT 5;
THREAD_ID EVENT_ID EVENT_NAME TIMER_WAIT
[THREAD_ID] [EVENT_ID] [EVENT_NAME] [TIMER_WAIT]
[THREAD_ID] [EVENT_ID] [EVENT_NAME] [TIMER_WAIT]
[THREAD_ID] [EVENT_ID] [EVENT_NAME] [TIMER_WAIT]
[THREAD_ID] [EVENT_ID] [EVENT_NAME] [TIMER_WAIT]
[THREAD_ID] [EVENT_ID] [EVENT_NAME] [TIMER_WAIT]
SELECT THREAD_ID, EVENT_ID FROM (
SELECT THREAD_ID, EVENT_ID FROM performance_schema.EVENTS_WAITS_CURRENT
UNION
SELECT THREAD_ID, EVENT_ID FROM performance_schema.EVENTS_WAITS_HISTORY
UNION
SELECT THREAD_ID, EVENT_ID FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
) t1 ORDER BY THREAD_ID, EVENT_ID
LIMIT 5;
THREAD_ID EVENT_ID
[THREAD_ID] [EVENT_ID]
[THREAD_ID] [EVENT_ID]
[THREAD_ID] [EVENT_ID]
[THREAD_ID] [EVENT_ID]
[THREAD_ID] [EVENT_ID]
DROP TABLE IF EXISTS t_event;
DROP EVENT IF EXISTS t_ps_event;
CREATE TABLE t_event AS
SELECT EVENT_ID FROM performance_schema.EVENTS_WAITS_CURRENT
WHERE 1 = 2;
CREATE EVENT t_ps_event
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 SECOND
DO INSERT INTO t_event
SELECT DISTINCT EVENT_ID
FROM performance_schema.EVENTS_WAITS_CURRENT
JOIN performance_schema.EVENTS_WAITS_HISTORY USING (EVENT_ID)
ORDER BY EVENT_ID
LIMIT 1;
ALTER TABLE t1 ADD COLUMN c INT;
DROP TRIGGER IF EXISTS t_ps_trigger;
CREATE TRIGGER t_ps_trigger BEFORE INSERT ON t1
FOR EACH ROW BEGIN
SET NEW.c = (SELECT MAX(EVENT_ID)
FROM performance_schema.EVENTS_WAITS_CURRENT);
END;
|
INSERT INTO t1 (id) VALUES (11), (12), (13);
SELECT id, c FROM t1 WHERE id > 10 ORDER BY c;
id c
11 [EVENT_ID]
12 [EVENT_ID]
13 [EVENT_ID]
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
WHERE THREAD_ID = tid INTO pid;
END;
|
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
WHERE THREAD_ID = tid);
END;
|
SELECT t_ps_func(0) = @p_id;
t_ps_func(0) = @p_id
1
SELECT * FROM t_event;
EVENT_ID
[EVENT_ID]
DROP PROCEDURE t_ps_proc;
DROP FUNCTION t_ps_func;
DROP TABLE t1;
DROP TABLE t_event;