1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

MDEV-14057 InnoDB GIS tests fail

Fix and enable some of the tests; some remain disabled.

The tests innodb_gis.rtree_old and innodb_gis.row_format
duplicated some versions of the test main.gis-rtree.
Instead of duplicating, source that test, in a new test
innodb_gis.innodb_gis_rtree.

Introduce innodb_row_format.combinations. Due to this,
ROW_FORMAT=COMPRESSED will not be covered in some tests
where it is covered in MySQL 5.7.
This commit is contained in:
Marko Mäkelä
2018-01-04 19:16:59 +02:00
parent 218dbf68b8
commit 8dc77a72ea
28 changed files with 1909 additions and 5475 deletions

View File

@ -1,420 +0,0 @@
--source include/have_innodb.inc
--source include/not_embedded.inc
eval SET GLOBAL innodb_file_per_table=$file_per_table;
eval SET GLOBAL innodb_file_format=$file_format;
#
# This test is the same as innodb_gis_rollback
#
eval CREATE TABLE t1 (
id bigint(12) unsigned NOT NULL auto_increment,
c2 varchar(15) collate utf8_bin DEFAULT NULL,
c1 varchar(15) collate utf8_bin DEFAULT NULL,
c3 varchar(10) collate utf8_bin DEFAULT NULL,
spatial_point point NOT NULL,
PRIMARY KEY(id),
SPATIAL KEY (spatial_point)
) ROW_FORMAT=$row_format ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
INSERT INTO t1 (c2, c1, c3, spatial_poINT) VALUES
('y', 's', 'j', ST_GeomFromText('POINT(167 74)')),
('r', 'n', 'd', ST_GeomFromText('POINT(215 118)')),
('g', 'n', 'e', ST_GeomFromText('POINT(203 98)')),
('h', 'd', 'd', ST_GeomFromText('POINT(54 193)')),
('r', 'x', 'y', ST_GeomFromText('POINT(47 69)')),
('t', 'q', 'r', ST_GeomFromText('POINT(109 42)')),
('a', 'z', 'd', ST_GeomFromText('POINT(0 154)')),
('x', 'v', 'o', ST_GeomFromText('POINT(174 131)')),
('b', 'r', 'a', ST_GeomFromText('POINT(114 253)')),
('x', 'z', 'i', ST_GeomFromText('POINT(163 21)')),
('w', 'p', 'i', ST_GeomFromText('POINT(42 102)')),
('g', 'j', 'j', ST_GeomFromText('POINT(170 133)')),
('m', 'g', 'n', ST_GeomFromText('POINT(28 22)')),
('b', 'z', 'h', ST_GeomFromText('POINT(174 28)')),
('q', 'k', 'f', ST_GeomFromText('POINT(233 73)')),
('w', 'w', 'a', ST_GeomFromText('POINT(124 200)')),
('t', 'j', 'w', ST_GeomFromText('POINT(252 101)')),
('d', 'r', 'd', ST_GeomFromText('POINT(98 18)')),
('w', 'o', 'y', ST_GeomFromText('POINT(165 31)')),
('y', 'h', 't', ST_GeomFromText('POINT(14 220)')),
('d', 'p', 'u', ST_GeomFromText('POINT(223 196)')),
('g', 'y', 'g', ST_GeomFromText('POINT(207 96)')),
('x', 'm', 'n', ST_GeomFromText('POINT(214 3)')),
('g', 'v', 'e', ST_GeomFromText('POINT(140 205)')),
('g', 'm', 'm', ST_GeomFromText('POINT(10 236)')),
('i', 'r', 'j', ST_GeomFromText('POINT(137 228)')),
('w', 's', 'p', ST_GeomFromText('POINT(115 6)')),
('o', 'n', 'k', ST_GeomFromText('POINT(158 129)')),
('j', 'h', 'l', ST_GeomFromText('POINT(129 72)')),
('f', 'x', 'l', ST_GeomFromText('POINT(139 207)')),
('u', 'd', 'n', ST_GeomFromText('POINT(125 109)')),
('b', 'a', 'z', ST_GeomFromText('POINT(30 32)')),
('m', 'h', 'o', ST_GeomFromText('POINT(251 251)')),
('f', 'r', 'd', ST_GeomFromText('POINT(243 211)')),
('b', 'd', 'r', ST_GeomFromText('POINT(232 80)')),
('g', 'k', 'v', ST_GeomFromText('POINT(15 100)')),
('i', 'f', 'c', ST_GeomFromText('POINT(109 66)')),
('r', 't', 'j', ST_GeomFromText('POINT(178 6)')),
('y', 'n', 'f', ST_GeomFromText('POINT(233 211)')),
('f', 'y', 'm', ST_GeomFromText('POINT(99 16)')),
('z', 'q', 'l', ST_GeomFromText('POINT(39 49)')),
('j', 'c', 'r', ST_GeomFromText('POINT(75 187)')),
('c', 'y', 'y', ST_GeomFromText('POINT(246 253)')),
('w', 'u', 'd', ST_GeomFromText('POINT(56 190)')),
('n', 'q', 'm', ST_GeomFromText('POINT(73 149)')),
('d', 'y', 'a', ST_GeomFromText('POINT(134 6)')),
('z', 's', 'w', ST_GeomFromText('POINT(216 225)')),
('d', 'u', 'k', ST_GeomFromText('POINT(132 70)')),
('f', 'v', 't', ST_GeomFromText('POINT(187 141)')),
('r', 'r', 'a', ST_GeomFromText('POINT(152 39)')),
('y', 'p', 'o', ST_GeomFromText('POINT(45 27)')),
('p', 'n', 'm', ST_GeomFromText('POINT(228 148)')),
('e', 'g', 'e', ST_GeomFromText('POINT(88 81)')),
('m', 'a', 'h', ST_GeomFromText('POINT(35 29)')),
('m', 'h', 'f', ST_GeomFromText('POINT(30 71)')),
('h', 'k', 'i', ST_GeomFromText('POINT(244 78)')),
('z', 'v', 'd', ST_GeomFromText('POINT(241 38)')),
('q', 'l', 'j', ST_GeomFromText('POINT(13 71)')),
('s', 'p', 'g', ST_GeomFromText('POINT(108 38)')),
('q', 's', 'j', ST_GeomFromText('POINT(92 101)')),
('l', 'h', 'g', ST_GeomFromText('POINT(120 78)')),
('w', 't', 'b', ST_GeomFromText('POINT(193 109)')),
('b', 's', 's', ST_GeomFromText('POINT(223 211)')),
('w', 'w', 'y', ST_GeomFromText('POINT(122 42)')),
('q', 'c', 'c', ST_GeomFromText('POINT(104 102)')),
('w', 'g', 'n', ST_GeomFromText('POINT(213 120)')),
('p', 'q', 'a', ST_GeomFromText('POINT(247 148)')),
('c', 'z', 'e', ST_GeomFromText('POINT(18 106)')),
('z', 'u', 'n', ST_GeomFromText('POINT(70 133)')),
('j', 'n', 'x', ST_GeomFromText('POINT(232 13)')),
('e', 'h', 'f', ST_GeomFromText('POINT(22 135)')),
('w', 'l', 'f', ST_GeomFromText('POINT(9 180)')),
('a', 'v', 'q', ST_GeomFromText('POINT(163 228)')),
('i', 'z', 'o', ST_GeomFromText('POINT(180 100)')),
('e', 'c', 'l', ST_GeomFromText('POINT(182 231)')),
('c', 'k', 'o', ST_GeomFromText('POINT(19 60)')),
('q', 'f', 'p', ST_GeomFromText('POINT(79 95)')),
('m', 'd', 'r', ST_GeomFromText('POINT(3 127)')),
('m', 'e', 't', ST_GeomFromText('POINT(136 154)')),
('w', 'w', 'w', ST_GeomFromText('POINT(102 15)')),
('l', 'n', 'q', ST_GeomFromText('POINT(71 196)')),
('p', 'k', 'c', ST_GeomFromText('POINT(47 139)')),
('j', 'o', 'r', ST_GeomFromText('POINT(177 128)')),
('j', 'q', 'a', ST_GeomFromText('POINT(170 6)')),
('b', 'a', 'o', ST_GeomFromText('POINT(63 211)')),
('g', 's', 'o', ST_GeomFromText('POINT(144 251)')),
('w', 'u', 'w', ST_GeomFromText('POINT(221 214)')),
('g', 'a', 'm', ST_GeomFromText('POINT(14 102)')),
('u', 'q', 'z', ST_GeomFromText('POINT(86 200)')),
('k', 'a', 'm', ST_GeomFromText('POINT(144 222)')),
('j', 'u', 'r', ST_GeomFromText('POINT(216 142)')),
('q', 'k', 'v', ST_GeomFromText('POINT(121 236)')),
('p', 'o', 'r', ST_GeomFromText('POINT(108 102)')),
('b', 'd', 'x', ST_GeomFromText('POINT(127 198)')),
('k', 's', 'a', ST_GeomFromText('POINT(2 150)')),
('f', 'm', 'f', ST_GeomFromText('POINT(160 191)')),
('q', 'y', 'x', ST_GeomFromText('POINT(98 111)')),
('o', 'f', 'm', ST_GeomFromText('POINT(232 218)')),
('c', 'w', 'j', ST_GeomFromText('POINT(156 165)')),
('s', 'q', 'v', ST_GeomFromText('POINT(98 161)'));
INSERT INTO t1 (c2, c1, c3, spatial_poINT) VALUES
('f', 'y', 'p', ST_GeomFromText('POINT(109 235)')),
('b', 'e', 'v', ST_GeomFromText('POINT(20 48)')),
('i', 'u', 'f', ST_GeomFromText('POINT(15 55)')),
('o', 'r', 'z', ST_GeomFromText('POINT(105 64)')),
('a', 'p', 'a', ST_GeomFromText('POINT(142 236)')),
('g', 'i', 'k', ST_GeomFromText('POINT(10 49)')),
('x', 'z', 'x', ST_GeomFromText('POINT(192 200)')),
('c', 'v', 'r', ST_GeomFromText('POINT(94 168)')),
('y', 'z', 'e', ST_GeomFromText('POINT(141 51)')),
('h', 'm', 'd', ST_GeomFromText('POINT(35 251)')),
('v', 'm', 'q', ST_GeomFromText('POINT(44 90)')),
('j', 'l', 'z', ST_GeomFromText('POINT(67 237)')),
('i', 'v', 'a', ST_GeomFromText('POINT(75 14)')),
('b', 'q', 't', ST_GeomFromText('POINT(153 33)')),
('e', 'm', 'a', ST_GeomFromText('POINT(247 49)')),
('l', 'y', 'g', ST_GeomFromText('POINT(56 203)')),
('v', 'o', 'r', ST_GeomFromText('POINT(90 54)')),
('r', 'n', 'd', ST_GeomFromText('POINT(135 83)')),
('j', 't', 'u', ST_GeomFromText('POINT(174 239)')),
('u', 'n', 'g', ST_GeomFromText('POINT(104 191)')),
('p', 'q', 'y', ST_GeomFromText('POINT(63 171)')),
('o', 'q', 'p', ST_GeomFromText('POINT(192 103)')),
('f', 'x', 'e', ST_GeomFromText('POINT(244 30)')),
('n', 'x', 'c', ST_GeomFromText('POINT(92 103)')),
('r', 'q', 'z', ST_GeomFromText('POINT(166 20)')),
('s', 'a', 'j', ST_GeomFromText('POINT(137 205)')),
('z', 't', 't', ST_GeomFromText('POINT(99 134)')),
('o', 'm', 'j', ST_GeomFromText('POINT(217 3)')),
('n', 'h', 'j', ST_GeomFromText('POINT(211 17)')),
('v', 'v', 'a', ST_GeomFromText('POINT(41 137)')),
('q', 'o', 'j', ST_GeomFromText('POINT(5 92)')),
('z', 'y', 'e', ST_GeomFromText('POINT(175 212)')),
('j', 'z', 'h', ST_GeomFromText('POINT(224 194)')),
('a', 'g', 'm', ST_GeomFromText('POINT(31 119)')),
('p', 'c', 'f', ST_GeomFromText('POINT(17 221)')),
('t', 'h', 'k', ST_GeomFromText('POINT(26 203)')),
('u', 'w', 'p', ST_GeomFromText('POINT(47 185)')),
('z', 'a', 'c', ST_GeomFromText('POINT(61 133)')),
('u', 'k', 'a', ST_GeomFromText('POINT(210 115)')),
('k', 'f', 'h', ST_GeomFromText('POINT(125 113)')),
('t', 'v', 'y', ST_GeomFromText('POINT(12 239)')),
('u', 'v', 'd', ST_GeomFromText('POINT(90 24)')),
('m', 'y', 'w', ST_GeomFromText('POINT(25 243)')),
('d', 'n', 'g', ST_GeomFromText('POINT(122 92)')),
('z', 'm', 'f', ST_GeomFromText('POINT(235 110)')),
('q', 'd', 'f', ST_GeomFromText('POINT(233 217)')),
('a', 'v', 'u', ST_GeomFromText('POINT(69 59)')),
('x', 'k', 'p', ST_GeomFromText('POINT(240 14)')),
('i', 'v', 'r', ST_GeomFromText('POINT(154 42)')),
('w', 'h', 'l', ST_GeomFromText('POINT(178 156)')),
('d', 'h', 'n', ST_GeomFromText('POINT(65 157)')),
('c', 'k', 'z', ST_GeomFromText('POINT(62 33)')),
('e', 'l', 'w', ST_GeomFromText('POINT(162 1)')),
('r', 'f', 'i', ST_GeomFromText('POINT(127 71)')),
('q', 'm', 'c', ST_GeomFromText('POINT(63 118)')),
('c', 'h', 'u', ST_GeomFromText('POINT(205 203)')),
('d', 't', 'p', ST_GeomFromText('POINT(234 87)')),
('s', 'g', 'h', ST_GeomFromText('POINT(149 34)')),
('o', 'b', 'q', ST_GeomFromText('POINT(159 179)')),
('k', 'u', 'f', ST_GeomFromText('POINT(202 254)')),
('u', 'f', 'g', ST_GeomFromText('POINT(70 15)')),
('x', 's', 'b', ST_GeomFromText('POINT(25 181)')),
('s', 'c', 'g', ST_GeomFromText('POINT(252 17)')),
('a', 'c', 'f', ST_GeomFromText('POINT(89 67)')),
('r', 'e', 'q', ST_GeomFromText('POINT(55 54)')),
('f', 'i', 'k', ST_GeomFromText('POINT(178 230)')),
('p', 'e', 'l', ST_GeomFromText('POINT(198 28)')),
('w', 'o', 'd', ST_GeomFromText('POINT(204 189)')),
('c', 'a', 'g', ST_GeomFromText('POINT(230 178)')),
('r', 'o', 'e', ST_GeomFromText('POINT(61 116)')),
('w', 'a', 'a', ST_GeomFromText('POINT(178 237)')),
('v', 'd', 'e', ST_GeomFromText('POINT(70 85)')),
('k', 'c', 'e', ST_GeomFromText('POINT(147 118)')),
('d', 'q', 't', ST_GeomFromText('POINT(218 77)')),
('k', 'g', 'f', ST_GeomFromText('POINT(192 113)')),
('w', 'n', 'e', ST_GeomFromText('POINT(92 124)')),
('r', 'm', 'q', ST_GeomFromText('POINT(130 65)')),
('o', 'r', 'r', ST_GeomFromText('POINT(174 233)')),
('k', 'n', 't', ST_GeomFromText('POINT(175 147)')),
('q', 'm', 'r', ST_GeomFromText('POINT(18 208)')),
('l', 'd', 'i', ST_GeomFromText('POINT(13 104)')),
('w', 'o', 'y', ST_GeomFromText('POINT(207 39)')),
('p', 'u', 'o', ST_GeomFromText('POINT(114 31)')),
('y', 'a', 'p', ST_GeomFromText('POINT(106 59)')),
('a', 'x', 'z', ST_GeomFromText('POINT(17 57)')),
('v', 'h', 'x', ST_GeomFromText('POINT(170 13)')),
('t', 's', 'u', ST_GeomFromText('POINT(84 18)')),
('z', 'z', 'f', ST_GeomFromText('POINT(250 197)')),
('l', 'z', 't', ST_GeomFromText('POINT(59 80)')),
('j', 'g', 's', ST_GeomFromText('POINT(54 26)')),
('g', 'v', 'm', ST_GeomFromText('POINT(89 98)')),
('q', 'v', 'b', ST_GeomFromText('POINT(39 240)')),
('x', 'k', 'v', ST_GeomFromText('POINT(246 207)')),
('k', 'u', 'i', ST_GeomFromText('POINT(105 111)')),
('w', 'z', 's', ST_GeomFromText('POINT(235 8)')),
('d', 'd', 'd', ST_GeomFromText('POINT(105 4)')),
('c', 'z', 'q', ST_GeomFromText('POINT(13 140)')),
('m', 'k', 'i', ST_GeomFromText('POINT(208 120)')),
('g', 'a', 'g', ST_GeomFromText('POINT(9 182)')),
('z', 'j', 'r', ST_GeomFromText('POINT(149 153)')),
('h', 'f', 'g', ST_GeomFromText('POINT(81 236)')),
('m', 'e', 'q', ST_GeomFromText('POINT(209 215)')),
('c', 'h', 'y', ST_GeomFromText('POINT(235 70)')),
('i', 'e', 'g', ST_GeomFromText('POINT(138 26)')),
('m', 't', 'u', ST_GeomFromText('POINT(119 237)')),
('o', 'w', 's', ST_GeomFromText('POINT(193 166)')),
('f', 'm', 'q', ST_GeomFromText('POINT(85 96)')),
('x', 'l', 'x', ST_GeomFromText('POINT(58 115)')),
('x', 'q', 'u', ST_GeomFromText('POINT(108 210)')),
('b', 'h', 'i', ST_GeomFromText('POINT(250 139)')),
('y', 'd', 'x', ST_GeomFromText('POINT(199 135)')),
('w', 'h', 'p', ST_GeomFromText('POINT(247 233)')),
('p', 'z', 't', ST_GeomFromText('POINT(148 249)')),
('q', 'a', 'u', ST_GeomFromText('POINT(174 78)')),
('v', 't', 'm', ST_GeomFromText('POINT(70 228)')),
('t', 'n', 'f', ST_GeomFromText('POINT(123 2)')),
('x', 't', 'b', ST_GeomFromText('POINT(35 50)')),
('r', 'j', 'f', ST_GeomFromText('POINT(200 51)')),
('s', 'q', 'o', ST_GeomFromText('POINT(23 184)')),
('u', 'v', 'z', ST_GeomFromText('POINT(7 113)')),
('v', 'u', 'l', ST_GeomFromText('POINT(145 190)')),
('o', 'k', 'i', ST_GeomFromText('POINT(161 122)')),
('l', 'y', 'e', ST_GeomFromText('POINT(17 232)')),
('t', 'b', 'e', ST_GeomFromText('POINT(120 50)')),
('e', 's', 'u', ST_GeomFromText('POINT(254 1)')),
('d', 'd', 'u', ST_GeomFromText('POINT(167 140)')),
('o', 'b', 'x', ST_GeomFromText('POINT(186 237)')),
('m', 's', 's', ST_GeomFromText('POINT(172 149)')),
('t', 'y', 'a', ST_GeomFromText('POINT(149 85)')),
('x', 't', 'r', ST_GeomFromText('POINT(10 165)')),
('g', 'c', 'e', ST_GeomFromText('POINT(95 165)')),
('e', 'e', 'z', ST_GeomFromText('POINT(98 65)')),
('f', 'v', 'i', ST_GeomFromText('POINT(149 144)')),
('o', 'p', 'm', ST_GeomFromText('POINT(233 67)')),
('t', 'u', 'b', ST_GeomFromText('POINT(109 215)')),
('o', 'o', 'b', ST_GeomFromText('POINT(130 48)')),
('e', 'm', 'h', ST_GeomFromText('POINT(88 189)')),
('e', 'v', 'y', ST_GeomFromText('POINT(55 29)')),
('e', 't', 'm', ST_GeomFromText('POINT(129 55)')),
('p', 'p', 'i', ST_GeomFromText('POINT(126 222)')),
('c', 'i', 'c', ST_GeomFromText('POINT(19 158)')),
('c', 'b', 's', ST_GeomFromText('POINT(13 19)')),
('u', 'y', 'a', ST_GeomFromText('POINT(114 5)')),
('a', 'o', 'f', ST_GeomFromText('POINT(227 232)')),
('t', 'c', 'z', ST_GeomFromText('POINT(63 62)')),
('d', 'o', 'k', ST_GeomFromText('POINT(48 228)')),
('x', 'c', 'e', ST_GeomFromText('POINT(204 2)')),
('e', 'e', 'g', ST_GeomFromText('POINT(125 43)')),
('o', 'r', 'f', ST_GeomFromText('POINT(171 140)'));
INSERT INTO t1 (c2, c1, c3, spatial_poINT) VALUES
('b', 'c', 'e', ST_GeomFromText('POINT(41 137)')),
('p', 'y', 'k', ST_GeomFromText('POINT(50 22)')),
('s', 'c', 'h', ST_GeomFromText('POINT(208 173)')),
('x', 'u', 'l', ST_GeomFromText('POINT(199 175)')),
('s', 'r', 'h', ST_GeomFromText('POINT(85 192)')),
('j', 'k', 'u', ST_GeomFromText('POINT(18 25)')),
('p', 'w', 'h', ST_GeomFromText('POINT(152 197)')),
('e', 'd', 'c', ST_GeomFromText('POINT(229 3)')),
('o', 'x', 'k', ST_GeomFromText('POINT(187 155)')),
('o', 'b', 'k', ST_GeomFromText('POINT(208 150)')),
('d', 'a', 'j', ST_GeomFromText('POINT(70 87)')),
('f', 'e', 'k', ST_GeomFromText('POINT(156 96)')),
('u', 'y', 'p', ST_GeomFromText('POINT(239 193)')),
('n', 'v', 'p', ST_GeomFromText('POINT(223 98)')),
('z', 'j', 'r', ST_GeomFromText('POINT(87 89)')),
('h', 'x', 'x', ST_GeomFromText('POINT(92 0)')),
('r', 'v', 'r', ST_GeomFromText('POINT(159 139)')),
('v', 'g', 'g', ST_GeomFromText('POINT(16 229)')),
('z', 'k', 'u', ST_GeomFromText('POINT(99 52)')),
('p', 'p', 'o', ST_GeomFromText('POINT(105 125)')),
('w', 'h', 'y', ST_GeomFromText('POINT(105 154)')),
('v', 'y', 'z', ST_GeomFromText('POINT(134 238)')),
('x', 'o', 'o', ST_GeomFromText('POINT(178 88)')),
('z', 'w', 'd', ST_GeomFromText('POINT(123 60)')),
('q', 'f', 'u', ST_GeomFromText('POINT(64 90)')),
('s', 'n', 't', ST_GeomFromText('POINT(50 138)')),
('v', 'p', 't', ST_GeomFromText('POINT(114 91)')),
('a', 'o', 'n', ST_GeomFromText('POINT(78 43)')),
('k', 'u', 'd', ST_GeomFromText('POINT(185 161)')),
('w', 'd', 'n', ST_GeomFromText('POINT(25 92)')),
('k', 'w', 'a', ST_GeomFromText('POINT(59 238)')),
('t', 'c', 'f', ST_GeomFromText('POINT(65 87)')),
('g', 's', 'p', ST_GeomFromText('POINT(238 126)')),
('d', 'n', 'y', ST_GeomFromText('POINT(107 173)')),
('l', 'a', 'w', ST_GeomFromText('POINT(125 152)')),
('m', 'd', 'j', ST_GeomFromText('POINT(146 53)')),
('q', 'm', 'c', ST_GeomFromText('POINT(217 187)')),
('i', 'r', 'r', ST_GeomFromText('POINT(6 113)')),
('e', 'j', 'b', ST_GeomFromText('POINT(37 83)')),
('w', 'w', 'h', ST_GeomFromText('POINT(83 199)')),
('k', 'b', 's', ST_GeomFromText('POINT(170 64)')),
('s', 'b', 'c', ST_GeomFromText('POINT(163 130)')),
('c', 'h', 'a', ST_GeomFromText('POINT(141 3)')),
('k', 'j', 'u', ST_GeomFromText('POINT(143 76)')),
('r', 'h', 'o', ST_GeomFromText('POINT(243 92)')),
('i', 'd', 'b', ST_GeomFromText('POINT(205 13)')),
('r', 'y', 'q', ST_GeomFromText('POINT(138 8)')),
('m', 'o', 'i', ST_GeomFromText('POINT(36 45)')),
('v', 'g', 'm', ST_GeomFromText('POINT(0 40)')),
('f', 'e', 'i', ST_GeomFromText('POINT(76 6)')),
('c', 'q', 'q', ST_GeomFromText('POINT(115 248)')),
('x', 'c', 'i', ST_GeomFromText('POINT(29 74)')),
('l', 's', 't', ST_GeomFromText('POINT(83 18)')),
('t', 't', 'a', ST_GeomFromText('POINT(26 168)')),
('u', 'n', 'x', ST_GeomFromText('POINT(200 110)')),
('j', 'b', 'd', ST_GeomFromText('POINT(216 136)')),
('s', 'p', 'w', ST_GeomFromText('POINT(38 156)')),
('f', 'b', 'v', ST_GeomFromText('POINT(29 186)')),
('v', 'e', 'r', ST_GeomFromText('POINT(149 40)')),
('v', 't', 'm', ST_GeomFromText('POINT(184 24)')),
('y', 'g', 'a', ST_GeomFromText('POINT(219 105)')),
('s', 'f', 'i', ST_GeomFromText('POINT(114 130)')),
('e', 'q', 'h', ST_GeomFromText('POINT(203 135)')),
('h', 'g', 'b', ST_GeomFromText('POINT(9 208)')),
('o', 'l', 'r', ST_GeomFromText('POINT(245 79)')),
('s', 's', 'v', ST_GeomFromText('POINT(238 198)')),
('w', 'w', 'z', ST_GeomFromText('POINT(209 232)')),
('v', 'd', 'n', ST_GeomFromText('POINT(30 193)')),
('q', 'w', 'k', ST_GeomFromText('POINT(133 18)')),
('o', 'h', 'o', ST_GeomFromText('POINT(42 140)')),
('f', 'f', 'h', ST_GeomFromText('POINT(145 1)')),
('u', 's', 'r', ST_GeomFromText('POINT(70 62)')),
('x', 'n', 'q', ST_GeomFromText('POINT(33 86)')),
('u', 'p', 'v', ST_GeomFromText('POINT(232 220)')),
('z', 'e', 'a', ST_GeomFromText('POINT(130 69)')),
('r', 'u', 'z', ST_GeomFromText('POINT(243 241)')),
('b', 'n', 't', ST_GeomFromText('POINT(120 12)')),
('u', 'f', 's', ST_GeomFromText('POINT(190 212)')),
('a', 'd', 'q', ST_GeomFromText('POINT(235 191)')),
('f', 'q', 'm', ST_GeomFromText('POINT(176 2)')),
('n', 'c', 's', ST_GeomFromText('POINT(218 163)')),
('e', 'm', 'h', ST_GeomFromText('POINT(163 108)')),
('c', 'f', 'l', ST_GeomFromText('POINT(220 115)')),
('c', 'v', 'q', ST_GeomFromText('POINT(66 45)')),
('w', 'v', 'x', ST_GeomFromText('POINT(251 220)')),
('f', 'w', 'z', ST_GeomFromText('POINT(146 149)')),
('h', 'n', 'h', ST_GeomFromText('POINT(148 128)')),
('y', 'k', 'v', ST_GeomFromText('POINT(28 110)')),
('c', 'x', 'q', ST_GeomFromText('POINT(13 13)')),
('e', 'd', 's', ST_GeomFromText('POINT(91 190)')),
('c', 'w', 'c', ST_GeomFromText('POINT(10 231)')),
('u', 'j', 'n', ST_GeomFromText('POINT(250 21)')),
('w', 'n', 'x', ST_GeomFromText('POINT(141 69)')),
('f', 'p', 'y', ST_GeomFromText('POINT(228 246)')),
('d', 'q', 'f', ST_GeomFromText('POINT(194 22)')),
('d', 'z', 'l', ST_GeomFromText('POINT(233 181)')),
('c', 'a', 'q', ST_GeomFromText('POINT(183 96)')),
('m', 'i', 'd', ST_GeomFromText('POINT(117 226)')),
('z', 'y', 'y', ST_GeomFromText('POINT(62 81)')),
('g', 'v', 'm', ST_GeomFromText('POINT(66 158)'));
START TRANSACTION;
# following INSERTion will result in a node split
INSERT INTO t1 (c2, c1, c3, spatial_poINT) VALUES
('f', 'x', 'p', ST_GeomFromText('POINT(92 181)'));
# Test rollback, this will result above split being rolled back, btr_compress
# gets called
ROLLBACK;
INSERT INTO t1 (c2, c1, c3, spatial_poINT) VALUES
('f', 'x', 'p', ST_GeomFromText('POINT(92 181)'));
# create overlap on the bounding box in parent
INSERT INTO t1 (c2, c1, c3, spatial_poINT) VALUES ('n', 'x', 'p', ST_GeomFromText('POINT(0 1280)'));
INSERT INTO t1 (c2, c1, c3, spatial_poINT) VALUES ('n', 'x', 'p', ST_GeomFromText('POINT(45 1280)'));
# Add a row in the cross section of the 2 bounding box
INSERT INTO t1 VALUES (1280, 'n', 'x', 'p', ST_GeomFromText('POINT(44 253)'));
# Delete this new poINT
DELETE FROM t1 WHERE id = 1280;
INSERT INTO t1 VALUES (1280, 'n', 'x', 'p', ST_GeomFromText('POINT(44 253)'));
START TRANSACTION;
DELETE FROM t1 WHERE id = 1280;
ROLLBACK;
# Test MBR increase
START TRANSACTION;
INSERT INTO t1 (c2, c1, c3, spatial_point) VALUES
('m', 'u', 'p', ST_GeomFromText('POINT(1192 1181)'));
ROLLBACK;
SELECT COUNT(*) FROM t1;
UPDATE t1 SET spatial_point = ST_GeomFromText('POINT(123 456)') WHERE id < 2000;
SET @g1 = ST_GeomFromText('Polygon((123 456, 123 678, 456 678,456 456,123 456))');
DELETE FROM t1 WHERE MBRContains(@g1, t1.spatial_point);
SELECT COUNT(*) FROM t1;
DROP TABLE t1;
SET GLOBAL innodb_file_per_table=default;
SET GLOBAL innodb_file_format=default;

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,8 @@
[redundant]
innodb_default_row_format=redundant
[compact]
innodb_default_row_format=compact
[dynamic]
innodb_default_row_format=dynamic

View File

@ -0,0 +1,4 @@
# The goal of including this file is to enable innodb_default_row_format
# combinations (see include/innodb_row_format.combinations)
--source include/have_innodb.inc

View File

@ -1,60 +0,0 @@
# include/wait_innodb_all_purged.inc
#
# SUMMARY
#
# Waits until purged all undo records of innodb, or operation times out.
#
# USAGE
#
# --source include/wait_innodb_all_purged.inc
#
--source include/have_innodb.inc
--source include/have_debug.inc
--disable_query_log
let $wait_counter_init= 300;
if ($wait_timeout)
{
let $wait_counter_init= `SELECT $wait_timeout * 10`;
}
# Reset $wait_timeout so that its value won't be used on subsequent
# calls, and default will be used instead.
let $wait_timeout= 0;
let $wait_counter= $wait_counter_init;
# Keep track of how many times the wait condition is tested
let $wait_condition_reps= 0;
let $prev_trx_age= 0;
while ($wait_counter)
{
--disable_warnings
let $trx_age = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS
WHERE VARIABLE_NAME = 'INNODB_PURGE_TRX_ID_AGE';`;
--enable_warnings
if ($trx_age != $prev_trx_age)
{
let $wait_counter= $wait_counter_init;
let $prev_trx_age= $trx_age;
}
let $success= `SELECT $trx_age < 1`;
inc $wait_condition_reps;
if ($success)
{
let $wait_counter= 0;
}
if (!$success)
{
real_sleep 0.1;
dec $wait_counter;
}
}
if (!$success)
{
echo Timeout in wait_innodb_all_purged.inc for INNODB_PURGE_TRX_ID_AGE = $trx_age;
}
--enable_query_log

View File

@ -1,9 +1,8 @@
DROP TABLE IF EXISTS t1, t2;
CREATE TABLE t1 (
fid INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
g GEOMETRY NOT NULL,
SPATIAL KEY(g)
) ENGINE=MyISAM;
);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
@ -185,7 +184,7 @@ DROP TABLE t1;
CREATE TABLE t2 (
fid INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
g GEOMETRY NOT NULL
) ENGINE=MyISAM;
);
INSERT INTO t2 (g) VALUES (LineString(Point(10 * 10 - 9, 10 * 10 - 9), Point(10 * 10, 10 * 10)));
INSERT INTO t2 (g) VALUES (LineString(Point(10 * 10 - 9, 9 * 10 - 9), Point(10 * 10, 9 * 10)));
INSERT INTO t2 (g) VALUES (LineString(Point(10 * 10 - 9, 8 * 10 - 9), Point(10 * 10, 8 * 10)));
@ -710,9 +709,6 @@ SELECT count(*) FROM t2;
count(*)
100
DROP TABLE t2;
drop table if exists t1;
Warnings:
Note 1051 Unknown table 'test.t1'
CREATE TABLE t1 (a geometry NOT NULL, SPATIAL (a));
INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)"));
INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)"));
@ -754,7 +750,7 @@ CREATE TABLE t1 (
fid INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
g GEOMETRY NOT NULL,
SPATIAL KEY(g)
) ENGINE=MyISAM;
);
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(1 2, 2 3)')),(GeomFromText('LineString(1 2, 2 4)'));
drop table t1;
CREATE TABLE t1 (
@ -762,7 +758,7 @@ line GEOMETRY NOT NULL,
kind ENUM('po', 'pp', 'rr', 'dr', 'rd', 'ts', 'cl') NOT NULL DEFAULT 'po',
name VARCHAR(32),
SPATIAL KEY (line)
) engine=myisam;
);
ALTER TABLE t1 DISABLE KEYS;
INSERT INTO t1 (name, kind, line) VALUES
("Aadaouane", "pp", GeomFromText("POINT(32.816667 35.983333)")),
@ -803,7 +799,7 @@ CREATE TABLE t2 (geom GEOMETRY NOT NULL, SPATIAL KEY gk(geom));
INSERT IGNORE INTO t2 SELECT GeomFromText(st) FROM t1;
ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
drop table t1, t2;
CREATE TABLE t1 (`geometry` geometry NOT NULL default '',SPATIAL KEY `gndx` (`geometry`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;
CREATE TABLE t1 (`geometry` geometry NOT NULL default '',SPATIAL KEY `gndx` (`geometry`)) DEFAULT CHARSET=latin1;
INSERT INTO t1 (geometry) VALUES
(PolygonFromText('POLYGON((-18.6086111000 -66.9327777000, -18.6055555000
-66.8158332999, -18.7186111000 -66.8102777000, -18.7211111000 -66.9269443999,
@ -819,7 +815,7 @@ drop table t1;
CREATE TABLE t1 (
c1 geometry NOT NULL default '',
SPATIAL KEY i1 (c1)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
) DEFAULT CHARSET=latin1;
INSERT INTO t1 (c1) VALUES (
PolygonFromText('POLYGON((-18.6086111000 -66.9327777000,
-18.6055555000 -66.8158332999,
@ -833,7 +829,7 @@ DROP TABLE t1;
CREATE TABLE t1 (
c1 geometry NOT NULL default '',
SPATIAL KEY i1 (c1)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
) DEFAULT CHARSET=latin1;
INSERT INTO t1 (c1) VALUES (
PolygonFromText('POLYGON((-18.6086111000 -66.9327777000,
-18.6055555000 -66.8158332999,
@ -874,7 +870,7 @@ c3 varchar(10) collate utf8_bin default NULL,
spatial_point point NOT NULL,
PRIMARY KEY(id),
SPATIAL KEY (spatial_point)
)ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
) DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
INSERT INTO t1 (c2, c1, c3, spatial_point) VALUES
('y', 's', 'j', GeomFromText('POINT(167 74)')),
('r', 'n', 'd', GeomFromText('POINT(215 118)')),
@ -1548,7 +1544,7 @@ End of 5.0 tests.
# and invalid spatial data
#
CREATE TABLE t1(a POINT NOT NULL, b GEOMETRY NOT NULL,
SPATIAL KEY(a), SPATIAL KEY(b)) ENGINE=MyISAM;
SPATIAL KEY(a), SPATIAL KEY(b));
INSERT INTO t1 VALUES(GEOMFROMTEXT("point (0 0)"), GEOMFROMTEXT("point (1 1)"));
INSERT IGNORE INTO t1 SET a=GEOMFROMTEXT("point (-6 0)"), b=GEOMFROMTEXT("error");
ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
@ -1559,7 +1555,7 @@ ASTEXT(a) ASTEXT(b)
POINT(0 0) POINT(1 1)
DROP TABLE t1;
CREATE TABLE t1(a INT NOT NULL, b GEOMETRY NOT NULL,
KEY(a), SPATIAL KEY(b)) ENGINE=MyISAM;
KEY(a), SPATIAL KEY(b));
INSERT INTO t1 VALUES(0, GEOMFROMTEXT("point (1 1)"));
INSERT IGNORE INTO t1 SET a=0, b=GEOMFROMTEXT("error");
ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
@ -1573,7 +1569,7 @@ End of 5.1 tests
CREATE TABLE t1 (
l LINESTRING NOT NULL,
SPATIAL KEY(l)
) ENGINE = myisam;
);
INSERT INTO t1 VALUES(GeomFromText('LINESTRING(0 0, 1 1)'));
INSERT INTO t1 VALUES(GeomFromText('LINESTRING(1 1, 2 2)'));
INSERT INTO t1 VALUES(GeomFromText('LINESTRING(2 2, 3 3)'));
@ -1596,7 +1592,7 @@ DROP TABLE t1;
#
# MDEV-8239 Reverse spatial operations OP(const, field) do not get optimized
#
CREATE TABLE t1 (a GEOMETRY NOT NULL, SPATIAL KEY(a)) ENGINE=MyISAM;
CREATE TABLE t1 (a GEOMETRY NOT NULL, SPATIAL KEY(a));
INSERT INTO t1 VALUES (Point(1,2)),(Point(1,3));
EXPLAIN SELECT * FROM t1 WHERE MBRINTERSECTS(a,Point(1,2));
id select_type table type possible_keys key key_len ref rows Extra
@ -1614,7 +1610,7 @@ DROP TABLE t1;
#
# MDEV-8610 "WHERE CONTAINS(indexed_geometry_column,1)" causes full table scan
#
CREATE TABLE t1 (a GEOMETRY NOT NULL, SPATIAL KEY(a)) ENGINE=MyISAM;
CREATE TABLE t1 (a GEOMETRY NOT NULL, SPATIAL KEY(a));
INSERT INTO t1 VALUES (Point(1,1)),(Point(2,2)),(Point(3,3));
EXPLAIN SELECT * FROM t1 WHERE CONTAINS(a,1);
id select_type table type possible_keys key key_len ref rows Extra

View File

@ -11,15 +11,9 @@
##############################################################################
gis_split_inf : MDEV-14057 InnoDB GIS tests fail
row_format : MDEV-14057 InnoDB GIS tests fail
rtree_estimate : MDEV-14057 InnoDB GIS tests fail
rtree_multi_pk : MDEV-14057 InnoDB GIS tests fail
tree_search : MDEV-14057 InnoDB GIS tests fail
rtree_concurrent_srch: MDEV-14059 InnoDB assertion failure offset >= ((38U + 36 + 2 * 10) + 5) at page0page.h line 318
point_big : MDEV-14057 InnoDB GIS tests fail
geometry : MDEV-14057 InnoDB GIS tests fail
bug17057168 : MDEV-14057 InnoDB GIS tests fail
bug16236208 : MDEV-14057 InnoDB GIS tests fail
bug16266012 : MDEV-14057 InnoDB GIS tests fail
rtree_search : MDEV-14057 InnoDB GIS tests fail
rtree_old : MDEV-14057 InnoDB GIS tests fail

View File

@ -12,10 +12,8 @@ INSERT INTO t1 (location) SELECT POINT(tmp1.id, tmp2.id) FROM tmp tmp1,
tmp tmp2 ORDER BY tmp1.id, tmp2.id;
EXPLAIN SELECT id, ST_AsText(location) FROM t1 WHERE location = POINT(1,
2);
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 NULL ref location location 28 const 1 100.00 Using where
Warnings:
Note 1003 /* select#1 */ select `geotest`.`t1`.`id` AS `id`,st_astext(`geotest`.`t1`.`location`) AS `ST_AsText(location)` from `geotest`.`t1` where (`geotest`.`t1`.`location` = <cache>(point(1,2)))
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref location location 28 const 1 Using where
SELECT id, ST_AsText(location) FROM t1 WHERE location = POINT(1, 2);
id ST_AsText(location)
163 POINT(1 2)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,5 @@
SET GLOBAL innodb_file_per_table=1;
SET @saved_frequency = @@GLOBAL.innodb_purge_rseg_truncate_frequency;
SET GLOBAL innodb_purge_rseg_truncate_frequency = 1;
create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb ROW_FORMAT=COMPRESSED;
insert into t1 values(1, Point(1,1));
insert into t1 values(2, Point(2,2));
@ -39,14 +40,15 @@ set @g1 = ST_GeomFromText('Polygon((10 10,10 800,800 800,800 10,10 10))');
select count(*) from t1 where MBRWithin(t1.c2, @g1);
count(*)
0
SET @saved_dbug = @@SESSION.debug_dbug;
SET DEBUG='+d,page_copy_rec_list_start_compress_fail';
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
delete from t1;
SET DEBUG='-d,page_copy_rec_list_start_compress_fail';
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
select count(*) from t1 where MBRWithin(t1.c2, @g1);
count(*)
0
SET debug_dbug = @saved_dbug;
InnoDB 0 transactions not purged
drop table t1;
SET GLOBAL innodb_purge_rseg_truncate_frequency = @saved_frequency;

View File

@ -9,16 +9,12 @@ set i = i + 1;
end while;
end|
CALL insert_t1(70000);
select count(*) from t1;
count(*)
70000
check table t1;
Table Op Msg_type Msg_text
test.t1 check status OK
truncate table t1;
call mtr.add_suppression("InnoDB: A copy of page \[page id: space=[0-9]+, page number=[0-9]+\] in the doublewrite buffer slot [0-9]+ is not within space bounds");
START TRANSACTION;
CALL insert_t1(5000);
COMMIT;
select count(*) from t1;
count(*)
70000
delete from t1;
drop procedure insert_t1;
drop table t1;

View File

@ -6,10 +6,8 @@ SET @g1 = ST_GeomFromText('POINT(10 10)');
SET @g2 = ST_GeomFromText('POLYGON((5 5, 20 5, 20 21, 5 21, 5 5))');
SET @g3 = ST_GeomFromText('POLYGON((1.79769e+308 1.79769e+308, 20 5, -1.79769e+308 -1.79769e+308, 1.79769e+308 1.79769e+308))');
EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRContains(g, @g1);
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 NULL ALL g NULL NULL NULL 1 100.00 Using where
Warnings:
Note 1003 /* select#1 */ select st_astext(`test`.`t1`.`g`) AS `ST_AsText(g)` from `test`.`t1` where mbrcontains(`test`.`t1`.`g`,(@`g1`))
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL g NULL NULL NULL 1 Using where
SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g1);
ST_AsText(g)
INSERT INTO t1 VALUES(@g1);
@ -24,135 +22,105 @@ ANALYZE TABLE t1;
Table Op Msg_type Msg_text
test.t1 analyze status OK
EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRContains(g, @g1);
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 NULL range g g 34 NULL 1 100.00 Using where
Warnings:
Note 1003 /* select#1 */ select st_astext(`test`.`t1`.`g`) AS `ST_AsText(g)` from `test`.`t1` where mbrcontains(`test`.`t1`.`g`,(@`g1`))
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range g g 34 NULL 1 Using where
SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g1);
ST_AsText(g)
POINT(10 10)
EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRDisjoint(g, @g1);
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 NULL range g g 34 NULL 2 100.00 Using where
Warnings:
Note 1003 /* select#1 */ select st_astext(`test`.`t1`.`g`) AS `ST_AsText(g)` from `test`.`t1` where mbrdisjoint(`test`.`t1`.`g`,(@`g1`))
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range g g 34 NULL 2 Using where
SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g1);
ST_AsText(g)
POINT(10 10)
EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBREquals(g, @g1);
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 NULL range g g 34 NULL 1 100.00 Using where
Warnings:
Note 1003 /* select#1 */ select st_astext(`test`.`t1`.`g`) AS `ST_AsText(g)` from `test`.`t1` where mbrequals(`test`.`t1`.`g`,(@`g1`))
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range g g 34 NULL 1 Using where
SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g1);
ST_AsText(g)
POINT(10 10)
EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRIntersects(g, @g1);
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 NULL range g g 34 NULL 1 100.00 Using where
Warnings:
Note 1003 /* select#1 */ select st_astext(`test`.`t1`.`g`) AS `ST_AsText(g)` from `test`.`t1` where mbrintersects(`test`.`t1`.`g`,(@`g1`))
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range g g 34 NULL 1 Using where
SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g1);
ST_AsText(g)
POINT(10 10)
EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g1);
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 NULL range g g 34 NULL 1 100.00 Using where
Warnings:
Note 1003 /* select#1 */ select st_astext(`test`.`t1`.`g`) AS `ST_AsText(g)` from `test`.`t1` where mbrwithin(`test`.`t1`.`g`,(@`g1`))
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range g g 34 NULL 1 Using where
SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g1);
ST_AsText(g)
POINT(10 10)
EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRContains(g, @g2);
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 NULL range g g 34 NULL 1 100.00 Using where
Warnings:
Note 1003 /* select#1 */ select st_astext(`test`.`t1`.`g`) AS `ST_AsText(g)` from `test`.`t1` where mbrcontains(`test`.`t1`.`g`,(@`g2`))
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range g g 34 NULL 1 Using where
SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g2);
ST_AsText(g)
POINT(10 10)
POLYGON((5 5,20 5,20 21,5 21,5 5))
EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRDisjoint(g, @g2);
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 NULL range g g 34 NULL 1 100.00 Using where
Warnings:
Note 1003 /* select#1 */ select st_astext(`test`.`t1`.`g`) AS `ST_AsText(g)` from `test`.`t1` where mbrdisjoint(`test`.`t1`.`g`,(@`g2`))
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range g g 34 NULL 1 Using where
SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g2);
ST_AsText(g)
POINT(10 10)
POLYGON((5 5,20 5,20 21,5 21,5 5))
EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBREquals(g, @g2);
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 NULL range g g 34 NULL 1 100.00 Using where
Warnings:
Note 1003 /* select#1 */ select st_astext(`test`.`t1`.`g`) AS `ST_AsText(g)` from `test`.`t1` where mbrequals(`test`.`t1`.`g`,(@`g2`))
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range g g 34 NULL 1 Using where
SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g2);
ST_AsText(g)
POINT(10 10)
POLYGON((5 5,20 5,20 21,5 21,5 5))
EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRIntersects(g, @g2);
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 NULL range g g 34 NULL 2 100.00 Using where
Warnings:
Note 1003 /* select#1 */ select st_astext(`test`.`t1`.`g`) AS `ST_AsText(g)` from `test`.`t1` where mbrintersects(`test`.`t1`.`g`,(@`g2`))
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range g g 34 NULL 2 Using where
SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g2);
ST_AsText(g)
POINT(10 10)
POLYGON((5 5,20 5,20 21,5 21,5 5))
EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g2);
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 NULL range g g 34 NULL 2 100.00 Using where
Warnings:
Note 1003 /* select#1 */ select st_astext(`test`.`t1`.`g`) AS `ST_AsText(g)` from `test`.`t1` where mbrwithin(`test`.`t1`.`g`,(@`g2`))
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range g g 34 NULL 2 Using where
SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g2);
ST_AsText(g)
POINT(10 10)
POLYGON((5 5,20 5,20 21,5 21,5 5))
EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRContains(g, @g3);
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 NULL ALL g NULL NULL NULL 3 100.00 Using where
Warnings:
Note 1003 /* select#1 */ select st_astext(`test`.`t1`.`g`) AS `ST_AsText(g)` from `test`.`t1` where mbrcontains(`test`.`t1`.`g`,(@`g3`))
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL g NULL NULL NULL 3 Using where
SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g3);
ST_AsText(g)
POINT(10 10)
POLYGON((5 5,20 5,20 21,5 21,5 5))
POLYGON((1.79769e308 1.79769e308,20 5,-1.79769e308 -1.79769e308,1.79769e308 1.79769e308))
EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRDisjoint(g, @g3);
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 NULL ALL g NULL NULL NULL 3 100.00 Using where
Warnings:
Note 1003 /* select#1 */ select st_astext(`test`.`t1`.`g`) AS `ST_AsText(g)` from `test`.`t1` where mbrdisjoint(`test`.`t1`.`g`,(@`g3`))
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL g NULL NULL NULL 3 Using where
SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g3);
ST_AsText(g)
POINT(10 10)
POLYGON((5 5,20 5,20 21,5 21,5 5))
POLYGON((1.79769e308 1.79769e308,20 5,-1.79769e308 -1.79769e308,1.79769e308 1.79769e308))
EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBREquals(g, @g3);
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 NULL ALL g NULL NULL NULL 3 100.00 Using where
Warnings:
Note 1003 /* select#1 */ select st_astext(`test`.`t1`.`g`) AS `ST_AsText(g)` from `test`.`t1` where mbrequals(`test`.`t1`.`g`,(@`g3`))
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL g NULL NULL NULL 3 Using where
SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g3);
ST_AsText(g)
POINT(10 10)
POLYGON((5 5,20 5,20 21,5 21,5 5))
POLYGON((1.79769e308 1.79769e308,20 5,-1.79769e308 -1.79769e308,1.79769e308 1.79769e308))
EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRIntersects(g, @g3);
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 NULL ALL g NULL NULL NULL 3 100.00 Using where
Warnings:
Note 1003 /* select#1 */ select st_astext(`test`.`t1`.`g`) AS `ST_AsText(g)` from `test`.`t1` where mbrintersects(`test`.`t1`.`g`,(@`g3`))
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL g NULL NULL NULL 3 Using where
SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g3);
ST_AsText(g)
POINT(10 10)
POLYGON((5 5,20 5,20 21,5 21,5 5))
POLYGON((1.79769e308 1.79769e308,20 5,-1.79769e308 -1.79769e308,1.79769e308 1.79769e308))
EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g3);
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 NULL ALL g NULL NULL NULL 3 100.00 Using where
Warnings:
Note 1003 /* select#1 */ select st_astext(`test`.`t1`.`g`) AS `ST_AsText(g)` from `test`.`t1` where mbrwithin(`test`.`t1`.`g`,(@`g3`))
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL g NULL NULL NULL 3 Using where
SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g3);
ST_AsText(g)
POINT(10 10)

File diff suppressed because it is too large Load Diff

View File

@ -1,24 +1,8 @@
SET @saved_frequency = @@GLOBAL.innodb_purge_rseg_truncate_frequency;
SET GLOBAL innodb_purge_rseg_truncate_frequency = 1;
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)
b point not null,d point not null, spatial key (d),spatial key (b)
) engine=innodb;
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|
call p(200);
InnoDB 0 transactions not purged
drop procedure p;
drop table t;
SET GLOBAL innodb_purge_rseg_truncate_frequency = @saved_frequency;

View File

@ -14,19 +14,19 @@ count(*)
set @g1 = ST_GeomFromText('Polygon((0 0,0 1000,1000 1000,1000 0,0 0))');
select count(*) from t1 where MBRWithin(t1.c2, @g1);
count(*)
999
1000
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(*)
99
100
set @g1 = ST_GeomFromText('Polygon((10 10,10 800,800 800,800 10,10 10))');
select count(*) from t1 where MBRWithin(t1.c2, @g1);
count(*)
789
791
set @g1 = ST_GeomFromText('Polygon((100 100,100 800,800 800,800 100,100 100))');
select count(*) from t1 where MBRWithin(t1.c2, @g1);
count(*)
699
701
set @g1 = ST_GeomFromText('Point(1 1)');
select count(*) from t1 where MBRequals(t1.c2, @g1);
count(*)

View File

@ -14,9 +14,10 @@ insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
SET SESSION debug="+d, rtr_page_need_second_split";
SET @saved_dbug = @@SESSION.debug_dbug;
SET debug_dbug = '+d, rtr_page_need_second_split';
insert into t1 select * from t1;
SET SESSION debug="-d, rtr_page_need_second_split";
SET debug_dbug = @saved_dbug;
delete from t1;
insert into t1 values(1, Point(1,1));
insert into t1 values(2, Point(2,2));
@ -62,6 +63,8 @@ count(*)
0
drop index c2 on t1;
create spatial index idx2 on t1(c2);
affected rows: 0
info: Records: 0 Duplicates: 0 Warnings: 0
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
@ -73,7 +76,10 @@ 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(*)
73728
# restart: --innodb-read-only
set @g1 = ST_GeomFromText('Polygon((2 2,2 800,800 800,800 2,2 2))');
select count(*) from t1 where MBRWithin(t1.c2, @g1);
count(*)
65536
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(*)
@ -81,6 +87,5 @@ count(*)
set @g1 = ST_GeomFromText('Polygon((2 2,2 800,800 800,800 2,2 2))');
select count(*) from t1 where MBRWithin(t1.c2, @g1);
count(*)
57344
# restart
65536
drop table t1;

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,4 @@
--source include/have_innodb.inc
--source include/have_debug.inc
create table t1(a geometrycollection not null,spatial key(a))engine=innodb;
@ -21,9 +19,6 @@ insert into t1(a) values( geometrycollection(linestring(point(85,-29), point(
insert into t1(a) values( geometrycollection(polygon(linestring(point(-9,0), point(-17,-15), point(-9,0)), linestring(point(-11,1), point(18,12), point(15,3), point(7,0), point(-11,1)), linestring(point(19,5), point(19,5)), linestring(point(17,-11), point(8,4), point(17,-11)), linestring(point(14914539334033432000000000000000000000.000000,127247994336690690000000000000000000000.000000), point(-14,-7), point(13,-2))), point(-4,-7), polygon(linestring(point(-18,9), point(11,-1), point(-18,9)), linestring(point(9,-3), point(9,-3)), linestring(point(-7,-9), point(9,-11), point(11,14), point(1.663324e+308,1.572127e+308)), linestring(point(-15,4), point(18,12), point(7,2), point(-15,4)), linestring(point(-15,-18), point(-20,-15), point(1152921504606846972,34359738370))), polygon(linestring(point(-5,-19), point(-11,11), point(10,5), point(-7,13), point(-5,-19)), linestring(point(-8,-6), point(-4,16), point(-8,-6)), linestring(point(-6,-10), point(3,-12), point(-6,-10)), linestring(point(-16,1), point(20,-12), point(-16,1)), linestring(point(-8,5), point(-20,-4), point(4,1), point(-6,-6), point(-8,5)), linestring(point(-8,-11), point(-5,-14), point(-8,-11)), linestring(point(3,-16), point(-15,-13), point(1.166708e+308,1.901147e+307), point(-8,6), point(3,-16))), point(0,-5)) ) ;
insert into t1(a) values( geometrycollection(linestring(point(-33,99), point(99,-87), point(38,-79), point(33,-39), point(-91,-8), point(46,-87))) ) ;
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;

View File

@ -0,0 +1,3 @@
-- source include/innodb_page_size.inc
-- source include/innodb_row_format.inc
-- source ../../../t/gis-rtree.test

View File

@ -1,34 +0,0 @@
--source include/not_embedded.inc
--source include/have_innodb.inc
--source include/innodb_page_size_small.inc
# Test the redundant format
LET $file_per_table='off';
LET $file_format='Antelope';
LET $row_format=REDUNDANT;
--source include/innodb_gis_row_format_basic.inc
# Test the compressed format
LET $file_per_table='on';
LET $file_format='Barracuda';
LET $row_format=COMPRESSED;
--source include/innodb_gis_row_format_basic.inc
# Test the dynamic format
LET $file_per_table='on';
LET $file_format='Barracuda';
LET $row_format=DYNAMIC;
--source include/innodb_gis_row_format_basic.inc
# Test the compact format
LET $file_per_table='off';
LET $file_format='Antelope';
LET $row_format=COMPACT;
--source include/innodb_gis_row_format_basic.inc

View File

@ -4,17 +4,15 @@
# Not supported in embedded
--source include/not_embedded.inc
--source include/have_innodb.inc
--source include/have_innodb_zip.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 with R-tree index.
SET GLOBAL innodb_file_per_table=1;
SET @saved_frequency = @@GLOBAL.innodb_purge_rseg_truncate_frequency;
SET GLOBAL innodb_purge_rseg_truncate_frequency = 1;
#Create table with R-tree index.
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.
@ -53,12 +51,14 @@ 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;
SET DEBUG='-d,page_copy_rec_list_start_compress_fail';
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;
SET GLOBAL innodb_purge_rseg_truncate_frequency = @saved_frequency;

View File

@ -4,8 +4,7 @@
# Restarting is not supported in embedded
--source include/not_embedded.inc
--source include/have_innodb.inc
--source include/have_innodb_zip.inc
--source include/innodb_page_size_small.inc
--source include/big_test.inc
# Valgrind takes too much time on PB2 even in the --big-test runs.
--source include/not_valgrind.inc
@ -29,31 +28,14 @@ delimiter ;|
# Test level 3 rtree.
CALL insert_t1(70000);
select count(*) from t1;
# Check table.
check table t1;
truncate table t1;
# Test crash recovery.
#
#
call mtr.add_suppression("InnoDB: A copy of page \[page id: space=[0-9]+, page number=[0-9]+\] in the doublewrite buffer slot [0-9]+ is not within space bounds");
# Test rtree enlarge recovery.
START TRANSACTION;
CALL insert_t1(5000);
#select count(*) from t1;
# Check table.
#check table t1;
COMMIT;
--let $shutdown_timeout=0
--source include/restart_mysqld.inc
check table t1;
select count(*) from t1;
delete from t1;
# Clean up.
drop procedure insert_t1;
drop table t1;

File diff suppressed because it is too large Load Diff

View File

@ -1,52 +1,32 @@
# 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
--source include/innodb_page_size.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
SET @saved_frequency = @@GLOBAL.innodb_purge_rseg_truncate_frequency;
SET GLOBAL innodb_purge_rseg_truncate_frequency = 1;
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)
b point not null,d point not null, 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
--disable_query_log
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;
let $n=200;
while ($n) {
begin;
insert into t values(@p,@p),(@p,@p);
insert into t select @p,@p
from t a,t b,t c,t d,t e,t f,t g;
delete from t;
set n:=n+1;
until n >= i end repeat;
end|
delimiter ;|
commit;
dec $n;
}
--enable_query_log
call p(200);
--source include/wait_all_purged.inc
--source ../../innodb/include/wait_all_purged.inc
# Clean up.
drop procedure p;
drop table t;
SET GLOBAL innodb_purge_rseg_truncate_frequency = @saved_frequency;

View File

@ -31,9 +31,10 @@ insert into t1 select * from t1;
insert into t1 select * from t1;
#Check second round spliting.
SET SESSION debug="+d, rtr_page_need_second_split";
SET @saved_dbug = @@SESSION.debug_dbug;
SET debug_dbug = '+d, rtr_page_need_second_split';
insert into t1 select * from t1;
SET SESSION debug="-d, rtr_page_need_second_split";
SET debug_dbug = @saved_dbug;
delete from t1;
@ -79,24 +80,27 @@ select count(*) from t1 where MBRWithin(t1.c2, @g1);
drop index c2 on t1;
# Test create index with algorithm=inplace
--enable_info
create spatial index idx2 on t1(c2);
--disable_info
show create table 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);
# test read only case
let $restart_parameters = restart: --innodb-read-only;
let $restart_parameters = --innodb-read-only;
--source include/restart_mysqld.inc
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((2 2,2 800,800 800,800 2,2 2))');
select count(*) from t1 where MBRWithin(t1.c2, @g1);
let $restart_parameters = restart;
let $restart_parameters =;
--source include/restart_mysqld.inc
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((2 2,2 800,800 800,800 2,2 2))');
select count(*) from t1 where MBRWithin(t1.c2, @g1);
# Clean up.
drop table t1;

File diff suppressed because one or more lines are too long

View File

@ -3,15 +3,12 @@
#
# test of rtree (using with spatial data)
#
--disable_warnings
DROP TABLE IF EXISTS t1, t2;
--enable_warnings
CREATE TABLE t1 (
fid INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
g GEOMETRY NOT NULL,
SPATIAL KEY(g)
) ENGINE=MyISAM;
);
SHOW CREATE TABLE t1;
@ -33,7 +30,7 @@ DROP TABLE t1;
CREATE TABLE t2 (
fid INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
g GEOMETRY NOT NULL
) ENGINE=MyISAM;
);
let $1=10;
while ($1)
@ -70,7 +67,6 @@ while ($1)
DROP TABLE t2;
drop table if exists t1;
CREATE TABLE t1 (a geometry NOT NULL, SPATIAL (a));
INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)"));
INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)"));
@ -113,7 +109,7 @@ CREATE TABLE t1 (
fid INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
g GEOMETRY NOT NULL,
SPATIAL KEY(g)
) ENGINE=MyISAM;
);
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(1 2, 2 3)')),(GeomFromText('LineString(1 2, 2 4)'));
#select * from t1 where g<GeomFromText('LineString(1 2, 2 3)');
@ -125,9 +121,7 @@ CREATE TABLE t1 (
name VARCHAR(32),
SPATIAL KEY (line)
) engine=myisam;
);
ALTER TABLE t1 DISABLE KEYS;
INSERT INTO t1 (name, kind, line) VALUES
@ -172,7 +166,7 @@ CREATE TABLE t2 (geom GEOMETRY NOT NULL, SPATIAL KEY gk(geom));
INSERT IGNORE INTO t2 SELECT GeomFromText(st) FROM t1;
drop table t1, t2;
CREATE TABLE t1 (`geometry` geometry NOT NULL default '',SPATIAL KEY `gndx` (`geometry`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;
CREATE TABLE t1 (`geometry` geometry NOT NULL default '',SPATIAL KEY `gndx` (`geometry`)) DEFAULT CHARSET=latin1;
INSERT INTO t1 (geometry) VALUES
(PolygonFromText('POLYGON((-18.6086111000 -66.9327777000, -18.6055555000
@ -193,7 +187,7 @@ drop table t1;
CREATE TABLE t1 (
c1 geometry NOT NULL default '',
SPATIAL KEY i1 (c1)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
) DEFAULT CHARSET=latin1;
INSERT INTO t1 (c1) VALUES (
PolygonFromText('POLYGON((-18.6086111000 -66.9327777000,
-18.6055555000 -66.8158332999,
@ -207,7 +201,7 @@ DROP TABLE t1;
CREATE TABLE t1 (
c1 geometry NOT NULL default '',
SPATIAL KEY i1 (c1)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
) DEFAULT CHARSET=latin1;
INSERT INTO t1 (c1) VALUES (
PolygonFromText('POLYGON((-18.6086111000 -66.9327777000,
-18.6055555000 -66.8158332999,
@ -252,7 +246,7 @@ CREATE TABLE t1 (id bigint(12) unsigned NOT NULL auto_increment,
spatial_point point NOT NULL,
PRIMARY KEY(id),
SPATIAL KEY (spatial_point)
)ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
) DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
#
INSERT INTO t1 (c2, c1, c3, spatial_point) VALUES
('y', 's', 'j', GeomFromText('POINT(167 74)')),
@ -936,7 +930,7 @@ DROP TABLE t1;
--echo #
CREATE TABLE t1(a POINT NOT NULL, b GEOMETRY NOT NULL,
SPATIAL KEY(a), SPATIAL KEY(b)) ENGINE=MyISAM;
SPATIAL KEY(a), SPATIAL KEY(b));
INSERT INTO t1 VALUES(GEOMFROMTEXT("point (0 0)"), GEOMFROMTEXT("point (1 1)"));
--error ER_CANT_CREATE_GEOMETRY_OBJECT
INSERT IGNORE INTO t1 SET a=GEOMFROMTEXT("point (-6 0)"), b=GEOMFROMTEXT("error");
@ -946,7 +940,7 @@ SELECT ASTEXT(a), ASTEXT(b) FROM t1;
DROP TABLE t1;
CREATE TABLE t1(a INT NOT NULL, b GEOMETRY NOT NULL,
KEY(a), SPATIAL KEY(b)) ENGINE=MyISAM;
KEY(a), SPATIAL KEY(b));
INSERT INTO t1 VALUES(0, GEOMFROMTEXT("point (1 1)"));
--error ER_CANT_CREATE_GEOMETRY_OBJECT
INSERT IGNORE INTO t1 SET a=0, b=GEOMFROMTEXT("error");
@ -963,7 +957,7 @@ DROP TABLE t1;
CREATE TABLE t1 (
l LINESTRING NOT NULL,
SPATIAL KEY(l)
) ENGINE = myisam;
);
INSERT INTO t1 VALUES(GeomFromText('LINESTRING(0 0, 1 1)'));
INSERT INTO t1 VALUES(GeomFromText('LINESTRING(1 1, 2 2)'));
@ -985,7 +979,7 @@ DROP TABLE t1;
--echo #
--echo # MDEV-8239 Reverse spatial operations OP(const, field) do not get optimized
--echo #
CREATE TABLE t1 (a GEOMETRY NOT NULL, SPATIAL KEY(a)) ENGINE=MyISAM;
CREATE TABLE t1 (a GEOMETRY NOT NULL, SPATIAL KEY(a));
INSERT INTO t1 VALUES (Point(1,2)),(Point(1,3));
EXPLAIN SELECT * FROM t1 WHERE MBRINTERSECTS(a,Point(1,2));
EXPLAIN SELECT * FROM t1 WHERE ST_INTERSECTS(a,Point(1,2));
@ -996,7 +990,7 @@ DROP TABLE t1;
--echo #
--echo # MDEV-8610 "WHERE CONTAINS(indexed_geometry_column,1)" causes full table scan
--echo #
CREATE TABLE t1 (a GEOMETRY NOT NULL, SPATIAL KEY(a)) ENGINE=MyISAM;
CREATE TABLE t1 (a GEOMETRY NOT NULL, SPATIAL KEY(a));
INSERT INTO t1 VALUES (Point(1,1)),(Point(2,2)),(Point(3,3));
EXPLAIN SELECT * FROM t1 WHERE CONTAINS(a,1);
EXPLAIN SELECT * FROM t1 WHERE CONTAINS(a,1.0);