mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MariaDB adjustments to innodb_gis tests.
Some test are still disabled as they provide different results, fail on different error or crash. Fixes also MDEV-14060 InnoDB: Foreign key constraint to geometry type does not work where test intentionally tried incorrect cases.
This commit is contained in:
420
mysql-test/include/innodb_gis_row_format_basic.inc
Normal file
420
mysql-test/include/innodb_gis_row_format_basic.inc
Normal file
@ -0,0 +1,420 @@
|
||||
--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;
|
||||
|
15
mysql-test/include/kill_and_restart_mysqld.inc
Normal file
15
mysql-test/include/kill_and_restart_mysqld.inc
Normal file
@ -0,0 +1,15 @@
|
||||
if (!$restart_parameters)
|
||||
{
|
||||
let $restart_parameters = restart;
|
||||
}
|
||||
|
||||
--let $_server_id= `SELECT @@server_id`
|
||||
--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.$_server_id.expect
|
||||
|
||||
--echo # Kill and $restart_parameters
|
||||
--exec echo "$restart_parameters" > $_expect_file_name
|
||||
--shutdown_server 0
|
||||
--source include/wait_until_disconnected.inc
|
||||
--enable_reconnect
|
||||
--source include/wait_until_connected_again.inc
|
||||
--disable_reconnect
|
60
mysql-test/include/wait_innodb_all_purged.inc
Normal file
60
mysql-test/include/wait_innodb_all_purged.inc
Normal file
@ -0,0 +1,60 @@
|
||||
# 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
|
26
mysql-test/suite/innodb_gis/disabled.def
Normal file
26
mysql-test/suite/innodb_gis/disabled.def
Normal file
@ -0,0 +1,26 @@
|
||||
##############################################################################
|
||||
#
|
||||
# List the test cases that are to be disabled temporarily.
|
||||
#
|
||||
# Separate the test case name and the comment with ':'.
|
||||
#
|
||||
# <testcasename> : BUG#<xxxx> <date disabled> <disabler> <comment>
|
||||
#
|
||||
# Do not use any TAB characters for whitespace.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
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
|
||||
rtree_recovery : MDEV-14058 InnoDB Assertion failure !leaf on rem0rec.cc line 566 on test innodb_gis.rtree_recovery
|
||||
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
|
@ -32,7 +32,7 @@ check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
truncate table t1;
|
||||
call mtr.add_suppression("InnoDB: page [0-9]+ in the doublewrite buffer is not within space bounds.*");
|
||||
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;
|
||||
|
@ -24,10 +24,8 @@ INSERT INTO gis_point VALUES
|
||||
(ST_PointFromText('POINT(100.32374832 101.23741821)'), ST_PointFromText('POINT(200.32247328 101.86728201)')),
|
||||
(ST_PointFromText('POINT(100.32374832 101.23741821)'), ST_PointFromText('POINT(100.32374832 101.98527111)'));
|
||||
EXPLAIN SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point GROUP BY p1, p2;
|
||||
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE gis_point NULL ALL NULL NULL NULL NULL # 100.00 Using temporary; Using filesort
|
||||
Warnings:
|
||||
Note 1003 /* select#1 */ select st_astext(`test`.`gis_point`.`p1`) AS `ST_AsText(p1)`,st_astext(`test`.`gis_point`.`p2`) AS `ST_AsText(p2)` from `test`.`gis_point` group by `test`.`gis_point`.`p1`,`test`.`gis_point`.`p2`
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE gis_point ALL NULL NULL NULL NULL 4 #
|
||||
SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point GROUP BY p1, p2;
|
||||
ST_AsText(p1) ST_AsText(p2)
|
||||
POINT(100.32374832 101.23741821) POINT(100.32374832 101.98527111)
|
||||
@ -146,10 +144,11 @@ POINT(1 0) POINT(10 20)
|
||||
POINT(0 0) POINT(10 20)
|
||||
SELECT ST_AsText(p), ST_AsText(p1) FROM t1 WHERE MBRWithin(p, ST_GeomFromText('POLYGON((-1 0.5, -1 -0.5, 1 -0.5, 1 0.5, -1 0.5))'));
|
||||
ST_AsText(p) ST_AsText(p1)
|
||||
POINT(1 0) POINT(10 20)
|
||||
POINT(0 0) POINT(10 20)
|
||||
# Drop spatial keys on the table
|
||||
ALTER TABLE t1 DROP KEY p, DROP KEY p1;
|
||||
ERROR 42000: Can't DROP 'p1'; check that column/key exists
|
||||
ERROR 42000: Can't DROP INDEX `p1`; check that it exists
|
||||
SELECT name, mtype, prtype, len FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS WHERE name = 'p' OR name = 'g' OR name = 'p1';
|
||||
name mtype prtype len
|
||||
p 14 1535 12
|
||||
@ -171,6 +170,7 @@ POINT(1 0) POINT(10 20)
|
||||
POINT(0 0) POINT(10 20)
|
||||
SELECT ST_AsText(p), ST_AsText(p1) FROM t1 WHERE MBRWithin(p, ST_GeomFromText('POLYGON((-1 0.5, -1 -0.5, 1 -0.5, 1 0.5, -1 0.5))'));
|
||||
ST_AsText(p) ST_AsText(p1)
|
||||
POINT(1 0) POINT(10 20)
|
||||
POINT(0 0) POINT(10 20)
|
||||
TRUNCATE t1;
|
||||
ALTER TABLE t1 DROP COLUMN p, DROP COLUMN p1;
|
||||
@ -203,8 +203,10 @@ SELECT ST_AsText(p), ST_AsText(p1) FROM t1 WHERE MBRWithin(p1, ST_GeomFromText('
|
||||
ST_AsText(p) ST_AsText(p1)
|
||||
POINT(0 1) POINT(10 19)
|
||||
POINT(1 1) POINT(10 20)
|
||||
POINT(1 0) POINT(10 21)
|
||||
SELECT ST_AsText(p), ST_AsText(p1) FROM t1 WHERE MBRWithin(p, ST_GeomFromText('POLYGON((-1 0.5, -1 -0.5, 1 -0.5, 1 0.5, -1 0.5))'));
|
||||
ST_AsText(p) ST_AsText(p1)
|
||||
POINT(1 0) POINT(10 21)
|
||||
POINT(0 0) POINT(10 22)
|
||||
ALTER TABLE t1 DROP COLUMN p1, ADD COLUMN p1 POINT, CHANGE COLUMN p pp POINT AFTER p1;
|
||||
SELECT name, mtype, prtype, len FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS WHERE name = 'pp' OR name = 'g' OR name = 'p1';
|
||||
@ -232,9 +234,14 @@ SELECT ST_AsText(pp), ST_AsText(p1) FROM t1 WHERE p1 = ST_PointFromText('POINT(1
|
||||
ST_AsText(pp) ST_AsText(p1)
|
||||
SELECT ST_AsText(pp), ST_AsText(p1) FROM t1 WHERE MBRWithin(p1, ST_GeomFromText('POLYGON((5 5, 20 5, 20 21, 5 21, 5 5))')) ORDER BY pp;
|
||||
ST_AsText(pp) ST_AsText(p1)
|
||||
POINT(0 0) POINT(5 5)
|
||||
POINT(0 1) POINT(5 5)
|
||||
POINT(1 0) POINT(5 5)
|
||||
POINT(1 1) POINT(5 5)
|
||||
SELECT ST_AsText(pp), ST_AsText(p1) FROM t1 WHERE MBRWithin(pp, ST_GeomFromText('POLYGON((-1 0.5, -1 -0.5, 1 -0.5, 1 0.5, -1 0.5))')) ORDER BY pp;
|
||||
ST_AsText(pp) ST_AsText(p1)
|
||||
POINT(0 0) POINT(5 5)
|
||||
POINT(1 0) POINT(5 5)
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Test when the POINT is on B-TREE
|
||||
@ -263,10 +270,8 @@ INSERT INTO gis_point VALUES
|
||||
(206, ST_PointFromWKB(ST_AsWKB(ST_PointFromText('POINT(103.43718640 105.248206478)'))));
|
||||
'The ORDER BY will use filesort'
|
||||
EXPLAIN SELECT ST_AsText(p) FROM gis_point ORDER BY p;
|
||||
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE gis_point NULL ALL NULL NULL NULL NULL # 100.00 Using filesort
|
||||
Warnings:
|
||||
Note 1003 /* select#1 */ select st_astext(`test`.`gis_point`.`p`) AS `ST_AsText(p)` from `test`.`gis_point` order by `test`.`gis_point`.`p`
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE gis_point ALL NULL NULL NULL NULL 10 #
|
||||
SELECT ST_AsText(p) FROM gis_point ORDER BY p;
|
||||
ST_AsText(p)
|
||||
POINT(10 10)
|
||||
@ -418,7 +423,6 @@ CREATE TABLE t2 AS SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
SELECT name, mtype, prtype, len FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS WHERE name = 'p' OR name = 'g' AND name='t2';
|
||||
name mtype prtype len
|
||||
p 14 1535 12
|
||||
DROP table t2;
|
||||
#
|
||||
# Test when POINT is used in spatial index
|
||||
@ -453,8 +457,6 @@ SELECT name, mtype, prtype, len FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS WHERE
|
||||
name mtype prtype len
|
||||
p1 14 1535 12
|
||||
p2 14 1535 12
|
||||
p1 14 1535 12
|
||||
p2 14 1535 12
|
||||
SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point1;
|
||||
ST_AsText(p1) ST_AsText(p2)
|
||||
POINT(1 2) POINT(-1 -3)
|
||||
@ -475,14 +477,18 @@ ST_AsText(p1)
|
||||
POINT(5 10)
|
||||
SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRWithin(p1, @poly1);
|
||||
ST_AsText(p1)
|
||||
POINT(2 4)
|
||||
POINT(3 6)
|
||||
POINT(4 8)
|
||||
POINT(5 10)
|
||||
SELECT ST_AsText(p2) FROM gis_point1 WHERE ST_Contains(@poly2, p2);
|
||||
ST_AsText(p2)
|
||||
POINT(-1 -3)
|
||||
POINT(-2 -6)
|
||||
POINT(-3 -9)
|
||||
POINT(-4 -12)
|
||||
POINT(-5 -15)
|
||||
POINT(0 0)
|
||||
POINT(-1 -1)
|
||||
SELECT ST_AsText(p2) FROM gis_point1 WHERE ST_Equals(p2, @p1);
|
||||
ST_AsText(p2)
|
||||
@ -493,10 +499,13 @@ POINT(20.5 41)
|
||||
POINT(32.1234 64.2468)
|
||||
SELECT ST_AsText(p1) FROM gis_point1 WHERE ST_Contains(@mpoly, p1);
|
||||
ST_AsText(p1)
|
||||
POINT(3 6)
|
||||
POINT(4 8)
|
||||
POINT(5 10)
|
||||
POINT(6 12)
|
||||
POINT(7 14)
|
||||
POINT(8 16)
|
||||
POINT(10 21)
|
||||
POINT(20.5 41)
|
||||
SELECT ST_AsText(p1) FROM gis_point1 WHERE ST_Contains(@mpoly, p1) AND NOT MBRWithin(p1, @mpoly);
|
||||
ST_AsText(p1)
|
||||
@ -549,8 +558,10 @@ POINT(4 8)
|
||||
POINT(5 10)
|
||||
SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRWithin(p1, @poly1);
|
||||
ST_AsText(p1)
|
||||
POINT(2 4)
|
||||
POINT(3 6)
|
||||
POINT(4 8)
|
||||
POINT(5 10)
|
||||
SELECT ST_AsText(p1) FROM gis_point1 WHERE ST_Touches(p1, @poly1);
|
||||
ST_AsText(p1)
|
||||
POINT(2 4)
|
||||
@ -673,8 +684,10 @@ POINT(4 8)
|
||||
POINT(5 10)
|
||||
SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRWithin(p1, @poly1);
|
||||
ST_AsText(p1)
|
||||
POINT(2 4)
|
||||
POINT(3 6)
|
||||
POINT(4 8)
|
||||
POINT(5 10)
|
||||
SELECT ST_AsText(p1) FROM gis_point1 WHERE ST_Touches(p1, @poly1);
|
||||
ST_AsText(p1)
|
||||
POINT(2 4)
|
||||
@ -756,14 +769,18 @@ ST_AsText(p1)
|
||||
POINT(5 10)
|
||||
SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @poly1);
|
||||
ST_AsText(p1)
|
||||
POINT(2 4)
|
||||
POINT(3 6)
|
||||
POINT(4 8)
|
||||
POINT(5 10)
|
||||
SELECT ST_AsText(p2) FROM gis_point WHERE ST_Contains(@poly2, p2);
|
||||
ST_AsText(p2)
|
||||
POINT(-1 -3)
|
||||
POINT(-2 -6)
|
||||
POINT(-3 -9)
|
||||
POINT(-4 -12)
|
||||
POINT(-5 -15)
|
||||
POINT(0 0)
|
||||
POINT(-1 -1)
|
||||
SELECT ST_AsText(p2) FROM gis_point WHERE ST_Equals(p2, @p1);
|
||||
ST_AsText(p2)
|
||||
@ -774,10 +791,13 @@ POINT(20.5 41)
|
||||
POINT(32.1234 64.2468)
|
||||
SELECT ST_AsText(p1) FROM gis_point WHERE ST_Contains(@mpoly, p1);
|
||||
ST_AsText(p1)
|
||||
POINT(3 6)
|
||||
POINT(4 8)
|
||||
POINT(5 10)
|
||||
POINT(6 12)
|
||||
POINT(7 14)
|
||||
POINT(8 16)
|
||||
POINT(10 21)
|
||||
POINT(20.5 41)
|
||||
SELECT ST_AsText(p1) FROM gis_point WHERE ST_Contains(@mpoly, p1) AND NOT MBRWithin(p1, @mpoly);
|
||||
ST_AsText(p1)
|
||||
@ -830,8 +850,10 @@ POINT(4 8)
|
||||
POINT(5 10)
|
||||
SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @poly1);
|
||||
ST_AsText(p1)
|
||||
POINT(2 4)
|
||||
POINT(3 6)
|
||||
POINT(4 8)
|
||||
POINT(5 10)
|
||||
SELECT ST_AsText(p1) FROM gis_point WHERE ST_Touches(p1, @poly1);
|
||||
ST_AsText(p1)
|
||||
POINT(2 4)
|
||||
@ -954,8 +976,10 @@ POINT(4 8)
|
||||
POINT(5 10)
|
||||
SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @poly1);
|
||||
ST_AsText(p1)
|
||||
POINT(2 4)
|
||||
POINT(3 6)
|
||||
POINT(4 8)
|
||||
POINT(5 10)
|
||||
SELECT ST_AsText(p1) FROM gis_point WHERE ST_Touches(p1, @poly1);
|
||||
ST_AsText(p1)
|
||||
POINT(2 4)
|
||||
@ -1067,8 +1091,10 @@ POINT(4 8)
|
||||
POINT(5 10)
|
||||
SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @poly1);
|
||||
ST_AsText(p1)
|
||||
POINT(2 4)
|
||||
POINT(3 6)
|
||||
POINT(4 8)
|
||||
POINT(5 10)
|
||||
SELECT ST_AsText(p1) FROM gis_point WHERE ST_Touches(p1, @poly1);
|
||||
ST_AsText(p1)
|
||||
POINT(2 4)
|
||||
@ -1191,8 +1217,10 @@ POINT(4 8)
|
||||
POINT(5 10)
|
||||
SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @poly1);
|
||||
ST_AsText(p1)
|
||||
POINT(2 4)
|
||||
POINT(3 6)
|
||||
POINT(4 8)
|
||||
POINT(5 10)
|
||||
SELECT ST_AsText(p1) FROM gis_point WHERE ST_Touches(p1, @poly1);
|
||||
ST_AsText(p1)
|
||||
POINT(2 4)
|
||||
@ -1260,10 +1288,8 @@ Table Op Msg_type Msg_text
|
||||
test.gis_point check status OK
|
||||
The ORDER BY for spatial index will use filesort
|
||||
EXPLAIN SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point ORDER BY p1, p2;
|
||||
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE gis_point NULL ALL NULL NULL NULL NULL # 100.00 Using filesort
|
||||
Warnings:
|
||||
Note 1003 /* select#1 */ select st_astext(`test`.`gis_point`.`p1`) AS `ST_AsText(p1)`,st_astext(`test`.`gis_point`.`p2`) AS `ST_AsText(p2)` from `test`.`gis_point` order by `test`.`gis_point`.`p1`,`test`.`gis_point`.`p2`
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE gis_point ALL NULL NULL NULL NULL 13 #
|
||||
SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point ORDER BY p1, p2;
|
||||
ST_AsText(p1) ST_AsText(p2)
|
||||
POINT(2 4) POINT(-2 -6)
|
||||
@ -1423,8 +1449,8 @@ 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))
|
||||
2 POINT(20 20) LINESTRING(2 3,7 8,9 10,15 16) POLYGON((10 30,30 40,40 50,40 30,30 20,10 30))
|
||||
EXPLAIN UPDATE t1 SET p = ST_GeomFromText('POINT(30 30)') WHERE p = ST_GeomFromText('POINT(20 20)');
|
||||
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
|
||||
1 UPDATE t1 NULL range PRIMARY PRIMARY 27 const # 100.00 Using where
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range PRIMARY PRIMARY 27 NULL 1 #
|
||||
UPDATE t1 SET p = ST_GeomFromText('POINT(30 30)') WHERE p = ST_GeomFromText('POINT(20 20)');
|
||||
SELECT a, ST_AsText(p), ST_AsText(l), ST_AsText(g) FROM t1;
|
||||
a ST_AsText(p) ST_AsText(l) ST_AsText(g)
|
||||
@ -1461,10 +1487,8 @@ a ST_AsText(p) ST_AsText(l) ST_AsText(g)
|
||||
ALTER TABLE t1 DROP PRIMARY KEY;
|
||||
ALTER TABLE t1 ADD PRIMARY KEY(p);
|
||||
EXPLAIN SELECT a, ST_AsText(p) FROM t1 WHERE a = 2 AND p = ST_GeomFromText('POINT(30 30)');
|
||||
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 NULL const PRIMARY,idx2 PRIMARY 27 const # 100.00 NULL
|
||||
Warnings:
|
||||
Note 1003 /* select#1 */ select '2' AS `a`,st_astext('
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 const PRIMARY,idx2 PRIMARY 27 const 1 #
|
||||
SELECT a, ST_AsText(p) FROM t1 WHERE a = 2 AND p = ST_GeomFromText('POINT(30 30)');
|
||||
a ST_AsText(p)
|
||||
2 POINT(30 30)
|
||||
@ -1497,13 +1521,28 @@ child CREATE TABLE `child` (
|
||||
SPATIAL KEY `idx2` (`p`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
ALTER TABLE child ADD FOREIGN KEY(p) REFERENCES parent(p);
|
||||
ERROR HY000: Cannot add foreign key constraint
|
||||
ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
|
||||
show warnings;
|
||||
Level Code Message
|
||||
Warning 150 Alter table '`test`.`child`' with foreign key constraint failed. There is no index in the referenced table where the referenced columns appear as the first columns near 'FOREIGN KEY(p) REFERENCES parent(p)'.
|
||||
Error 1005 Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
|
||||
Warning 1215 Cannot add foreign key constraint
|
||||
ALTER TABLE parent DROP INDEX idx1;
|
||||
ALTER TABLE child ADD FOREIGN KEY(p) REFERENCES parent(p);
|
||||
ERROR HY000: Cannot add foreign key constraint
|
||||
Got one of the listed errors
|
||||
show warnings;
|
||||
Level Code Message
|
||||
Warning 150 Alter table '`test`.`child`' with foreign key constraint failed. There is no index in the referenced table where the referenced columns appear as the first columns near 'FOREIGN KEY(p) REFERENCES parent(p)'.
|
||||
Error 1005 Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
|
||||
Warning 1215 Cannot add foreign key constraint
|
||||
ALTER TABLE child DROP INDEX idx2;
|
||||
ALTER TABLE child ADD FOREIGN KEY(p) REFERENCES parent(p);
|
||||
ERROR HY000: Cannot add foreign key constraint
|
||||
Got one of the listed errors
|
||||
show warnings;
|
||||
Level Code Message
|
||||
Warning 150 Alter table '`test`.`child`' with foreign key constraint failed. There is only prefix index in the referenced table where the referenced columns appear as the first columns near 'FOREIGN KEY(p) REFERENCES parent(p)'.
|
||||
Error 1005 Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
|
||||
Warning 1215 Cannot add foreign key constraint
|
||||
DROP TABLE child, parent;
|
||||
#
|
||||
# Bug#28763: Selecting geometry fields in UNION caused server crash.
|
||||
|
@ -16,6 +16,8 @@ SELECT COUNT(*) FROM tab;
|
||||
COUNT(*)
|
||||
1
|
||||
"In connection 1"
|
||||
connect con1,localhost,root,,;
|
||||
connection con1;
|
||||
SET GLOBAL TRANSACTION ISOLATION LEVEL REPEATABLE READ;
|
||||
SELECT @@tx_isolation;
|
||||
@@tx_isolation
|
||||
@ -27,6 +29,8 @@ SELECT c1,ST_AsText(c2),ST_AsText(c3),ST_AsText(c4),ST_AsText(c5) FROM tab;
|
||||
c1 ST_AsText(c2) ST_AsText(c3) ST_AsText(c4) ST_AsText(c5)
|
||||
1 POINT(10 10) LINESTRING(5 5,20 20,30 30) POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))
|
||||
"In connection 2"
|
||||
connect con2,localhost,root,,;
|
||||
connection con2;
|
||||
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
|
||||
SELECT @@tx_isolation;
|
||||
@@tx_isolation
|
||||
@ -41,6 +45,7 @@ SET @g2 = ST_GeomFromText('POINT(10 10)');
|
||||
UPDATE tab SET C5 = ST_GeomFromText('POLYGON((300 300,400 400,500 500,300 500,300 400,300 300))')
|
||||
WHERE MBREquals(tab.c4, @g1) AND MBREquals(tab.c2, @g2);
|
||||
"In connection 1"
|
||||
connection con1;
|
||||
SET @g3 = ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))');
|
||||
SELECT c1,ST_AsText(c2),ST_AsText(c4),ST_AsText(c5) FROM tab WHERE MBREquals(tab.c5, @g3);
|
||||
c1 ST_AsText(c2) ST_AsText(c4) ST_AsText(c5)
|
||||
@ -52,11 +57,14 @@ SELECT COUNT(*) FROM tab;
|
||||
COUNT(*)
|
||||
1
|
||||
"In connection 2"
|
||||
connection con2;
|
||||
SELECT COUNT(*) FROM tab;
|
||||
COUNT(*)
|
||||
2
|
||||
COMMIT;
|
||||
disconnect con2;
|
||||
"In connection 1"
|
||||
connection con1;
|
||||
SELECT COUNT(*) FROM tab;
|
||||
COUNT(*)
|
||||
1
|
||||
@ -74,6 +82,8 @@ SELECT c1,ST_AsText(c2),ST_AsText(c4),ST_AsText(c5) FROM tab;
|
||||
c1 ST_AsText(c2) ST_AsText(c4) ST_AsText(c5)
|
||||
1 POINT(10 10) POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) POLYGON((300 300,400 400,500 500,300 500,300 400,300 300))
|
||||
2 POINT(20 20) POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))
|
||||
disconnect con1;
|
||||
connection default;
|
||||
DROP TABLE tab;
|
||||
CREATE TABLE tab(c1 int NOT NULL PRIMARY KEY,c2 POINT NOT NULL,
|
||||
c3 LINESTRING NOT NULL,c4 POLYGON NOT NULL,c5 GEOMETRY NOT NULL)
|
||||
@ -93,6 +103,8 @@ SELECT COUNT(*) FROM tab;
|
||||
COUNT(*)
|
||||
1
|
||||
"In connection 1"
|
||||
connect con1,localhost,root,,;
|
||||
connection con1;
|
||||
SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
|
||||
SELECT @@tx_isolation;
|
||||
@@tx_isolation
|
||||
@ -104,6 +116,8 @@ SELECT c1,ST_AsText(c2),ST_AsText(c3),ST_AsText(c4),ST_AsText(c5) FROM tab;
|
||||
c1 ST_AsText(c2) ST_AsText(c3) ST_AsText(c4) ST_AsText(c5)
|
||||
1 POINT(10 10) LINESTRING(5 5,20 20,30 30) POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))
|
||||
"In connection 2"
|
||||
connect con2,localhost,root,,;
|
||||
connection con2;
|
||||
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
|
||||
SELECT @@tx_isolation;
|
||||
@@tx_isolation
|
||||
@ -118,6 +132,7 @@ SET @g2 = ST_GeomFromText('POINT(10 10)');
|
||||
UPDATE tab SET C5 = ST_GeomFromText('POLYGON((300 300,400 400,500 500,300 500,300 400,300 300))')
|
||||
WHERE MBREquals(tab.c4, @g1) AND MBREquals(tab.c2, @g2);
|
||||
"In connection 1"
|
||||
connection con1;
|
||||
SET @g3 = ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))');
|
||||
SELECT c1,ST_AsText(c2),ST_AsText(c4),ST_AsText(c5) FROM tab WHERE MBREquals(tab.c5, @g3);
|
||||
c1 ST_AsText(c2) ST_AsText(c4) ST_AsText(c5)
|
||||
@ -129,11 +144,14 @@ SELECT COUNT(*) FROM tab;
|
||||
COUNT(*)
|
||||
1
|
||||
"In connection 2"
|
||||
connection con2;
|
||||
SELECT COUNT(*) FROM tab;
|
||||
COUNT(*)
|
||||
2
|
||||
COMMIT;
|
||||
disconnect con2;
|
||||
"In connection 1"
|
||||
connection con1;
|
||||
SELECT COUNT(*) FROM tab;
|
||||
COUNT(*)
|
||||
1
|
||||
@ -151,4 +169,6 @@ SELECT c1,ST_AsText(c2),ST_AsText(c4),ST_AsText(c5) FROM tab;
|
||||
c1 ST_AsText(c2) ST_AsText(c4) ST_AsText(c5)
|
||||
1 POINT(10 10) POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) POLYGON((300 300,400 400,500 500,300 500,300 400,300 300))
|
||||
2 POINT(20 20) POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))
|
||||
disconnect con1;
|
||||
connection default;
|
||||
DROP TABLE tab;
|
||||
|
@ -410,6 +410,8 @@ update t1 set a=point(5,5), b=point(5,5), c=5 where i < 3;
|
||||
ERROR 23000: Duplicate entry '5' for key 'c'
|
||||
rollback;
|
||||
set session debug="+d,row_mysql_crash_if_error";
|
||||
Warnings:
|
||||
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
|
||||
update t1 set a=point(5,5), b=point(5,5), c=5 where i < 3;
|
||||
ERROR HY000: Lost connection to MySQL server during query
|
||||
insert into t1 values(5, point(5,5), point(5,5), 5);
|
||||
|
@ -40,8 +40,12 @@ select count(*) from t1 where MBRWithin(t1.c2, @g1);
|
||||
count(*)
|
||||
0
|
||||
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
|
||||
|
@ -16,7 +16,7 @@ check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
truncate table t1;
|
||||
call mtr.add_suppression("InnoDB: page [0-9]+ in the doublewrite buffer is not within space bounds.*");
|
||||
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;
|
||||
|
@ -31,5 +31,7 @@ COUNT(*)
|
||||
0
|
||||
ALTER TABLE t1 DROP INDEX idx, ADD SPATIAL INDEX idx3(c2);
|
||||
SET SESSION debug="+d,row_merge_instrument_log_check_flush";
|
||||
Warnings:
|
||||
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
|
||||
ALTER TABLE t1 DROP INDEX idx3, ADD SPATIAL INDEX idx4(c2), ADD SPATIAL INDEX idx5(c3);
|
||||
DROP TABLE t1;
|
||||
|
@ -39,9 +39,13 @@ t1 CREATE TABLE `t1` (
|
||||
SPATIAL KEY `idx` (`c2`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
SET DEBUG='+d,row_merge_ins_spatial_fail';
|
||||
Warnings:
|
||||
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
|
||||
create spatial index idx2 on t1(c2);
|
||||
ERROR HY000: Got error 1000 from storage engine
|
||||
ERROR HY000: Got error 1000 "Unknown error 1000" from storage engine InnoDB
|
||||
SET DEBUG='-d,row_merge_ins_spatial_fail';
|
||||
Warnings:
|
||||
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
|
File diff suppressed because one or more lines are too long
@ -19,5 +19,6 @@ set n:=n+1;
|
||||
until n >= i end repeat;
|
||||
end|
|
||||
call p(200);
|
||||
InnoDB 0 transactions not purged
|
||||
drop procedure p;
|
||||
drop table t;
|
||||
|
File diff suppressed because one or more lines are too long
@ -1,4 +1,6 @@
|
||||
SET SESSION debug="+d,row_print_geometry_data";
|
||||
Warnings:
|
||||
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
|
||||
CREATE TABLE t_wl6455 ( i INT, g GEOMETRY NOT NULL) ENGINE=InnoDB;
|
||||
SHOW CREATE TABLE t_wl6455;
|
||||
Table Create Table
|
||||
@ -24,7 +26,7 @@ SELECT ST_AsText(g) FROM t_wl6455;
|
||||
ST_AsText(g)
|
||||
POINT(1 1)
|
||||
POINT(2 2)
|
||||
MULTIPOINT((0 0),(20 20),(60 60))
|
||||
MULTIPOINT(0 0,20 20,60 60)
|
||||
LINESTRING(1 1,4 4)
|
||||
LINESTRING(2 2,5 5)
|
||||
MULTILINESTRING((1 1,2 2,3 3),(4 4,5 5))
|
||||
@ -33,10 +35,8 @@ MULTIPOLYGON(((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1)))
|
||||
GEOMETRYCOLLECTION(POINT(1 1),LINESTRING(2 2,3 3))
|
||||
CREATE INDEX i_p ON t_wl6455 (g(10));
|
||||
EXPLAIN SELECT ST_AsText(g) FROM t_wl6455 WHERE g = POINT(2,2);
|
||||
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t_wl6455 NULL ref i_p i_p 12 const # 100.00 Using where
|
||||
Warnings:
|
||||
Note 1003 /* select#1 */ select st_astext(`test`.`t_wl6455`.`g`) AS `ST_AsText(g)` from `test`.`t_wl6455` where (`test`.`t_wl6455`.`g` = <cache>(point(2,2)))
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t_wl6455 ref i_p i_p 12 const 2 #
|
||||
SELECT ST_AsText(g) FROM t_wl6455 WHERE g = POINT(2,2);
|
||||
ST_AsText(g)
|
||||
POINT(2 2)
|
||||
@ -61,7 +61,7 @@ SELECT ST_AsText(g) FROM t_wl6455;
|
||||
ST_AsText(g)
|
||||
POINT(1 1)
|
||||
POINT(2 2)
|
||||
MULTIPOINT((0 0),(20 20),(60 60))
|
||||
MULTIPOINT(0 0,20 20,60 60)
|
||||
LINESTRING(1 1,4 4)
|
||||
LINESTRING(2 2,5 5)
|
||||
MULTILINESTRING((1 1,2 2,3 3),(4 4,5 5))
|
||||
|
@ -5,6 +5,7 @@
|
||||
|
||||
--source include/have_geometry.inc
|
||||
--source include/not_embedded.inc
|
||||
--source include/have_innodb.inc
|
||||
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS linestring;
|
||||
|
@ -5,6 +5,7 @@
|
||||
--source include/have_geometry.inc
|
||||
--source include/not_embedded.inc
|
||||
--source include/no_valgrind_without_big.inc
|
||||
--source include/have_innodb.inc
|
||||
|
||||
CREATE DATABASE geotest;
|
||||
use geotest;
|
||||
|
@ -11,7 +11,7 @@
|
||||
--source include/have_geometry.inc
|
||||
--source include/not_embedded.inc
|
||||
--source include/have_debug.inc
|
||||
--source include/have_innodb_zip.inc
|
||||
--source include/have_innodb.inc
|
||||
|
||||
SET default_storage_engine=InnoDB;
|
||||
SET innodb_strict_mode=OFF;
|
||||
|
@ -4,20 +4,20 @@
|
||||
|
||||
create table t1(a geometrycollection not null,spatial key(a))engine=innodb;
|
||||
|
||||
--error ER_GIS_INVALID_DATA
|
||||
--error ER_GIS_INVALID_DATA,ER_BAD_NULL_ERROR
|
||||
insert into t1(a) values( geometrycollection(multipolygon(polygon(linestring(point(-14,98), point(-14,98)), linestring(point(-97,64), point(-70,99), point(-97,64)), linestring(point(143851215403059150000000000000000000000.000000,13040009882500140000000000000000000000.000000), point(-73,85), point(-88,-29)))), multipolygon(polygon(linestring(point(41,95), point(4294967298,2050)), linestring(point(-61,85), point(-75,93), point(14,-2), point(1,84), point(-61,85)), linestring(point(-62,52), point(39,5), point(-18,12), point(-62,52))), polygon(linestring(point(-77,1), point(66,61), point(-77,1)), linestring(point(18446744073709551615,1125899906842622), point(-72,49), point(24,-66), point(82,73), point(68,22))), polygon(linestring(point(1048576,17179869181), point(-18,95), point(-90,-3), point(-33,82), point(20,-85)), linestring(point(-43,-97), point(-7,-3), point(39,-82), point(-65,-58), point(-43,-97)), linestring(point(44,-34), point(-69,58), point(44,-34)), linestring(point(57,-13), point(-17,74), point(57,-13)), linestring(point(3,71), point(-58,81), point(3,71)), linestring(point(9,25), point(77,-71), point(8388607,67108864), point(46,46), point(9,25)), linestring(point(98,-82), point(98,-82))))) ) ;
|
||||
|
||||
insert into t1(a) values( geometrycollection(multilinestring(linestring(point(39,-60), point(-62,-11), point(-24,35), point(54,1)), linestring(point(-4,69), point(-22,-64), point(1.694824e+308,5.688896e+307), point(-33,-58), point(-64,-80), point(-15,-44), point(40,54)), linestring(point(-86,-54), point(11,41), point(-46,-38), point(-21,-8), point(10,70), point(-81,22), point(-46,-100)), linestring(point(-30,-48), point(50,58), point(-53,92), point(10,41), point(-46,-8)), linestring(point(-65,34), point(-92,93), point(-33,-74), point(75,-28)), linestring(point(25,-55), point(22,-10), point(-42,0), point(-86,-59), point(2,-37), point(63,-44), point(-55,-22)), linestring(point(28,0), point(-94,99), point(-32,-86)), linestring(point(9,-12), point(16,9), point(80,-73)), linestring(point(6,-55), point(83,-4)), linestring(point(-15,21), point(144115188075855876,16777212), point(-85,-31), point(-90,-50)), linestring(point(-33,33), point(21,90), point(-89,32)), linestring(point(16,24), point(73,-13), point(25,-48), point(71,52), point(-54,-78), point(-84,59), point(53,29)), linestring(point(-15,-81), point(83,43), point(-71,33), point(-8,0), point(84,-54), point(-35,38), point(-10,-50)), linestring(point(38,-50), point(20,-2), point(-57,-92)), linestring(point(5,-93), point(231601833467477080000000000000000000000.000000,51914987457169239000000000000000000000.000000), point(-94,62))), point(2,0)) ) ;
|
||||
insert into t1(a) values( geometrycollection(multilinestring(linestring(point(80,-15), point(65,-57), point(-59,16), point(22,-67)), linestring(point(20,-55), point(-38,-64), point(19,-53), point(-63,-36), point(56,-37)), linestring(point(27,-8), point(-85,-75), point(4398046511106,2251799813685245)), linestring(point(45,32), point(-79,46))), multilinestring(linestring(point(8,-4), point(40,-38), point(100,95), point(5,-80), point(82,88)), linestring(point(-14,30), point(-94,51), point(-16,-29), point(37,-97), point(-26,92)), linestring(point(32,34), point(83,-23), point(-55,57), point(-15,90), point(32,-50), point(-20,-73), point(77,28)), linestring(point(4,88), point(87,74), point(-67,-58)), linestring(point(5.660747e+307,6.385657e+307), point(-58,-15), point(1.172095e+308,1.448533e+308)), linestring(point(-21,-37), point(-52,79), point(-16,-76), point(-65,-94), point(36,7), point(37,74), point(100,-57)), linestring(point(-23,-82), point(-73,23), point(18,-34)), linestring(point(20,-51), point(93,62), point(-65,84)), linestring(point(-48,31), point(-69,-96)), linestring(point(-5,78), point(10,-99), point(36,-33)), linestring(point(-84,55), point(96,1), point(-98,-29), point(-15,81), point(-27,-6), point(58,-32), point(54,-16)), linestring(point(2,5), point(2199023255553,8192)), linestring(point(12,-78), point(-97,-83)), linestring(point(-74,79), point(35,-56), point(50,95)), linestring(point(28,16), point(-39,-40), point(48,-3)), linestring(point(2199023255550,-65539), point(62,-25), point(94,-62)), linestring(point(-74,83), point(-18,75), point(91,17), point(-11,-48), point(30,100)), linestring(point(57,-13), point(88,-45)), linestring(point(20,-64), point(-37,13), point(20,35))), point(-3,-4)) ) ;
|
||||
--error ER_GIS_INVALID_DATA
|
||||
--error ER_GIS_INVALID_DATA,ER_BAD_NULL_ERROR
|
||||
insert into t1(a) values( geometrycollection(multipolygon(polygon(linestring(point(-34,19), point(-25,92), point(61921390294166805000000000000000000000.000000,319674749161701840000000000000000000000.000000), point(56,50), point(-34,19)), linestring(point(-26,-58), point(99,-50), point(34,-20), point(-26,-58)), linestring(point(-42,45), point(-63,-7), point(5,-89), point(-97,36), point(-42,45)), linestring(point(94,11), point(-71,4), point(94,11)), linestring(point(16,25), point(4,-33), point(-45,-33), point(-64,-77), point(16,25)), linestring(point(19,45), point(36,45), point(-83,-96), point(19,45)), linestring(point(85,-31), point(-87,52), point(85,-31))), polygon(linestring(point(55,-88), point(63,-12), point(55,-88)), linestring(point(-49,10), point(-49,10)), linestring(point(-51,-32), point(-51,-32)))), multipolygon(polygon(linestring(point(-21,-8), point(66,-58), point(100,-27), point(-21,-8)), linestring(point(-29,-13), point(-29,-13))), polygon(linestring(point(91307574660224730000000000000000000000.000000,101214152547755520000000000000000000000.000000), point(89,64), point(77,87), point(66,29), point(-71,-53)), linestring(point(38,-78), point(-43,-90), point(37,20), point(81,65), point(38,-78))), polygon(linestring(point(51,0), point(-62,8), point(-11,22), point(51,0)), linestring(point(-4,-44), point(6,82), point(-19,-90), point(131,32)))), point(-4,-7)) ) ;
|
||||
insert into t1(a) values( geometrycollection(point(10,9), linestring(point(2305843009213693955,-1125899906842621), point(78,15)), multipoint(point(-1,3), point(4,-6))) ) ;
|
||||
--error ER_GIS_INVALID_DATA
|
||||
--error ER_GIS_INVALID_DATA,ER_BAD_NULL_ERROR
|
||||
insert into t1(a) values( geometrycollection(polygon(linestring(point(0,13), point(-12,5), point(0,13)), linestring(point(11,-2), point(6,6), point(20,-14), point(-3,-10), point(1.330588e+308,2.666476e+307)), linestring(point(16382,67), point(7,4)), linestring(point(2,7), point(-14,15), point(2,7)), linestring(point(-14,12), point(-8,-8), point(-17,-2), point(-14,12)), linestring(point(-20,-10), point(-8,-13), point(-19,-17), point(13,-3), point(-20,-10)), linestring(point(-5,13), point(7,-9), point(6,8), point(-5,13))), linestring(point(-87,19), point(-64,51), point(-16,12)), multipoint(point(-1,-10), point(2,-10), point(3.670354e+307,2.501459e+307))) ) ;
|
||||
--error ER_GIS_INVALID_DATA
|
||||
--error ER_GIS_INVALID_DATA,ER_BAD_NULL_ERROR
|
||||
insert into t1(a) values( geometrycollection(multipoint(point(-3,7), point(4,-3), point(-6,-2), point(-9,1)), polygon(linestring(point(-17,-5), point(2,-8), point(-6,9), point(-9,19), point(-17,-5)), linestring(point(10,-1), point(15,-7), point(-13,6), point(10,-1))), multipolygon(polygon(linestring(point(69,-69), point(-90,-64), point(-17,4), point(47,-73), point(69,-69)), linestring(point(-35,-77), point(-35,-77)), linestring(point(95,-76), point(1.636688e+308,1.828723e+307), point(68719476740,536870916), point(95,-76)), linestring(point(-26,-85), point(-26,-85)), linestring(point(-53,57), point(-53,57)), linestring(point(-98,-64), point(79,-57), point(-98,-64)), linestring(point(-91,59), point(16,0), point(73,97), point(-35,-70), point(-91,59))))) ) ;
|
||||
insert into t1(a) values( geometrycollection(linestring(point(85,-29), point(15,84), point(39,-92), point(-99,19)), multilinestring(linestring(point(63,10), point(-47,95), point(10,-49), point(16,-65), point(-98,40), point(25,44), point(-55,-92)), linestring(point(5.266810e+307,6.648813e+307), point(47,33), point(-15,-13), point(-92,-58), point(36,73)), linestring(point(77,-56), point(-53,-10), point(-28,76), point(-51,6), point(51,-31), point(-95,81), point(92,26)), linestring(point(-91,7), point(58,53)), linestring(point(18,5), point(18,40), point(71,89), point(7.898707e+307,1.202585e+308), point(53,100)), linestring(point(-60,-18), point(-10,-31), point(-6,-25), point(-57,-95), point(16,77)))) ) ;
|
||||
--error ER_GIS_INVALID_DATA
|
||||
--error ER_GIS_INVALID_DATA,ER_BAD_NULL_ERROR
|
||||
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))) ) ;
|
||||
|
||||
|
@ -49,7 +49,8 @@ truncate table t1;
|
||||
# Test crash recovery.
|
||||
#
|
||||
#
|
||||
call mtr.add_suppression("InnoDB: page [0-9]+ in the doublewrite buffer is not within space bounds.*");
|
||||
|
||||
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;
|
||||
|
@ -772,16 +772,25 @@ ALTER TABLE child ADD SPATIAL INDEX idx2(p ASC);
|
||||
SHOW CREATE TABLE parent;
|
||||
SHOW CREATE TABLE child;
|
||||
|
||||
--error ER_CANNOT_ADD_FOREIGN
|
||||
--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
ALTER TABLE child ADD FOREIGN KEY(p) REFERENCES parent(p);
|
||||
--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
|
||||
show warnings;
|
||||
|
||||
ALTER TABLE parent DROP INDEX idx1;
|
||||
--error ER_CANNOT_ADD_FOREIGN
|
||||
--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
|
||||
--error ER_CANNOT_ADD_FOREIGN,ER_CANT_CREATE_TABLE
|
||||
ALTER TABLE child ADD FOREIGN KEY(p) REFERENCES parent(p);
|
||||
--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
|
||||
show warnings;
|
||||
|
||||
ALTER TABLE child DROP INDEX idx2;
|
||||
--error ER_CANNOT_ADD_FOREIGN
|
||||
--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
|
||||
--error ER_CANNOT_ADD_FOREIGN,ER_CANT_CREATE_TABLE
|
||||
ALTER TABLE child ADD FOREIGN KEY(p) REFERENCES parent(p);
|
||||
--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
|
||||
show warnings;
|
||||
|
||||
DROP TABLE child, parent;
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
--source include/not_embedded.inc
|
||||
--source include/have_innodb.inc
|
||||
--source include/have_innodb_zip.inc
|
||||
--source include/innodb_page_size_small.inc
|
||||
|
||||
# Test the redundant format
|
||||
LET $file_per_table='off';
|
||||
|
@ -39,7 +39,7 @@ truncate table t1;
|
||||
# Test crash recovery.
|
||||
#
|
||||
#
|
||||
call mtr.add_suppression("InnoDB: page [0-9]+ in the doublewrite buffer is not within space bounds.*");
|
||||
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;
|
||||
|
@ -6,7 +6,10 @@
|
||||
--echo # Bug #21899444 INNODB: ASSERT FAILURE (COL->ORD_PART)
|
||||
--echo # IN DICT_COL_GET_SPATIAL_STATUS()
|
||||
|
||||
set global innodb_purge_stop_now = on;
|
||||
connect purge_control,localhost,root;
|
||||
START TRANSACTION WITH CONSISTENT SNAPSHOT;
|
||||
connection default;
|
||||
|
||||
CREATE TABLE t1 (
|
||||
p INT NOT NULL AUTO_INCREMENT,
|
||||
g LINESTRING NOT NULL,
|
||||
@ -19,7 +22,12 @@ INSERT INTO t1(g) VALUES (ST_linefromtext(concat('linestring','(20 110, 21 110,
|
||||
UPDATE t1 SET g = ST_linefromtext('linestring(-5 -576,0 -576,0 -571,0 -571,5 -568,6 -564,6 -565,6 -563)') WHERE p = 2;
|
||||
|
||||
alter table t1 drop index `si`;
|
||||
set global innodb_purge_run_now=on;
|
||||
|
||||
connection purge_control;
|
||||
COMMIT;
|
||||
disconnect purge_control;
|
||||
connection default;
|
||||
|
||||
set global innodb_fast_shutdown = 0;
|
||||
--source include/restart_mysqld.inc
|
||||
drop table t1;
|
||||
|
@ -1,6 +1,7 @@
|
||||
# This is a testcase ported from mysql-test/t/gis-rtree.test
|
||||
|
||||
-- source include/have_geometry.inc
|
||||
-- source include/have_innodb.inc
|
||||
|
||||
#
|
||||
# test of rtree (using with spatial data)
|
||||
|
@ -45,7 +45,7 @@ delimiter ;|
|
||||
|
||||
call p(200);
|
||||
|
||||
--source include/wait_innodb_all_purged.inc
|
||||
--source include/wait_all_purged.inc
|
||||
|
||||
# Clean up.
|
||||
drop procedure p;
|
||||
|
Reference in New Issue
Block a user