eval set session autocommit=$autocommit;
let $is_gaplock_target = `SELECT @@autocommit = 0 && '$select_lock' != '' && '$expect_gap_lock_errors' = 1`;
if ($is_gaplock_target)
{
# rnd_init
--error ER_UNKNOWN_ERROR
eval select * from gap1 limit 1$select_lock;
--error ER_UNKNOWN_ERROR
eval select * from gap1 where value != 100 limit 1$select_lock;
# index_read_map
--error ER_UNKNOWN_ERROR
eval select * from gap1 where id1=1$select_lock;
--error ER_UNKNOWN_ERROR
eval select * from gap1 where id1=1and id2= 1$select_lock;
# read_range_first
--error ER_UNKNOWN_ERROR
eval select * from gap1 where id1=1and id2= 1and id3 != 1$select_lock;
--error ER_UNKNOWN_ERROR
eval select * from gap1 where id1=1and id2= 1and id3
between 1and3$select_lock;
--error ER_UNKNOWN_ERROR
eval select * from gap1 where id1=1and id2= 1 order by id3 asc
limit 1$select_lock;
--error ER_UNKNOWN_ERROR
eval select * from gap1 where id1=1and id2= 1 order by id3 desc
limit 1$select_lock;
# index_first
--error ER_UNKNOWN_ERROR
eval select * from gap1 order by id1 asc limit 1$select_lock;
--error ER_UNKNOWN_ERROR
eval select * from gap1 order by id1 asc, id2 asc, id3 asc limit 1$select_lock;
# index_last
--error ER_UNKNOWN_ERROR
eval select * from gap1 order by id1 desc limit 1$select_lock;
--error ER_UNKNOWN_ERROR
eval select * from gap1 order by id1 desc, id2 desc, id3 desc
limit 1$select_lock;
# secondary index lookup
--error ER_UNKNOWN_ERROR
eval select * from gap1 force index(i) where c1=1$select_lock;
# unique index lookup, ensure no gap lock errors as this is effectively a
# single point select that does not lock ranges or gaps of keys
eval select * from gap3 force index(ui) where value=1$select_lock;
# primary key lookup, ensure no gap lock errors as these are effectively
# single point selects that donot lock ranges or gaps of keys
eval select * from gap1 where id1=1and id2=1and id3=1$select_lock;
eval select * from gap1 where id1=1and id2=1and id3 in (1, 2, 3) $select_lock;
eval select * from gap1 where id1=1and id2=1and id3=1and value=1
order by c1 $select_lock;
eval select * from gap3 where id=1$select_lock;
eval select * from gap4 where id=1$select_lock;
eval select * from gap4 where id in (1, 2, 3) $select_lock;
--error ER_UNKNOWN_ERROR
eval select * from gap4 $select_lock;
--error ER_UNKNOWN_ERROR
eval select * from gap4 where id between 3and7$select_lock;
}
if (!$is_gaplock_target)
{
eval select * from gap1 limit 1$select_lock;
eval select * from gap1 where value != 100 limit 1$select_lock;
eval select * from gap1 where id1=1$select_lock;
eval select * from gap1 where id1=1and id2= 1$select_lock;
eval select * from gap1 where id1=1and id2= 1and id3 != 1$select_lock;
eval select * from gap1 where id1=1and id2= 1and id3
between 1and3$select_lock;
eval select * from gap1 where id1=1and id2= 1 order by id3 asc
limit 1$select_lock;
eval select * from gap1 where id1=1and id2= 1 order by id3 desc
limit 1$select_lock;
eval select * from gap1 order by id1 asc limit 1$select_lock;
eval select * from gap1 order by id1 asc, id2 asc, id3 asc limit 1$select_lock;
eval select * from gap1 order by id1 desc limit 1$select_lock;
eval select * from gap1 order by id1 desc, id2 desc, id3 desc
limit 1$select_lock;
eval select * from gap1 force index(i) where c1=1$select_lock;
eval select * from gap3 force index(ui) where value=1$select_lock;
eval select * from gap1 where id1=1and id2=1and id3=1$select_lock;
eval select * from gap1 where id1=1and id2=1and id3 in (1, 2, 3) $select_lock;
eval select * from gap1 where id1=1and id2=1and id3=1and value=1
order by c1 $select_lock;
eval select * from gap3 where id=1$select_lock;
eval select * from gap4 where id=1$select_lock;
eval select * from gap4 where id in (1, 2, 3) $select_lock;
eval select * from gap4 $select_lock;
eval select * from gap4 where id between 3and7$select_lock;
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.2 Sekunden
(vorverarbeitet am 2026-10-08)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.