diff options
author | Alexander Barkov <bar@mariadb.com> | 2022-09-14 15:00:09 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.com> | 2022-09-14 16:24:51 +0400 |
commit | fe844c16b6cbd67386d1b9fc1cb9e5a656bbb885 (patch) | |
tree | 0bd937aed2faa10b09c0b47884dad4a8e1d5d57c /mysql-test/suite/innodb_gis | |
parent | fb70bb44d096f4117e9454740aa4fa0651a1a69e (diff) | |
parent | 289105e282fb5f7865bb7ddb6226149ac5bdf2b8 (diff) | |
download | mariadb-git-fe844c16b6cbd67386d1b9fc1cb9e5a656bbb885.tar.gz |
Merge remote-tracking branch 'origin/10.4' into 10.5
Diffstat (limited to 'mysql-test/suite/innodb_gis')
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 751bb03bc84..6db6407b5db 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 caacde7fecb..6e7cf74373d 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 78f2a6ad04d..a01dbc188e5 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 dac9219be9e..2a31a6c5317 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 4842c72d99c..bda5ae59238 100644 --- a/mysql-test/suite/innodb_gis/r/point_basic.result +++ b/mysql-test/suite/innodb_gis/r/point_basic.result @@ -219,7 +219,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)')); @@ -1428,7 +1428,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) @@ -1441,7 +1441,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; @@ -1451,7 +1451,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; @@ -1517,7 +1517,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)) @@ -1551,13 +1551,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 |