Current Path : /home/usr.opt/mysql57/mysql-test/suite/innodb_gis/t/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : /home/usr.opt/mysql57/mysql-test/suite/innodb_gis/t/rtree_recovery.test |
# WL#6745 InnoDB R-tree support # This test case test R-tree crash/recovery. # Restart is not supported in embedded --source include/not_embedded.inc --source include/have_innodb.inc --source include/no_valgrind_without_big.inc # Do a clean shutdown and restart so that the redo log is cleaned up from previous tests. --source include/restart_mysqld.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)); set i = i + 1; end while; end| delimiter ;| # Update values delimiter |; create procedure update_t1(IN total int) begin declare i int default 1; while (i <= total) DO update t1 set c2 = Point(i + 10000, i + 10000) where c2 = Point(i, i); set i = i + 1; end while; end| delimiter ;| # Test crash recovery. # # Test level 1 rtree. CALL insert_t1(367); COMMIT; --source include/kill_and_restart_mysqld.inc # Check table. check table t1; # Clean up. drop table t1; # Test crash recovery on point spatial index. create table t1 (c1 int, c2 point not null, spatial index (c2))engine=innodb; # Some DML on point spatial index. CALL insert_t1(367); CALL update_t1(367); SET @poly1 = ST_GeomFromText('POLYGON((10000 10000, 10000 10350, 10350 10350, 10350 10000, 10000 10000))'); delete from t1 where ST_Contains(@poly1, c2); COMMIT; --source include/kill_and_restart_mysqld.inc # Check table. check table t1; select count(*) from t1; select c1, ST_astext(c2) from t1; # Clean up. drop procedure insert_t1; drop procedure update_t1; drop table t1;