# 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 @save_dbug = @@SESSION.debug_dbug; SET debug_dbug='+d,row_merge_ins_spatial_fail'; --error ER_GET_ERRNO create spatial index idx2 on t1(c2); SET @@SESSION.debug_dbug = @save_dbug; 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;