mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 02:46:29 +01:00 
			
		
		
		
	 21560bee9d
			
		
	
	
	21560bee9d
	
	
	
		
			
			This reverts commit569da6a7ba, commit768a736174, and commitba6bf7ad9ebecause of a regression that was filed as MDEV-33104.
		
			
				
	
	
		
			70 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| # Performance schema tests, for SX-lock
 | |
| # Note that only Innodb provides instrumented SX-locks,
 | |
| # so this test depends largely on the innodb instrumentation.
 | |
| 
 | |
| --source include/not_embedded.inc
 | |
| --source include/have_perfschema.inc
 | |
| --source include/have_innodb.inc
 | |
| 
 | |
| UPDATE performance_schema.setup_instruments SET enabled = 'NO', timed = 'YES';
 | |
| 
 | |
| UPDATE performance_schema.setup_instruments SET enabled = 'YES'
 | |
| WHERE name like 'wait/synch/sxlock/%';
 | |
| 
 | |
| UPDATE performance_schema.setup_instruments SET enabled = 'YES'
 | |
| WHERE name like 'wait/synch/rwlock/innodb/%';
 | |
| 
 | |
| SELECT DISTINCT name FROM performance_schema.setup_instruments
 | |
| WHERE name LIKE 'wait/synch/rwlock/innodb/%'
 | |
| AND name!='wait/synch/rwlock/innodb/btr_search_latch' ORDER BY name;
 | |
| 
 | |
| TRUNCATE TABLE performance_schema.events_waits_history_long;
 | |
| TRUNCATE TABLE performance_schema.events_waits_history;
 | |
| TRUNCATE TABLE performance_schema.events_waits_current;
 | |
| 
 | |
| # Check some SX-locks classes are instrumented
 | |
| select name from performance_schema.setup_instruments
 | |
| where name like "wait/synch/sxlock/%" order by name;
 | |
| 
 | |
| # Check some SX-locks instances are instrumented
 | |
| SELECT DISTINCT name FROM performance_schema.rwlock_instances
 | |
| WHERE name LIKE 'wait/synch/sxlock/innodb/%'
 | |
| ORDER BY name;
 | |
| 
 | |
| # Some Innodb payload, to produce data
 | |
| 
 | |
| create table t1(a int) engine=innodb;
 | |
| begin;
 | |
| insert into t1 values (1), (2), (3);
 | |
| insert into t1 values (1), (2), (3);
 | |
| insert into t1 values (1), (2), (3);
 | |
| commit;
 | |
| drop table t1;
 | |
| 
 | |
| # Make sure some rw-lock operations have been executed
 | |
| # (there will only occasionally be waits on some rw-locks)
 | |
| 
 | |
| SELECT DISTINCT event_name FROM performance_schema.events_waits_history_long
 | |
| WHERE event_name LIKE 'wait/synch/rwlock/innodb/%'
 | |
| AND event_name NOT IN
 | |
| ('wait/synch/rwlock/innodb/btr_search_latch',
 | |
|  'wait/synch/rwlock/innodb/dict_operation_lock',
 | |
|  'wait/synch/rwlock/innodb/trx_rseg_latch',
 | |
|  'wait/synch/rwlock/innodb/trx_purge_latch')
 | |
| ORDER BY event_name;
 | |
| 
 | |
| # Make sure some shared_lock operations have been executed
 | |
| 
 | |
| SELECT event_name FROM performance_schema.events_waits_history_long
 | |
| WHERE event_name = 'wait/synch/sxlock/innodb/index_tree_rw_lock'
 | |
| AND operation IN ('try_shared_lock','shared_lock') LIMIT 1;
 | |
| 
 | |
| # Make sure some exclusive_lock operations have been executed
 | |
| 
 | |
| SELECT event_name from performance_schema.events_waits_history_long
 | |
| WHERE event_name = 'wait/synch/sxlock/innodb/index_tree_rw_lock'
 | |
| AND operation IN ('try_exclusive_lock','exclusive_lock') LIMIT 1;
 | |
| 
 | |
| # Cleanup
 | |
| 
 | |
| UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES';
 |