summaryrefslogtreecommitdiffstats
path: root/mysql-test/suite/innodb_gis/t/rtree_compress.test
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 18:00:34 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 18:00:34 +0000
commit3f619478f796eddbba6e39502fe941b285dd97b1 (patch)
treee2c7b5777f728320e5b5542b6213fd3591ba51e2 /mysql-test/suite/innodb_gis/t/rtree_compress.test
parentInitial commit. (diff)
downloadmariadb-upstream.tar.xz
mariadb-upstream.zip
Adding upstream version 1:10.11.6.upstream/1%10.11.6upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'mysql-test/suite/innodb_gis/t/rtree_compress.test')
-rw-r--r--mysql-test/suite/innodb_gis/t/rtree_compress.test60
1 files changed, 60 insertions, 0 deletions
diff --git a/mysql-test/suite/innodb_gis/t/rtree_compress.test b/mysql-test/suite/innodb_gis/t/rtree_compress.test
new file mode 100644
index 00000000..e667ec8e
--- /dev/null
+++ b/mysql-test/suite/innodb_gis/t/rtree_compress.test
@@ -0,0 +1,60 @@
+# WL#6745 InnoDB R-tree support
+# This test case will test R-tree split.
+
+# Not supported in embedded
+--source include/not_embedded.inc
+
+--source include/innodb_page_size_small.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
+
+create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb ROW_FORMAT=COMPRESSED;
+
+# Insert enough values to let R-tree split.
+insert into t1 values(1, Point(1,1));
+insert into t1 values(2, Point(2,2));
+insert into t1 values(3, Point(3,3));
+insert into t1 values(4, Point(4,4));
+insert into t1 values(5, Point(5,5));
+insert into t1 values(6, Point(6,6));
+insert into t1 values(7, Point(7,7));
+insert into t1 values(8, Point(8,8));
+insert into t1 values(9, Point(9,9));
+
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+start transaction;
+insert into t1 select * from t1;
+select count(*) from t1;
+rollback;
+
+check table t1;
+
+select count(*) from t1;
+
+set @g1 = ST_GeomFromText('Polygon((0 0,0 100,100 100,100 0,0 0))');
+select count(*) from t1 where MBRWithin(t1.c2, @g1);
+
+set @g1 = ST_GeomFromText('Polygon((10 10,10 800,800 800,800 10,10 10))');
+select count(*) from t1 where MBRWithin(t1.c2, @g1);
+
+SET @saved_dbug = @@SESSION.debug_dbug;
+SET DEBUG='+d,page_copy_rec_list_start_compress_fail';
+delete from t1;
+select count(*) from t1 where MBRWithin(t1.c2, @g1);
+SET debug_dbug = @saved_dbug;
+
+--source ../../innodb/include/wait_all_purged.inc
+
+# Clean up.
+drop table t1;