In debug builds, let us declare dict_sys.latch as index_lock instead of srw_lock, so that we will benefit from the full tracking of lock ownership. lock_table_for_trx(): Assert that the current thread is not holding dict_sys.latch. If the dict_sys.unfreeze() call were moved to the end of lock_table_children(), this assertion would fail in the test innodb.innodb and many other tests that use FOREIGN KEY.
22 lines
803 B
Text
22 lines
803 B
Text
@@ -7,7 +7,6 @@
|
|
WHERE name LIKE 'wait/synch/rwlock/innodb/%'
|
|
AND name!='wait/synch/rwlock/innodb/btr_search_latch' ORDER BY name;
|
|
name
|
|
-wait/synch/rwlock/innodb/dict_operation_lock
|
|
wait/synch/rwlock/innodb/fil_space_latch
|
|
wait/synch/rwlock/innodb/lock_latch
|
|
wait/synch/rwlock/innodb/trx_i_s_cache_lock
|
|
@@ -19,11 +18,13 @@
|
|
select name from performance_schema.setup_instruments
|
|
where name like "wait/synch/sxlock/%" order by name;
|
|
name
|
|
+wait/synch/sxlock/innodb/dict_operation_lock
|
|
wait/synch/sxlock/innodb/index_tree_rw_lock
|
|
SELECT DISTINCT name FROM performance_schema.rwlock_instances
|
|
WHERE name LIKE 'wait/synch/sxlock/innodb/%'
|
|
ORDER BY name;
|
|
name
|
|
+wait/synch/sxlock/innodb/dict_operation_lock
|
|
wait/synch/sxlock/innodb/index_tree_rw_lock
|
|
create table t1(a int) engine=innodb;
|
|
begin;
|