summaryrefslogtreecommitdiff
path: root/mysql-test/suite/innodb_gis
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2022-09-13 16:36:38 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2022-09-13 16:36:38 +0300
commit18795f55122b04cb5c9ea19498b720735b80714b (patch)
tree1a749eeaaabaa86e9b755cef817a6267a6b59960 /mysql-test/suite/innodb_gis
parent9a8faeea142ea6f575419799c9439f4673971573 (diff)
parent68ce0231ad6a16e02db9d67a217a88055b6d01ff (diff)
downloadmariadb-git-18795f55122b04cb5c9ea19498b720735b80714b.tar.gz
Merge 10.3 into 10.4
Diffstat (limited to 'mysql-test/suite/innodb_gis')
-rw-r--r--mysql-test/suite/innodb_gis/r/0.result2
-rw-r--r--mysql-test/suite/innodb_gis/r/1.result2
-rw-r--r--mysql-test/suite/innodb_gis/r/alter_spatial_index.result40
-rw-r--r--mysql-test/suite/innodb_gis/r/create_spatial_index.result2
-rw-r--r--mysql-test/suite/innodb_gis/r/geometry.result10
-rw-r--r--mysql-test/suite/innodb_gis/r/gis.result2
-rw-r--r--mysql-test/suite/innodb_gis/r/innodb_gis_rtree.result4
-rw-r--r--mysql-test/suite/innodb_gis/r/kill_server.result2
-rw-r--r--mysql-test/suite/innodb_gis/r/point_basic.result14
-rw-r--r--mysql-test/suite/innodb_gis/r/rt_precise.result4
-rw-r--r--mysql-test/suite/innodb_gis/r/rtree.result2
-rw-r--r--mysql-test/suite/innodb_gis/r/rtree_debug.result4
-rw-r--r--mysql-test/suite/innodb_gis/r/rtree_multi_pk.result2
-rw-r--r--mysql-test/suite/innodb_gis/r/rtree_split.result2
-rw-r--r--mysql-test/suite/innodb_gis/r/rtree_temporary.result10
-rw-r--r--mysql-test/suite/innodb_gis/r/types.result2
-rw-r--r--mysql-test/suite/innodb_gis/t/alter_spatial_index.test14
-rw-r--r--mysql-test/suite/innodb_gis/t/rtree_temporary.test13
18 files changed, 89 insertions, 42 deletions
diff --git a/mysql-test/suite/innodb_gis/r/0.result b/mysql-test/suite/innodb_gis/r/0.result
index 6dd2cd16437..c9864fad830 100644
--- a/mysql-test/suite/innodb_gis/r/0.result
+++ b/mysql-test/suite/innodb_gis/r/0.result
@@ -14,7 +14,7 @@ gis_point CREATE TABLE `gis_point` (
`fid` int(11) NOT NULL AUTO_INCREMENT,
`g` point DEFAULT NULL,
PRIMARY KEY (`fid`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
SHOW FIELDS FROM gis_point;
Field Type Null Key Default Extra
fid int(11) NO PRI NULL auto_increment
diff --git a/mysql-test/suite/innodb_gis/r/1.result b/mysql-test/suite/innodb_gis/r/1.result
index b881777edec..bce3f994696 100644
--- a/mysql-test/suite/innodb_gis/r/1.result
+++ b/mysql-test/suite/innodb_gis/r/1.result
@@ -580,7 +580,7 @@ show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`ST_GeomFromWKB(POINT(1,3))` geometry DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
drop table t1;
SET sql_mode = 'NO_ENGINE_SUBSTITUTION';
CREATE TABLE `t1` (`object_id` bigint(20) unsigned NOT NULL default '0', `geo`
diff --git a/mysql-test/suite/innodb_gis/r/alter_spatial_index.result b/mysql-test/suite/innodb_gis/r/alter_spatial_index.result
index ae7f8c08d45..ab530328acd 100644
--- a/mysql-test/suite/innodb_gis/r/alter_spatial_index.result
+++ b/mysql-test/suite/innodb_gis/r/alter_spatial_index.result
@@ -128,7 +128,7 @@ tab CREATE TABLE `tab` (
SPATIAL KEY `idx4` (`c4`) COMMENT 'testing spatial index on Polygon',
SPATIAL KEY `idx5` (`c5`) COMMENT 'testing spatial index on Geometry',
KEY `idx6` (`c4`(10)) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
SHOW INDEX FROM tab;
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
tab 0 PRIMARY 1 c1 A # NULL NULL BTREE
@@ -172,7 +172,7 @@ tab CREATE TABLE `tab` (
SPATIAL KEY `idx4` (`c44`) COMMENT 'testing spatial index on Polygon',
SPATIAL KEY `idx5` (`c5`) COMMENT 'testing spatial index on Geometry',
KEY `idx6` (`c44`(10)) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
SHOW INDEX FROM tab;
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
tab 0 PRIMARY 1 c1 A # NULL NULL BTREE
@@ -204,7 +204,7 @@ tab CREATE TABLE `tab` (
SPATIAL KEY `idx4` (`c4`) COMMENT 'testing spatial index on Polygon',
SPATIAL KEY `idx5` (`c5`) COMMENT 'testing spatial index on Geometry',
KEY `idx6` (`c4`(10)) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
SHOW INDEX FROM tab;
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
tab 0 PRIMARY 1 c1 A # NULL NULL BTREE
@@ -261,7 +261,7 @@ tab CREATE TABLE `tab` (
`c4` polygon NOT NULL,
`c5` geometry NOT NULL,
PRIMARY KEY (`c2`(25))
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
CHECK TABLE tab;
Table Op Msg_type Msg_text
test.tab check status OK
@@ -314,7 +314,7 @@ temp_tab CREATE TEMPORARY TABLE `temp_tab` (
SPATIAL KEY `idx3` (`c3`),
SPATIAL KEY `idx4` (`c4`),
SPATIAL KEY `idx5` (`c5`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
SET @g1 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))');
SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM temp_tab WHERE MBRContains(temp_tab.c4, @g1) ORDER BY c1;
c1 ST_Astext(c2) ST_Astext(c4)
@@ -333,7 +333,7 @@ tab CREATE TABLE `tab` (
`c3` linestring NOT NULL,
`c4` polygon NOT NULL,
`c5` geometry NOT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
SHOW INDEX FROM tab;
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
DELETE FROM tab;
@@ -357,7 +357,7 @@ tab CREATE TABLE `tab` (
PRIMARY KEY (`c2`(25)),
UNIQUE KEY `const_1` (`c2`(25)),
SPATIAL KEY `idx2` (`c2`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
SHOW INDEX FROM tab;
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
tab 0 PRIMARY 1 c2 A # 25 NULL BTREE
@@ -391,7 +391,7 @@ tab CREATE TABLE `tab` (
PRIMARY KEY (`c5`(10)),
UNIQUE KEY `const_1` (`c5`(10)),
SPATIAL KEY `idx2` (`c2`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
SHOW INDEX FROM tab;
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
tab 0 PRIMARY 1 c5 A # 10 NULL BTREE
@@ -521,7 +521,7 @@ tab CREATE TABLE `tab` (
SPATIAL KEY `idx4` (`c4`) COMMENT 'testing spatial index on Polygon',
SPATIAL KEY `idx5` (`c5`) COMMENT 'testing spatial index on Geometry',
KEY `idx6` (`c4`(10)) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
SHOW INDEX FROM tab;
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
tab 0 PRIMARY 1 c1 A # NULL NULL BTREE
@@ -558,7 +558,7 @@ tab CREATE TABLE `tab` (
SPATIAL KEY `idx4` (`c4`) COMMENT 'testing spatial index on Polygon',
SPATIAL KEY `idx5` (`c5`) COMMENT 'testing spatial index on Geometry',
KEY `idx6` (`c4`(10)) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
SHOW INDEX FROM tab;
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
tab 0 PRIMARY 1 c1 A # NULL NULL BTREE
@@ -615,7 +615,7 @@ tab CREATE TABLE `tab` (
SPATIAL KEY `idx4` (`c4`) COMMENT 'testing spatial index on Polygon',
SPATIAL KEY `idx5` (`c5`) COMMENT 'testing spatial index on Geometry',
KEY `idx6` (`c4`(10)) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
SHOW INDEX FROM tab;
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
tab 0 PRIMARY 1 c1 A # NULL NULL BTREE
@@ -690,14 +690,14 @@ parent CREATE TABLE `parent` (
`id` point NOT NULL,
PRIMARY KEY (`id`(25)),
SPATIAL KEY `idx1` (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
SHOW CREATE TABLE child;
Table Create Table
child CREATE TABLE `child` (
`id` geometry NOT NULL,
`parent_id` point NOT NULL,
SPATIAL KEY `idx2` (`parent_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
SHOW INDEX FROM parent;
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
parent 0 PRIMARY 1 id A 0 25 NULL BTREE
@@ -722,14 +722,14 @@ parent CREATE TABLE `parent` (
`id` geometry NOT NULL,
PRIMARY KEY (`id`(10)),
SPATIAL KEY `idx1` (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
SHOW CREATE TABLE child;
Table Create Table
child CREATE TABLE `child` (
`id` geometry NOT NULL,
`parent_id` geometry NOT NULL,
SPATIAL KEY `idx2` (`parent_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
SHOW INDEX FROM parent;
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
parent 0 PRIMARY 1 id A 0 10 NULL BTREE
@@ -786,3 +786,13 @@ CREATE OR REPLACE TABLE t1 (a INT) ENGINE=InnoDB;
ALTER TABLE t1 ADD COLUMN b POINT DEFAULT '0';
ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
DROP TABLE t1;
+#
+# MDEV-29520 heap-use-after-poison in row_merge_spatial_rows()
+#
+CREATE TABLE t
+(a VARCHAR(8192), b POINT NOT NULL, PRIMARY KEY(a(8)), SPATIAL(b))
+ENGINE=InnoDB;
+INSERT INTO t VALUES (REPEAT('MariaDB Corporation Ab ',351),POINT(0,0));
+ALTER TABLE t FORCE;
+DROP TABLE t;
+# End of 10.3 tests
diff --git a/mysql-test/suite/innodb_gis/r/create_spatial_index.result b/mysql-test/suite/innodb_gis/r/create_spatial_index.result
index c69d67c411f..6fe619df453 100644
--- a/mysql-test/suite/innodb_gis/r/create_spatial_index.result
+++ b/mysql-test/suite/innodb_gis/r/create_spatial_index.result
@@ -1253,7 +1253,7 @@ tab CREATE TABLE `tab` (
`c1` point NOT NULL,
SPATIAL KEY `idx1` (`c1`),
CONSTRAINT `tab_const` CHECK (cast(`c1` as char charset binary) > 0)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
SHOW INDEX FROM tab;
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
tab 1 idx1 1 c1 A NULL 32 NULL SPATIAL
diff --git a/mysql-test/suite/innodb_gis/r/geometry.result b/mysql-test/suite/innodb_gis/r/geometry.result
index 70e0f04cdf1..1caebdc0757 100644
--- a/mysql-test/suite/innodb_gis/r/geometry.result
+++ b/mysql-test/suite/innodb_gis/r/geometry.result
@@ -342,7 +342,7 @@ tab CREATE TABLE `tab` (
UNIQUE KEY `idx2` (`c8`(5)),
KEY `idx1` (`c2`(5)) USING BTREE,
KEY `idx3` (`c3`(5)) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
#check the data after modify
SELECT ST_AsText(c1) FROM tab;
ST_AsText(c1)
@@ -466,7 +466,7 @@ tab2 CREATE TABLE `tab2` (
`c6` multipolygon DEFAULT NULL,
`c7` geometrycollection DEFAULT NULL,
`c8` geometry NOT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
#create a tigger and populate the values into tab2
CREATE TRIGGER geom_trigger AFTER INSERT ON tab
FOR EACH ROW
@@ -653,7 +653,7 @@ tab3 CREATE TABLE `tab3` (
`c6` multipolygon DEFAULT NULL,
`c7` geometrycollection DEFAULT NULL,
`c8` geometry DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8
ALTER TABLE tab3 KEY_BLOCK_SIZE=16 ROW_FORMAT=Dynamic;
#check file format
SHOW CREATE TABLE tab3;
@@ -667,7 +667,7 @@ tab3 CREATE TABLE `tab3` (
`c6` multipolygon DEFAULT NULL,
`c7` geometrycollection DEFAULT NULL,
`c8` geometry DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC KEY_BLOCK_SIZE=16
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ROW_FORMAT=DYNAMIC KEY_BLOCK_SIZE=16
#check information schema for all the columns refer to 14, except POINT which is 15
SELECT sc.name, sc.pos, sc.mtype
FROM information_schema.innodb_sys_columns sc
@@ -778,7 +778,7 @@ tab3 CREATE TABLE `tab3` (
UNIQUE KEY `idx2` (`c8`(5)),
KEY `idx1` (`c2`(5)) USING BTREE,
KEY `idx3` (`c3`(5)) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC KEY_BLOCK_SIZE=16
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ROW_FORMAT=DYNAMIC KEY_BLOCK_SIZE=16
#check index with WKB function
EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8)
FROM tab3 WHERE c2=ST_LineStringFromWKB(ST_AsWKB(ST_LineFromText('LINESTRING(10 10,20 20,30 30)')));
diff --git a/mysql-test/suite/innodb_gis/r/gis.result b/mysql-test/suite/innodb_gis/r/gis.result
index 321f20cb745..078ce90b119 100644
--- a/mysql-test/suite/innodb_gis/r/gis.result
+++ b/mysql-test/suite/innodb_gis/r/gis.result
@@ -580,7 +580,7 @@ show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`ST_GeomFromWKB(POINT(1,3))` geometry DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
drop table t1;
SET sql_mode = 'NO_ENGINE_SUBSTITUTION';
CREATE TABLE `t1` (`object_id` bigint(20) unsigned NOT NULL default '0', `geo`
diff --git a/mysql-test/suite/innodb_gis/r/innodb_gis_rtree.result b/mysql-test/suite/innodb_gis/r/innodb_gis_rtree.result
index 5f0187eaa30..4ca50fcfd9a 100644
--- a/mysql-test/suite/innodb_gis/r/innodb_gis_rtree.result
+++ b/mysql-test/suite/innodb_gis/r/innodb_gis_rtree.result
@@ -10,7 +10,7 @@ t1 CREATE TABLE `t1` (
`g` geometry NOT NULL,
PRIMARY KEY (`fid`),
SPATIAL KEY `g` (`g`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(150 150, 150 150)'));
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(149 149, 151 151)'));
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(148 148, 152 152)'));
@@ -293,7 +293,7 @@ t2 CREATE TABLE `t2` (
`g` geometry NOT NULL,
PRIMARY KEY (`fid`),
SPATIAL KEY `g` (`g`)
-) ENGINE=MyISAM AUTO_INCREMENT=101 DEFAULT CHARSET=latin1
+) ENGINE=MyISAM AUTO_INCREMENT=101 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
SELECT count(*) FROM t2;
count(*)
100
diff --git a/mysql-test/suite/innodb_gis/r/kill_server.result b/mysql-test/suite/innodb_gis/r/kill_server.result
index eac4feb442f..97f6ff419d8 100644
--- a/mysql-test/suite/innodb_gis/r/kill_server.result
+++ b/mysql-test/suite/innodb_gis/r/kill_server.result
@@ -27,7 +27,7 @@ t1 CREATE TABLE `t1` (
`c1` int(11) DEFAULT NULL,
`c2` geometry NOT NULL,
SPATIAL KEY `idx` (`c2`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
check table t1;
Table Op Msg_type Msg_text
test.t1 check status OK
diff --git a/mysql-test/suite/innodb_gis/r/point_basic.result b/mysql-test/suite/innodb_gis/r/point_basic.result
index 8322539475a..4184ec75226 100644
--- a/mysql-test/suite/innodb_gis/r/point_basic.result
+++ b/mysql-test/suite/innodb_gis/r/point_basic.result
@@ -187,7 +187,7 @@ t1 CREATE TABLE `t1` (
`g` geometry NOT NULL,
`p` point DEFAULT NULL,
`p1` point DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
INSERT INTO t1 VALUES(ST_PointFromText('POINT(0.5 0.5)'), ST_PointFromText('POINT(0 1)'), ST_PointFromText('POINT(10 19)'));
INSERT INTO t1 VALUES(ST_PointFromText('POINT(0.6 0.6)'), ST_PointFromText('POINT(1 1)'), ST_PointFromText('POINT(10 20)'));
INSERT INTO t1 VALUES(ST_PointFromText('POINT(0.7 0.7)'), ST_PointFromText('POINT(1 0)'), ST_PointFromText('POINT(10 21)'));
@@ -1367,7 +1367,7 @@ geom CREATE TABLE `geom` (
`i` int(11) DEFAULT NULL,
`g` point NOT NULL,
SPATIAL KEY `g` (`g`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
SELECT ST_AsText(g) FROM geom;
ST_AsText(g)
POINT(0 0)
@@ -1380,7 +1380,7 @@ geom CREATE TABLE `geom` (
`i` int(11) DEFAULT NULL,
`g` geometry NOT NULL,
SPATIAL KEY `g` (`g`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
TRUNCATE TABLE geom;
From GEOMETRY to POINT, the table is empty
ALTER TABLE geom MODIFY g POINT NOT NULL;
@@ -1390,7 +1390,7 @@ geom CREATE TABLE `geom` (
`i` int(11) DEFAULT NULL,
`g` point NOT NULL,
SPATIAL KEY `g` (`g`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
SELECT ST_AsText(g) FROM geom;
ST_AsText(g)
CHECK TABLE gis_point;
@@ -1456,7 +1456,7 @@ t1 CREATE TABLE `t1` (
SPATIAL KEY `idx2` (`p`),
SPATIAL KEY `idx3` (`l`),
SPATIAL KEY `idx4` (`g`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
SELECT a, ST_AsText(p), ST_AsText(l), ST_AsText(g) FROM t1;
a ST_AsText(p) ST_AsText(l) ST_AsText(g)
1 POINT(10 10) LINESTRING(1 1,5 5,10 10) POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))
@@ -1490,13 +1490,13 @@ parent CREATE TABLE `parent` (
`p` point NOT NULL,
PRIMARY KEY (`p`(25)),
SPATIAL KEY `idx1` (`p`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
SHOW CREATE TABLE child;
Table Create Table
child CREATE TABLE `child` (
`p` point NOT NULL,
SPATIAL KEY `idx2` (`p`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
ALTER TABLE child ADD FOREIGN KEY(p) REFERENCES parent(p);
ERROR HY000: Can't create table `test`.`child` (errno: 150 "Foreign key constraint is incorrectly formed")
show warnings;
diff --git a/mysql-test/suite/innodb_gis/r/rt_precise.result b/mysql-test/suite/innodb_gis/r/rt_precise.result
index c83b88b568c..fdadadb7c76 100644
--- a/mysql-test/suite/innodb_gis/r/rt_precise.result
+++ b/mysql-test/suite/innodb_gis/r/rt_precise.result
@@ -12,7 +12,7 @@ t1 CREATE TABLE `t1` (
`g` geometry NOT NULL,
PRIMARY KEY (`fid`),
KEY `gis_key` (`g`(5))
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
SELECT count(*) FROM t1;
count(*)
150
@@ -49,7 +49,7 @@ t1 CREATE TABLE `t1` (
`g` geometry NOT NULL,
PRIMARY KEY (`fid`),
SPATIAL KEY `g` (`g`)
-) ENGINE=InnoDB AUTO_INCREMENT=101 DEFAULT CHARSET=latin1
+) ENGINE=InnoDB AUTO_INCREMENT=101 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
SELECT count(*) FROM t1;
count(*)
100
diff --git a/mysql-test/suite/innodb_gis/r/rtree.result b/mysql-test/suite/innodb_gis/r/rtree.result
index b7cdc8ec7c9..11451821386 100644
--- a/mysql-test/suite/innodb_gis/r/rtree.result
+++ b/mysql-test/suite/innodb_gis/r/rtree.result
@@ -141,7 +141,7 @@ t1 CREATE TABLE `t1` (
PRIMARY KEY (`i`),
SPATIAL KEY `idx` (`g`),
SPATIAL KEY `idx2` (`g`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
drop index idx on t1;
drop table t1;
create table t1 (i int, i2 char(10), g geometry not null, primary key (i, i2), spatial index (g))engine=innodb;
diff --git a/mysql-test/suite/innodb_gis/r/rtree_debug.result b/mysql-test/suite/innodb_gis/r/rtree_debug.result
index e8d2418af57..7306a8b68f0 100644
--- a/mysql-test/suite/innodb_gis/r/rtree_debug.result
+++ b/mysql-test/suite/innodb_gis/r/rtree_debug.result
@@ -37,7 +37,7 @@ t1 CREATE TABLE `t1` (
`c1` int(11) DEFAULT NULL,
`c2` geometry NOT NULL,
SPATIAL KEY `idx` (`c2`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
SET @save_dbug = @@SESSION.debug_dbug;
SET debug_dbug='+d,row_merge_ins_spatial_fail';
create spatial index idx2 on t1(c2);
@@ -49,7 +49,7 @@ t1 CREATE TABLE `t1` (
`c1` int(11) DEFAULT NULL,
`c2` geometry NOT NULL,
SPATIAL KEY `idx` (`c2`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
check table t1;
Table Op Msg_type Msg_text
test.t1 check status OK
diff --git a/mysql-test/suite/innodb_gis/r/rtree_multi_pk.result b/mysql-test/suite/innodb_gis/r/rtree_multi_pk.result
index 0165887a9f1..3a74c0f0b7e 100644
--- a/mysql-test/suite/innodb_gis/r/rtree_multi_pk.result
+++ b/mysql-test/suite/innodb_gis/r/rtree_multi_pk.result
@@ -137,6 +137,6 @@ t1 CREATE TABLE `t1` (
PRIMARY KEY (`i`),
SPATIAL KEY `idx` (`g`),
SPATIAL KEY `idx2` (`g`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
drop index idx on t1;
drop table t1;
diff --git a/mysql-test/suite/innodb_gis/r/rtree_split.result b/mysql-test/suite/innodb_gis/r/rtree_split.result
index df88960ba3d..8e475776ce0 100644
--- a/mysql-test/suite/innodb_gis/r/rtree_split.result
+++ b/mysql-test/suite/innodb_gis/r/rtree_split.result
@@ -43,7 +43,7 @@ t1 CREATE TABLE `t1` (
`c1` int(11) DEFAULT NULL,
`c2` geometry NOT NULL,
SPATIAL KEY `idx2` (`c2`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
set @g1 = ST_GeomFromText('Polygon((0 0,0 100,100 100,100 0,0 0))');
select count(*) from t1 where MBRWithin(t1.c2, @g1);
count(*)
diff --git a/mysql-test/suite/innodb_gis/r/rtree_temporary.result b/mysql-test/suite/innodb_gis/r/rtree_temporary.result
index 5ce02c881cc..c34df7f2d9c 100644
--- a/mysql-test/suite/innodb_gis/r/rtree_temporary.result
+++ b/mysql-test/suite/innodb_gis/r/rtree_temporary.result
@@ -12,3 +12,13 @@ CREATE TEMPORARY TABLE t1 (c POINT NOT NULL,SPATIAL (c)) ENGINE=InnoDB;
INSERT INTO t1 SELECT POINT(0,0) FROM seq_1_to_366;
INSERT INTO t1 VALUES (POINT(1e-270,1e-130));
DROP TABLE t1;
+#
+# MDEV-29507 InnoDB: Failing assertion: table->n_rec_locks == 0
+#
+connect con1,localhost,root,,;
+CREATE TEMPORARY TABLE t (c POINT NOT NULL,SPATIAL (c)) ENGINE=InnoDB;
+INSERT INTO t SELECT POINTFROMTEXT ('POINT(0 0)') FROM seq_1_to_500;
+XA BEGIN 'a';
+DELETE FROM t ORDER BY c;
+disconnect con1;
+# End of 10.3 tests
diff --git a/mysql-test/suite/innodb_gis/r/types.result b/mysql-test/suite/innodb_gis/r/types.result
index 9eb40dc4231..cdfd0389117 100644
--- a/mysql-test/suite/innodb_gis/r/types.result
+++ b/mysql-test/suite/innodb_gis/r/types.result
@@ -4,7 +4,7 @@ Table Create Table
t_wl6455 CREATE TABLE `t_wl6455` (
`i` int(11) DEFAULT NULL,
`g` geometry NOT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
INSERT INTO t_wl6455 VALUES(1, POINT(1,1));
INSERT INTO t_wl6455 VALUES(2, POINT(2,2));
SET @mp = 'MULTIPOINT(0 0, 20 20, 60 60)';
diff --git a/mysql-test/suite/innodb_gis/t/alter_spatial_index.test b/mysql-test/suite/innodb_gis/t/alter_spatial_index.test
index de1d301245f..fdeac824d41 100644
--- a/mysql-test/suite/innodb_gis/t/alter_spatial_index.test
+++ b/mysql-test/suite/innodb_gis/t/alter_spatial_index.test
@@ -778,3 +778,17 @@ CREATE OR REPLACE TABLE t1 (a INT) ENGINE=InnoDB;
ALTER TABLE t1 ADD COLUMN b POINT DEFAULT '0';
DROP TABLE t1;
+--echo #
+--echo # MDEV-29520 heap-use-after-poison in row_merge_spatial_rows()
+--echo #
+
+CREATE TABLE t
+(a VARCHAR(8192), b POINT NOT NULL, PRIMARY KEY(a(8)), SPATIAL(b))
+ENGINE=InnoDB;
+INSERT INTO t VALUES (REPEAT('MariaDB Corporation Ab ',351),POINT(0,0));
+ALTER TABLE t FORCE;
+
+# Cleanup
+DROP TABLE t;
+
+--echo # End of 10.3 tests
diff --git a/mysql-test/suite/innodb_gis/t/rtree_temporary.test b/mysql-test/suite/innodb_gis/t/rtree_temporary.test
index 5c4df251970..e541d7c2698 100644
--- a/mysql-test/suite/innodb_gis/t/rtree_temporary.test
+++ b/mysql-test/suite/innodb_gis/t/rtree_temporary.test
@@ -16,3 +16,16 @@ CREATE TEMPORARY TABLE t1 (c POINT NOT NULL,SPATIAL (c)) ENGINE=InnoDB;
INSERT INTO t1 SELECT POINT(0,0) FROM seq_1_to_366;
INSERT INTO t1 VALUES (POINT(1e-270,1e-130));
DROP TABLE t1;
+
+--echo #
+--echo # MDEV-29507 InnoDB: Failing assertion: table->n_rec_locks == 0
+--echo #
+
+connect con1,localhost,root,,;
+CREATE TEMPORARY TABLE t (c POINT NOT NULL,SPATIAL (c)) ENGINE=InnoDB;
+INSERT INTO t SELECT POINTFROMTEXT ('POINT(0 0)') FROM seq_1_to_500;
+XA BEGIN 'a';
+DELETE FROM t ORDER BY c;
+disconnect con1;
+
+--echo # End of 10.3 tests