summaryrefslogtreecommitdiff
path: root/mysql-test/suite/innodb_gis/t/rtree_purge.test
blob: 86a1ecb88da7845875faea734ef44cfbcd233956 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# This test case will test R-tree purge.

# Not supported in embedded
--source include/not_embedded.inc

--source include/have_innodb.inc
--source include/have_innodb_zip.inc
--source include/have_debug.inc
--source include/big_test.inc
# Valgrind takes too much time on PB2 even in the --big-test runs.
--source include/not_valgrind.inc

# Temporarily disable it for 4k page size. Since it'll take too long
# time.
--disable_warnings
if (`SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE LOWER(variable_name) = 'innodb_page_size' AND variable_value = 4096`)
{
  --skip Test requires InnoDB with not 4k Page size.
}
--enable_warnings

create table t (
  a point not null,b point not null,c point,
  d point not null,e point,f point,
  spatial key (d),spatial key (b)
) engine=innodb;

delimiter |;
create procedure p(i int)
begin
  declare n int default 0;
  declare continue handler for sqlexception begin end;
  delete from t;
  repeat
    set @p=point(1,1);
    insert into t values(@p,@p,@p,@p,@p,@p);
    insert into t values(@p,@p,@p,@p,@p,@p);
    insert into t select @p,@p,@p,@p,@p,@p
    from t a,t b,t c,t d,t e,t f,t g,t h,t i,t j;
    delete from t;
    set n:=n+1;
  until n >= i end repeat;
end|
delimiter ;|

call p(200);

--source include/wait_all_purged.inc

# Clean up.
drop procedure p;
drop table t;