mirror of
https://github.com/MariaDB/server.git
synced 2025-01-15 19:42:28 +01:00
97041acf7f
TokuDB testsuite makes use of includes not found in our default 10.0. Cherry pick them from Percona Server's include directory.
89 lines
3.8 KiB
PHP
89 lines
3.8 KiB
PHP
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=1 and id2= 1 $select_lock;
|
|
# read_range_first
|
|
--error ER_UNKNOWN_ERROR
|
|
eval select * from gap1 where id1=1 and id2= 1 and id3 != 1 $select_lock;
|
|
--error ER_UNKNOWN_ERROR
|
|
eval select * from gap1 where id1=1 and id2= 1 and id3
|
|
between 1 and 3 $select_lock;
|
|
--error ER_UNKNOWN_ERROR
|
|
eval select * from gap1 where id1=1 and id2= 1 order by id3 asc
|
|
limit 1 $select_lock;
|
|
--error ER_UNKNOWN_ERROR
|
|
eval select * from gap1 where id1=1 and 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 do not lock ranges or gaps of keys
|
|
eval select * from gap1 where id1=1 and id2=1 and id3=1 $select_lock;
|
|
eval select * from gap1 where id1=1 and id2=1 and id3 in (1, 2, 3) $select_lock;
|
|
eval select * from gap1 where id1=1 and id2=1 and id3=1 and 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 3 and 7 $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=1 and id2= 1 $select_lock;
|
|
eval select * from gap1 where id1=1 and id2= 1 and id3 != 1 $select_lock;
|
|
eval select * from gap1 where id1=1 and id2= 1 and id3
|
|
between 1 and 3 $select_lock;
|
|
eval select * from gap1 where id1=1 and id2= 1 order by id3 asc
|
|
limit 1 $select_lock;
|
|
eval select * from gap1 where id1=1 and 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=1 and id2=1 and id3=1 $select_lock;
|
|
eval select * from gap1 where id1=1 and id2=1 and id3 in (1, 2, 3) $select_lock;
|
|
eval select * from gap1 where id1=1 and id2=1 and id3=1 and 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 3 and 7 $select_lock;
|
|
}
|