mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
MDEV-13626: Merge InnoDB test cases from MySQL 5.7
Add missing innodb_gis tests.
This commit is contained in:
73
mysql-test/suite/innodb_gis/t/rtree_debug.test
Normal file
73
mysql-test/suite/innodb_gis/t/rtree_debug.test
Normal file
@ -0,0 +1,73 @@
|
||||
# WL#6745 InnoDB R-tree support
|
||||
# This test case will test R-tree multi level split.
|
||||
|
||||
--source include/have_innodb.inc
|
||||
--source include/big_test.inc
|
||||
--source include/not_valgrind.inc
|
||||
--source include/have_debug.inc
|
||||
|
||||
# Create table with R-tree index.
|
||||
create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb;
|
||||
|
||||
# Insert enough values to let R-tree split.
|
||||
delimiter |;
|
||||
create procedure insert_t1(IN total int)
|
||||
begin
|
||||
declare i int default 1;
|
||||
while (i <= total) DO
|
||||
insert into t1 values
|
||||
(i, Point(i, i)),
|
||||
(i + 1, Point(i + 1, i + 1)),
|
||||
(i + 2, Point(i + 2, i + 2)),
|
||||
(i + 3, Point(i + 3, i + 3)),
|
||||
(i + 4, Point(i + 4, i + 4)),
|
||||
(i + 5, Point(i + 5, i + 5)),
|
||||
(i + 6, Point(i + 6, i + 6)),
|
||||
(i + 7, Point(i + 7, i + 7)),
|
||||
(i + 8, Point(i + 8, i + 8)),
|
||||
(i + 9, Point(i + 9, i + 9));
|
||||
set i = i + 10;
|
||||
end while;
|
||||
end|
|
||||
delimiter ;|
|
||||
|
||||
# Test level 1 rtree.
|
||||
CALL insert_t1(5000);
|
||||
select count(*) from t1;
|
||||
|
||||
# Check table.
|
||||
check table t1;
|
||||
|
||||
# Test level 2 rtree.
|
||||
truncate table t1;
|
||||
CALL insert_t1(10000);
|
||||
select count(*) from t1;
|
||||
|
||||
drop index c2 on t1;
|
||||
|
||||
create spatial index idx on t1(c2);
|
||||
|
||||
show create table t1;
|
||||
|
||||
SET DEBUG='+d,row_merge_ins_spatial_fail';
|
||||
--error ER_GET_ERRNO
|
||||
create spatial index idx2 on t1(c2);
|
||||
SET DEBUG='-d,row_merge_ins_spatial_fail';
|
||||
show create table t1;
|
||||
|
||||
# Check table.
|
||||
check table t1;
|
||||
|
||||
# Test level 3 rtree.
|
||||
truncate table t1;
|
||||
CALL insert_t1(100000);
|
||||
select count(*) from t1;
|
||||
|
||||
# Check table.
|
||||
check table t1;
|
||||
|
||||
truncate table t1;
|
||||
|
||||
# Clean up.
|
||||
drop procedure insert_t1;
|
||||
drop table t1;
|
Reference in New Issue
Block a user