mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.1
into mysql.com:/home/kent/bk/tmp/mysql-5.1-build
This commit is contained in:
commit
2b183b5588
16 changed files with 1333 additions and 60 deletions
|
@ -243,3 +243,10 @@ SET @@session.auto_increment_offset=
|
|||
@bug20830_old_session_auto_increment_offset;
|
||||
SET @@session.auto_increment_increment=
|
||||
@bug20830_old_session_auto_increment_increment;
|
||||
CREATE TABLE t1(a BIT);
|
||||
INSERT DELAYED INTO t1 VALUES(1);
|
||||
FLUSH TABLE t1;
|
||||
SELECT HEX(a) FROM t1;
|
||||
HEX(a)
|
||||
1
|
||||
DROP TABLE t1;
|
||||
|
|
|
@ -873,6 +873,558 @@ SELECT 1 FROM t1 WHERE foo != PointFromWKB(POINT(0,0));
|
|||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
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(32))
|
||||
)ENGINE=MyISAM 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)')),
|
||||
('g', 'n', 'e', GeomFromText('POINT(203 98)')),
|
||||
('h', 'd', 'd', GeomFromText('POINT(54 193)')),
|
||||
('r', 'x', 'y', GeomFromText('POINT(47 69)')),
|
||||
('t', 'q', 'r', GeomFromText('POINT(109 42)')),
|
||||
('a', 'z', 'd', GeomFromText('POINT(0 154)')),
|
||||
('x', 'v', 'o', GeomFromText('POINT(174 131)')),
|
||||
('b', 'r', 'a', GeomFromText('POINT(114 253)')),
|
||||
('x', 'z', 'i', GeomFromText('POINT(163 21)')),
|
||||
('w', 'p', 'i', GeomFromText('POINT(42 102)')),
|
||||
('g', 'j', 'j', GeomFromText('POINT(170 133)')),
|
||||
('m', 'g', 'n', GeomFromText('POINT(28 22)')),
|
||||
('b', 'z', 'h', GeomFromText('POINT(174 28)')),
|
||||
('q', 'k', 'f', GeomFromText('POINT(233 73)')),
|
||||
('w', 'w', 'a', GeomFromText('POINT(124 200)')),
|
||||
('t', 'j', 'w', GeomFromText('POINT(252 101)')),
|
||||
('d', 'r', 'd', GeomFromText('POINT(98 18)')),
|
||||
('w', 'o', 'y', GeomFromText('POINT(165 31)')),
|
||||
('y', 'h', 't', GeomFromText('POINT(14 220)')),
|
||||
('d', 'p', 'u', GeomFromText('POINT(223 196)')),
|
||||
('g', 'y', 'g', GeomFromText('POINT(207 96)')),
|
||||
('x', 'm', 'n', GeomFromText('POINT(214 3)')),
|
||||
('g', 'v', 'e', GeomFromText('POINT(140 205)')),
|
||||
('g', 'm', 'm', GeomFromText('POINT(10 236)')),
|
||||
('i', 'r', 'j', GeomFromText('POINT(137 228)')),
|
||||
('w', 's', 'p', GeomFromText('POINT(115 6)')),
|
||||
('o', 'n', 'k', GeomFromText('POINT(158 129)')),
|
||||
('j', 'h', 'l', GeomFromText('POINT(129 72)')),
|
||||
('f', 'x', 'l', GeomFromText('POINT(139 207)')),
|
||||
('u', 'd', 'n', GeomFromText('POINT(125 109)')),
|
||||
('b', 'a', 'z', GeomFromText('POINT(30 32)')),
|
||||
('m', 'h', 'o', GeomFromText('POINT(251 251)')),
|
||||
('f', 'r', 'd', GeomFromText('POINT(243 211)')),
|
||||
('b', 'd', 'r', GeomFromText('POINT(232 80)')),
|
||||
('g', 'k', 'v', GeomFromText('POINT(15 100)')),
|
||||
('i', 'f', 'c', GeomFromText('POINT(109 66)')),
|
||||
('r', 't', 'j', GeomFromText('POINT(178 6)')),
|
||||
('y', 'n', 'f', GeomFromText('POINT(233 211)')),
|
||||
('f', 'y', 'm', GeomFromText('POINT(99 16)')),
|
||||
('z', 'q', 'l', GeomFromText('POINT(39 49)')),
|
||||
('j', 'c', 'r', GeomFromText('POINT(75 187)')),
|
||||
('c', 'y', 'y', GeomFromText('POINT(246 253)')),
|
||||
('w', 'u', 'd', GeomFromText('POINT(56 190)')),
|
||||
('n', 'q', 'm', GeomFromText('POINT(73 149)')),
|
||||
('d', 'y', 'a', GeomFromText('POINT(134 6)')),
|
||||
('z', 's', 'w', GeomFromText('POINT(216 225)')),
|
||||
('d', 'u', 'k', GeomFromText('POINT(132 70)')),
|
||||
('f', 'v', 't', GeomFromText('POINT(187 141)')),
|
||||
('r', 'r', 'a', GeomFromText('POINT(152 39)')),
|
||||
('y', 'p', 'o', GeomFromText('POINT(45 27)')),
|
||||
('p', 'n', 'm', GeomFromText('POINT(228 148)')),
|
||||
('e', 'g', 'e', GeomFromText('POINT(88 81)')),
|
||||
('m', 'a', 'h', GeomFromText('POINT(35 29)')),
|
||||
('m', 'h', 'f', GeomFromText('POINT(30 71)')),
|
||||
('h', 'k', 'i', GeomFromText('POINT(244 78)')),
|
||||
('z', 'v', 'd', GeomFromText('POINT(241 38)')),
|
||||
('q', 'l', 'j', GeomFromText('POINT(13 71)')),
|
||||
('s', 'p', 'g', GeomFromText('POINT(108 38)')),
|
||||
('q', 's', 'j', GeomFromText('POINT(92 101)')),
|
||||
('l', 'h', 'g', GeomFromText('POINT(120 78)')),
|
||||
('w', 't', 'b', GeomFromText('POINT(193 109)')),
|
||||
('b', 's', 's', GeomFromText('POINT(223 211)')),
|
||||
('w', 'w', 'y', GeomFromText('POINT(122 42)')),
|
||||
('q', 'c', 'c', GeomFromText('POINT(104 102)')),
|
||||
('w', 'g', 'n', GeomFromText('POINT(213 120)')),
|
||||
('p', 'q', 'a', GeomFromText('POINT(247 148)')),
|
||||
('c', 'z', 'e', GeomFromText('POINT(18 106)')),
|
||||
('z', 'u', 'n', GeomFromText('POINT(70 133)')),
|
||||
('j', 'n', 'x', GeomFromText('POINT(232 13)')),
|
||||
('e', 'h', 'f', GeomFromText('POINT(22 135)')),
|
||||
('w', 'l', 'f', GeomFromText('POINT(9 180)')),
|
||||
('a', 'v', 'q', GeomFromText('POINT(163 228)')),
|
||||
('i', 'z', 'o', GeomFromText('POINT(180 100)')),
|
||||
('e', 'c', 'l', GeomFromText('POINT(182 231)')),
|
||||
('c', 'k', 'o', GeomFromText('POINT(19 60)')),
|
||||
('q', 'f', 'p', GeomFromText('POINT(79 95)')),
|
||||
('m', 'd', 'r', GeomFromText('POINT(3 127)')),
|
||||
('m', 'e', 't', GeomFromText('POINT(136 154)')),
|
||||
('w', 'w', 'w', GeomFromText('POINT(102 15)')),
|
||||
('l', 'n', 'q', GeomFromText('POINT(71 196)')),
|
||||
('p', 'k', 'c', GeomFromText('POINT(47 139)')),
|
||||
('j', 'o', 'r', GeomFromText('POINT(177 128)')),
|
||||
('j', 'q', 'a', GeomFromText('POINT(170 6)')),
|
||||
('b', 'a', 'o', GeomFromText('POINT(63 211)')),
|
||||
('g', 's', 'o', GeomFromText('POINT(144 251)')),
|
||||
('w', 'u', 'w', GeomFromText('POINT(221 214)')),
|
||||
('g', 'a', 'm', GeomFromText('POINT(14 102)')),
|
||||
('u', 'q', 'z', GeomFromText('POINT(86 200)')),
|
||||
('k', 'a', 'm', GeomFromText('POINT(144 222)')),
|
||||
('j', 'u', 'r', GeomFromText('POINT(216 142)')),
|
||||
('q', 'k', 'v', GeomFromText('POINT(121 236)')),
|
||||
('p', 'o', 'r', GeomFromText('POINT(108 102)')),
|
||||
('b', 'd', 'x', GeomFromText('POINT(127 198)')),
|
||||
('k', 's', 'a', GeomFromText('POINT(2 150)')),
|
||||
('f', 'm', 'f', GeomFromText('POINT(160 191)')),
|
||||
('q', 'y', 'x', GeomFromText('POINT(98 111)')),
|
||||
('o', 'f', 'm', GeomFromText('POINT(232 218)')),
|
||||
('c', 'w', 'j', GeomFromText('POINT(156 165)')),
|
||||
('s', 'q', 'v', GeomFromText('POINT(98 161)'));
|
||||
SET @@RAND_SEED1=692635050, @@RAND_SEED2=297339954;
|
||||
DELETE FROM t1 ORDER BY RAND() LIMIT 10;
|
||||
SET @@RAND_SEED1=159925977, @@RAND_SEED2=942570618;
|
||||
DELETE FROM t1 ORDER BY RAND() LIMIT 10;
|
||||
SET @@RAND_SEED1=328169745, @@RAND_SEED2=410451954;
|
||||
DELETE FROM t1 ORDER BY RAND() LIMIT 10;
|
||||
SET @@RAND_SEED1=178507359, @@RAND_SEED2=332493072;
|
||||
DELETE FROM t1 ORDER BY RAND() LIMIT 10;
|
||||
SET @@RAND_SEED1=1034033013, @@RAND_SEED2=558966507;
|
||||
DELETE FROM t1 ORDER BY RAND() LIMIT 10;
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(230 9)') where c1 like 'y%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(95 35)') where c1 like 'j%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(93 99)') where c1 like 'a%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(19 81)') where c1 like 'r%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(20 177)') where c1 like 'h%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(221 193)') where c1 like 'u%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(195 205)') where c1 like 'd%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(15 213)') where c1 like 'u%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(214 63)') where c1 like 'n%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(243 171)') where c1 like 'c%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(198 82)') where c1 like 'y%';
|
||||
INSERT INTO t1 (c2, c1, c3, spatial_point) VALUES
|
||||
('f', 'y', 'p', GeomFromText('POINT(109 235)')),
|
||||
('b', 'e', 'v', GeomFromText('POINT(20 48)')),
|
||||
('i', 'u', 'f', GeomFromText('POINT(15 55)')),
|
||||
('o', 'r', 'z', GeomFromText('POINT(105 64)')),
|
||||
('a', 'p', 'a', GeomFromText('POINT(142 236)')),
|
||||
('g', 'i', 'k', GeomFromText('POINT(10 49)')),
|
||||
('x', 'z', 'x', GeomFromText('POINT(192 200)')),
|
||||
('c', 'v', 'r', GeomFromText('POINT(94 168)')),
|
||||
('y', 'z', 'e', GeomFromText('POINT(141 51)')),
|
||||
('h', 'm', 'd', GeomFromText('POINT(35 251)')),
|
||||
('v', 'm', 'q', GeomFromText('POINT(44 90)')),
|
||||
('j', 'l', 'z', GeomFromText('POINT(67 237)')),
|
||||
('i', 'v', 'a', GeomFromText('POINT(75 14)')),
|
||||
('b', 'q', 't', GeomFromText('POINT(153 33)')),
|
||||
('e', 'm', 'a', GeomFromText('POINT(247 49)')),
|
||||
('l', 'y', 'g', GeomFromText('POINT(56 203)')),
|
||||
('v', 'o', 'r', GeomFromText('POINT(90 54)')),
|
||||
('r', 'n', 'd', GeomFromText('POINT(135 83)')),
|
||||
('j', 't', 'u', GeomFromText('POINT(174 239)')),
|
||||
('u', 'n', 'g', GeomFromText('POINT(104 191)')),
|
||||
('p', 'q', 'y', GeomFromText('POINT(63 171)')),
|
||||
('o', 'q', 'p', GeomFromText('POINT(192 103)')),
|
||||
('f', 'x', 'e', GeomFromText('POINT(244 30)')),
|
||||
('n', 'x', 'c', GeomFromText('POINT(92 103)')),
|
||||
('r', 'q', 'z', GeomFromText('POINT(166 20)')),
|
||||
('s', 'a', 'j', GeomFromText('POINT(137 205)')),
|
||||
('z', 't', 't', GeomFromText('POINT(99 134)')),
|
||||
('o', 'm', 'j', GeomFromText('POINT(217 3)')),
|
||||
('n', 'h', 'j', GeomFromText('POINT(211 17)')),
|
||||
('v', 'v', 'a', GeomFromText('POINT(41 137)')),
|
||||
('q', 'o', 'j', GeomFromText('POINT(5 92)')),
|
||||
('z', 'y', 'e', GeomFromText('POINT(175 212)')),
|
||||
('j', 'z', 'h', GeomFromText('POINT(224 194)')),
|
||||
('a', 'g', 'm', GeomFromText('POINT(31 119)')),
|
||||
('p', 'c', 'f', GeomFromText('POINT(17 221)')),
|
||||
('t', 'h', 'k', GeomFromText('POINT(26 203)')),
|
||||
('u', 'w', 'p', GeomFromText('POINT(47 185)')),
|
||||
('z', 'a', 'c', GeomFromText('POINT(61 133)')),
|
||||
('u', 'k', 'a', GeomFromText('POINT(210 115)')),
|
||||
('k', 'f', 'h', GeomFromText('POINT(125 113)')),
|
||||
('t', 'v', 'y', GeomFromText('POINT(12 239)')),
|
||||
('u', 'v', 'd', GeomFromText('POINT(90 24)')),
|
||||
('m', 'y', 'w', GeomFromText('POINT(25 243)')),
|
||||
('d', 'n', 'g', GeomFromText('POINT(122 92)')),
|
||||
('z', 'm', 'f', GeomFromText('POINT(235 110)')),
|
||||
('q', 'd', 'f', GeomFromText('POINT(233 217)')),
|
||||
('a', 'v', 'u', GeomFromText('POINT(69 59)')),
|
||||
('x', 'k', 'p', GeomFromText('POINT(240 14)')),
|
||||
('i', 'v', 'r', GeomFromText('POINT(154 42)')),
|
||||
('w', 'h', 'l', GeomFromText('POINT(178 156)')),
|
||||
('d', 'h', 'n', GeomFromText('POINT(65 157)')),
|
||||
('c', 'k', 'z', GeomFromText('POINT(62 33)')),
|
||||
('e', 'l', 'w', GeomFromText('POINT(162 1)')),
|
||||
('r', 'f', 'i', GeomFromText('POINT(127 71)')),
|
||||
('q', 'm', 'c', GeomFromText('POINT(63 118)')),
|
||||
('c', 'h', 'u', GeomFromText('POINT(205 203)')),
|
||||
('d', 't', 'p', GeomFromText('POINT(234 87)')),
|
||||
('s', 'g', 'h', GeomFromText('POINT(149 34)')),
|
||||
('o', 'b', 'q', GeomFromText('POINT(159 179)')),
|
||||
('k', 'u', 'f', GeomFromText('POINT(202 254)')),
|
||||
('u', 'f', 'g', GeomFromText('POINT(70 15)')),
|
||||
('x', 's', 'b', GeomFromText('POINT(25 181)')),
|
||||
('s', 'c', 'g', GeomFromText('POINT(252 17)')),
|
||||
('a', 'c', 'f', GeomFromText('POINT(89 67)')),
|
||||
('r', 'e', 'q', GeomFromText('POINT(55 54)')),
|
||||
('f', 'i', 'k', GeomFromText('POINT(178 230)')),
|
||||
('p', 'e', 'l', GeomFromText('POINT(198 28)')),
|
||||
('w', 'o', 'd', GeomFromText('POINT(204 189)')),
|
||||
('c', 'a', 'g', GeomFromText('POINT(230 178)')),
|
||||
('r', 'o', 'e', GeomFromText('POINT(61 116)')),
|
||||
('w', 'a', 'a', GeomFromText('POINT(178 237)')),
|
||||
('v', 'd', 'e', GeomFromText('POINT(70 85)')),
|
||||
('k', 'c', 'e', GeomFromText('POINT(147 118)')),
|
||||
('d', 'q', 't', GeomFromText('POINT(218 77)')),
|
||||
('k', 'g', 'f', GeomFromText('POINT(192 113)')),
|
||||
('w', 'n', 'e', GeomFromText('POINT(92 124)')),
|
||||
('r', 'm', 'q', GeomFromText('POINT(130 65)')),
|
||||
('o', 'r', 'r', GeomFromText('POINT(174 233)')),
|
||||
('k', 'n', 't', GeomFromText('POINT(175 147)')),
|
||||
('q', 'm', 'r', GeomFromText('POINT(18 208)')),
|
||||
('l', 'd', 'i', GeomFromText('POINT(13 104)')),
|
||||
('w', 'o', 'y', GeomFromText('POINT(207 39)')),
|
||||
('p', 'u', 'o', GeomFromText('POINT(114 31)')),
|
||||
('y', 'a', 'p', GeomFromText('POINT(106 59)')),
|
||||
('a', 'x', 'z', GeomFromText('POINT(17 57)')),
|
||||
('v', 'h', 'x', GeomFromText('POINT(170 13)')),
|
||||
('t', 's', 'u', GeomFromText('POINT(84 18)')),
|
||||
('z', 'z', 'f', GeomFromText('POINT(250 197)')),
|
||||
('l', 'z', 't', GeomFromText('POINT(59 80)')),
|
||||
('j', 'g', 's', GeomFromText('POINT(54 26)')),
|
||||
('g', 'v', 'm', GeomFromText('POINT(89 98)')),
|
||||
('q', 'v', 'b', GeomFromText('POINT(39 240)')),
|
||||
('x', 'k', 'v', GeomFromText('POINT(246 207)')),
|
||||
('k', 'u', 'i', GeomFromText('POINT(105 111)')),
|
||||
('w', 'z', 's', GeomFromText('POINT(235 8)')),
|
||||
('d', 'd', 'd', GeomFromText('POINT(105 4)')),
|
||||
('c', 'z', 'q', GeomFromText('POINT(13 140)')),
|
||||
('m', 'k', 'i', GeomFromText('POINT(208 120)')),
|
||||
('g', 'a', 'g', GeomFromText('POINT(9 182)')),
|
||||
('z', 'j', 'r', GeomFromText('POINT(149 153)')),
|
||||
('h', 'f', 'g', GeomFromText('POINT(81 236)')),
|
||||
('m', 'e', 'q', GeomFromText('POINT(209 215)')),
|
||||
('c', 'h', 'y', GeomFromText('POINT(235 70)')),
|
||||
('i', 'e', 'g', GeomFromText('POINT(138 26)')),
|
||||
('m', 't', 'u', GeomFromText('POINT(119 237)')),
|
||||
('o', 'w', 's', GeomFromText('POINT(193 166)')),
|
||||
('f', 'm', 'q', GeomFromText('POINT(85 96)')),
|
||||
('x', 'l', 'x', GeomFromText('POINT(58 115)')),
|
||||
('x', 'q', 'u', GeomFromText('POINT(108 210)')),
|
||||
('b', 'h', 'i', GeomFromText('POINT(250 139)')),
|
||||
('y', 'd', 'x', GeomFromText('POINT(199 135)')),
|
||||
('w', 'h', 'p', GeomFromText('POINT(247 233)')),
|
||||
('p', 'z', 't', GeomFromText('POINT(148 249)')),
|
||||
('q', 'a', 'u', GeomFromText('POINT(174 78)')),
|
||||
('v', 't', 'm', GeomFromText('POINT(70 228)')),
|
||||
('t', 'n', 'f', GeomFromText('POINT(123 2)')),
|
||||
('x', 't', 'b', GeomFromText('POINT(35 50)')),
|
||||
('r', 'j', 'f', GeomFromText('POINT(200 51)')),
|
||||
('s', 'q', 'o', GeomFromText('POINT(23 184)')),
|
||||
('u', 'v', 'z', GeomFromText('POINT(7 113)')),
|
||||
('v', 'u', 'l', GeomFromText('POINT(145 190)')),
|
||||
('o', 'k', 'i', GeomFromText('POINT(161 122)')),
|
||||
('l', 'y', 'e', GeomFromText('POINT(17 232)')),
|
||||
('t', 'b', 'e', GeomFromText('POINT(120 50)')),
|
||||
('e', 's', 'u', GeomFromText('POINT(254 1)')),
|
||||
('d', 'd', 'u', GeomFromText('POINT(167 140)')),
|
||||
('o', 'b', 'x', GeomFromText('POINT(186 237)')),
|
||||
('m', 's', 's', GeomFromText('POINT(172 149)')),
|
||||
('t', 'y', 'a', GeomFromText('POINT(149 85)')),
|
||||
('x', 't', 'r', GeomFromText('POINT(10 165)')),
|
||||
('g', 'c', 'e', GeomFromText('POINT(95 165)')),
|
||||
('e', 'e', 'z', GeomFromText('POINT(98 65)')),
|
||||
('f', 'v', 'i', GeomFromText('POINT(149 144)')),
|
||||
('o', 'p', 'm', GeomFromText('POINT(233 67)')),
|
||||
('t', 'u', 'b', GeomFromText('POINT(109 215)')),
|
||||
('o', 'o', 'b', GeomFromText('POINT(130 48)')),
|
||||
('e', 'm', 'h', GeomFromText('POINT(88 189)')),
|
||||
('e', 'v', 'y', GeomFromText('POINT(55 29)')),
|
||||
('e', 't', 'm', GeomFromText('POINT(129 55)')),
|
||||
('p', 'p', 'i', GeomFromText('POINT(126 222)')),
|
||||
('c', 'i', 'c', GeomFromText('POINT(19 158)')),
|
||||
('c', 'b', 's', GeomFromText('POINT(13 19)')),
|
||||
('u', 'y', 'a', GeomFromText('POINT(114 5)')),
|
||||
('a', 'o', 'f', GeomFromText('POINT(227 232)')),
|
||||
('t', 'c', 'z', GeomFromText('POINT(63 62)')),
|
||||
('d', 'o', 'k', GeomFromText('POINT(48 228)')),
|
||||
('x', 'c', 'e', GeomFromText('POINT(204 2)')),
|
||||
('e', 'e', 'g', GeomFromText('POINT(125 43)')),
|
||||
('o', 'r', 'f', GeomFromText('POINT(171 140)'));
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(163 157)') where c1 like 'w%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(53 151)') where c1 like 'd%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(96 183)') where c1 like 'r%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(57 91)') where c1 like 'q%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(202 110)') where c1 like 'c%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(120 137)') where c1 like 'w%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(207 147)') where c1 like 'c%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(31 125)') where c1 like 'e%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(27 36)') where c1 like 'r%';
|
||||
INSERT INTO t1 (c2, c1, c3, spatial_point) VALUES
|
||||
('b', 'c', 'e', GeomFromText('POINT(41 137)')),
|
||||
('p', 'y', 'k', GeomFromText('POINT(50 22)')),
|
||||
('s', 'c', 'h', GeomFromText('POINT(208 173)')),
|
||||
('x', 'u', 'l', GeomFromText('POINT(199 175)')),
|
||||
('s', 'r', 'h', GeomFromText('POINT(85 192)')),
|
||||
('j', 'k', 'u', GeomFromText('POINT(18 25)')),
|
||||
('p', 'w', 'h', GeomFromText('POINT(152 197)')),
|
||||
('e', 'd', 'c', GeomFromText('POINT(229 3)')),
|
||||
('o', 'x', 'k', GeomFromText('POINT(187 155)')),
|
||||
('o', 'b', 'k', GeomFromText('POINT(208 150)')),
|
||||
('d', 'a', 'j', GeomFromText('POINT(70 87)')),
|
||||
('f', 'e', 'k', GeomFromText('POINT(156 96)')),
|
||||
('u', 'y', 'p', GeomFromText('POINT(239 193)')),
|
||||
('n', 'v', 'p', GeomFromText('POINT(223 98)')),
|
||||
('z', 'j', 'r', GeomFromText('POINT(87 89)')),
|
||||
('h', 'x', 'x', GeomFromText('POINT(92 0)')),
|
||||
('r', 'v', 'r', GeomFromText('POINT(159 139)')),
|
||||
('v', 'g', 'g', GeomFromText('POINT(16 229)')),
|
||||
('z', 'k', 'u', GeomFromText('POINT(99 52)')),
|
||||
('p', 'p', 'o', GeomFromText('POINT(105 125)')),
|
||||
('w', 'h', 'y', GeomFromText('POINT(105 154)')),
|
||||
('v', 'y', 'z', GeomFromText('POINT(134 238)')),
|
||||
('x', 'o', 'o', GeomFromText('POINT(178 88)')),
|
||||
('z', 'w', 'd', GeomFromText('POINT(123 60)')),
|
||||
('q', 'f', 'u', GeomFromText('POINT(64 90)')),
|
||||
('s', 'n', 't', GeomFromText('POINT(50 138)')),
|
||||
('v', 'p', 't', GeomFromText('POINT(114 91)')),
|
||||
('a', 'o', 'n', GeomFromText('POINT(78 43)')),
|
||||
('k', 'u', 'd', GeomFromText('POINT(185 161)')),
|
||||
('w', 'd', 'n', GeomFromText('POINT(25 92)')),
|
||||
('k', 'w', 'a', GeomFromText('POINT(59 238)')),
|
||||
('t', 'c', 'f', GeomFromText('POINT(65 87)')),
|
||||
('g', 's', 'p', GeomFromText('POINT(238 126)')),
|
||||
('d', 'n', 'y', GeomFromText('POINT(107 173)')),
|
||||
('l', 'a', 'w', GeomFromText('POINT(125 152)')),
|
||||
('m', 'd', 'j', GeomFromText('POINT(146 53)')),
|
||||
('q', 'm', 'c', GeomFromText('POINT(217 187)')),
|
||||
('i', 'r', 'r', GeomFromText('POINT(6 113)')),
|
||||
('e', 'j', 'b', GeomFromText('POINT(37 83)')),
|
||||
('w', 'w', 'h', GeomFromText('POINT(83 199)')),
|
||||
('k', 'b', 's', GeomFromText('POINT(170 64)')),
|
||||
('s', 'b', 'c', GeomFromText('POINT(163 130)')),
|
||||
('c', 'h', 'a', GeomFromText('POINT(141 3)')),
|
||||
('k', 'j', 'u', GeomFromText('POINT(143 76)')),
|
||||
('r', 'h', 'o', GeomFromText('POINT(243 92)')),
|
||||
('i', 'd', 'b', GeomFromText('POINT(205 13)')),
|
||||
('r', 'y', 'q', GeomFromText('POINT(138 8)')),
|
||||
('m', 'o', 'i', GeomFromText('POINT(36 45)')),
|
||||
('v', 'g', 'm', GeomFromText('POINT(0 40)')),
|
||||
('f', 'e', 'i', GeomFromText('POINT(76 6)')),
|
||||
('c', 'q', 'q', GeomFromText('POINT(115 248)')),
|
||||
('x', 'c', 'i', GeomFromText('POINT(29 74)')),
|
||||
('l', 's', 't', GeomFromText('POINT(83 18)')),
|
||||
('t', 't', 'a', GeomFromText('POINT(26 168)')),
|
||||
('u', 'n', 'x', GeomFromText('POINT(200 110)')),
|
||||
('j', 'b', 'd', GeomFromText('POINT(216 136)')),
|
||||
('s', 'p', 'w', GeomFromText('POINT(38 156)')),
|
||||
('f', 'b', 'v', GeomFromText('POINT(29 186)')),
|
||||
('v', 'e', 'r', GeomFromText('POINT(149 40)')),
|
||||
('v', 't', 'm', GeomFromText('POINT(184 24)')),
|
||||
('y', 'g', 'a', GeomFromText('POINT(219 105)')),
|
||||
('s', 'f', 'i', GeomFromText('POINT(114 130)')),
|
||||
('e', 'q', 'h', GeomFromText('POINT(203 135)')),
|
||||
('h', 'g', 'b', GeomFromText('POINT(9 208)')),
|
||||
('o', 'l', 'r', GeomFromText('POINT(245 79)')),
|
||||
('s', 's', 'v', GeomFromText('POINT(238 198)')),
|
||||
('w', 'w', 'z', GeomFromText('POINT(209 232)')),
|
||||
('v', 'd', 'n', GeomFromText('POINT(30 193)')),
|
||||
('q', 'w', 'k', GeomFromText('POINT(133 18)')),
|
||||
('o', 'h', 'o', GeomFromText('POINT(42 140)')),
|
||||
('f', 'f', 'h', GeomFromText('POINT(145 1)')),
|
||||
('u', 's', 'r', GeomFromText('POINT(70 62)')),
|
||||
('x', 'n', 'q', GeomFromText('POINT(33 86)')),
|
||||
('u', 'p', 'v', GeomFromText('POINT(232 220)')),
|
||||
('z', 'e', 'a', GeomFromText('POINT(130 69)')),
|
||||
('r', 'u', 'z', GeomFromText('POINT(243 241)')),
|
||||
('b', 'n', 't', GeomFromText('POINT(120 12)')),
|
||||
('u', 'f', 's', GeomFromText('POINT(190 212)')),
|
||||
('a', 'd', 'q', GeomFromText('POINT(235 191)')),
|
||||
('f', 'q', 'm', GeomFromText('POINT(176 2)')),
|
||||
('n', 'c', 's', GeomFromText('POINT(218 163)')),
|
||||
('e', 'm', 'h', GeomFromText('POINT(163 108)')),
|
||||
('c', 'f', 'l', GeomFromText('POINT(220 115)')),
|
||||
('c', 'v', 'q', GeomFromText('POINT(66 45)')),
|
||||
('w', 'v', 'x', GeomFromText('POINT(251 220)')),
|
||||
('f', 'w', 'z', GeomFromText('POINT(146 149)')),
|
||||
('h', 'n', 'h', GeomFromText('POINT(148 128)')),
|
||||
('y', 'k', 'v', GeomFromText('POINT(28 110)')),
|
||||
('c', 'x', 'q', GeomFromText('POINT(13 13)')),
|
||||
('e', 'd', 's', GeomFromText('POINT(91 190)')),
|
||||
('c', 'w', 'c', GeomFromText('POINT(10 231)')),
|
||||
('u', 'j', 'n', GeomFromText('POINT(250 21)')),
|
||||
('w', 'n', 'x', GeomFromText('POINT(141 69)')),
|
||||
('f', 'p', 'y', GeomFromText('POINT(228 246)')),
|
||||
('d', 'q', 'f', GeomFromText('POINT(194 22)')),
|
||||
('d', 'z', 'l', GeomFromText('POINT(233 181)')),
|
||||
('c', 'a', 'q', GeomFromText('POINT(183 96)')),
|
||||
('m', 'i', 'd', GeomFromText('POINT(117 226)')),
|
||||
('z', 'y', 'y', GeomFromText('POINT(62 81)')),
|
||||
('g', 'v', 'm', GeomFromText('POINT(66 158)'));
|
||||
SET @@RAND_SEED1=481064922, @@RAND_SEED2=438133497;
|
||||
DELETE FROM t1 ORDER BY RAND() LIMIT 10;
|
||||
SET @@RAND_SEED1=280535103, @@RAND_SEED2=444518646;
|
||||
DELETE FROM t1 ORDER BY RAND() LIMIT 10;
|
||||
SET @@RAND_SEED1=1072017234, @@RAND_SEED2=484203885;
|
||||
DELETE FROM t1 ORDER BY RAND() LIMIT 10;
|
||||
SET @@RAND_SEED1=358851897, @@RAND_SEED2=358495224;
|
||||
DELETE FROM t1 ORDER BY RAND() LIMIT 10;
|
||||
SET @@RAND_SEED1=509031459, @@RAND_SEED2=675962925;
|
||||
DELETE FROM t1 ORDER BY RAND() LIMIT 10;
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(61 203)') where c1 like 'y%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(202 194)') where c1 like 'f%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(228 18)') where c1 like 'h%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(88 18)') where c1 like 'l%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(176 94)') where c1 like 'e%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(44 47)') where c1 like 'g%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(95 191)') where c1 like 'b%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(179 218)') where c1 like 'y%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(239 40)') where c1 like 'g%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(248 41)') where c1 like 'q%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(167 82)') where c1 like 't%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(13 104)') where c1 like 'u%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(139 84)') where c1 like 'a%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(145 108)') where c1 like 'p%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(147 57)') where c1 like 't%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(217 144)') where c1 like 'n%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(160 224)') where c1 like 'w%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(38 28)') where c1 like 'j%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(104 114)') where c1 like 'q%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(88 19)') where c1 like 'c%';
|
||||
INSERT INTO t1 (c2, c1, c3, spatial_point) VALUES
|
||||
('f', 'x', 'p', GeomFromText('POINT(92 181)')),
|
||||
('s', 'i', 'c', GeomFromText('POINT(49 60)')),
|
||||
('c', 'c', 'i', GeomFromText('POINT(7 57)')),
|
||||
('n', 'g', 'k', GeomFromText('POINT(252 105)')),
|
||||
('g', 'b', 'm', GeomFromText('POINT(180 11)')),
|
||||
('u', 'l', 'r', GeomFromText('POINT(32 90)')),
|
||||
('c', 'x', 'e', GeomFromText('POINT(143 24)')),
|
||||
('x', 'u', 'a', GeomFromText('POINT(123 92)')),
|
||||
('s', 'b', 'h', GeomFromText('POINT(190 108)')),
|
||||
('c', 'x', 'b', GeomFromText('POINT(104 100)')),
|
||||
('i', 'd', 't', GeomFromText('POINT(214 104)')),
|
||||
('r', 'w', 'g', GeomFromText('POINT(29 67)')),
|
||||
('b', 'f', 'g', GeomFromText('POINT(149 46)')),
|
||||
('r', 'r', 'd', GeomFromText('POINT(242 196)')),
|
||||
('j', 'l', 'a', GeomFromText('POINT(90 196)')),
|
||||
('e', 't', 'b', GeomFromText('POINT(190 64)')),
|
||||
('l', 'x', 'w', GeomFromText('POINT(250 73)')),
|
||||
('q', 'y', 'r', GeomFromText('POINT(120 182)')),
|
||||
('s', 'j', 'a', GeomFromText('POINT(180 175)')),
|
||||
('n', 'i', 'y', GeomFromText('POINT(124 136)')),
|
||||
('s', 'x', 's', GeomFromText('POINT(176 209)')),
|
||||
('u', 'f', 's', GeomFromText('POINT(215 173)')),
|
||||
('m', 'j', 'x', GeomFromText('POINT(44 140)')),
|
||||
('v', 'g', 'x', GeomFromText('POINT(177 233)')),
|
||||
('u', 't', 'b', GeomFromText('POINT(136 197)')),
|
||||
('f', 'g', 'b', GeomFromText('POINT(10 8)')),
|
||||
('v', 'c', 'j', GeomFromText('POINT(13 81)')),
|
||||
('d', 's', 'q', GeomFromText('POINT(200 100)')),
|
||||
('a', 'p', 'j', GeomFromText('POINT(33 40)')),
|
||||
('i', 'c', 'g', GeomFromText('POINT(168 204)')),
|
||||
('k', 'h', 'i', GeomFromText('POINT(93 243)')),
|
||||
('s', 'b', 's', GeomFromText('POINT(157 13)')),
|
||||
('v', 'l', 'l', GeomFromText('POINT(103 6)')),
|
||||
('r', 'b', 'k', GeomFromText('POINT(244 137)')),
|
||||
('l', 'd', 'r', GeomFromText('POINT(162 254)')),
|
||||
('q', 'b', 'z', GeomFromText('POINT(136 246)')),
|
||||
('x', 'x', 'p', GeomFromText('POINT(120 37)')),
|
||||
('m', 'e', 'z', GeomFromText('POINT(203 167)')),
|
||||
('q', 'n', 'p', GeomFromText('POINT(94 119)')),
|
||||
('b', 'g', 'u', GeomFromText('POINT(93 248)')),
|
||||
('r', 'v', 'v', GeomFromText('POINT(53 88)')),
|
||||
('y', 'a', 'i', GeomFromText('POINT(98 219)')),
|
||||
('a', 's', 'g', GeomFromText('POINT(173 138)')),
|
||||
('c', 'a', 't', GeomFromText('POINT(235 135)')),
|
||||
('q', 'm', 'd', GeomFromText('POINT(224 208)')),
|
||||
('e', 'p', 'k', GeomFromText('POINT(161 238)')),
|
||||
('n', 'g', 'q', GeomFromText('POINT(35 204)')),
|
||||
('t', 't', 'x', GeomFromText('POINT(230 178)')),
|
||||
('w', 'f', 'a', GeomFromText('POINT(150 221)')),
|
||||
('z', 'm', 'z', GeomFromText('POINT(119 42)')),
|
||||
('l', 'j', 's', GeomFromText('POINT(97 96)')),
|
||||
('f', 'z', 'x', GeomFromText('POINT(208 65)')),
|
||||
('i', 'v', 'c', GeomFromText('POINT(145 79)')),
|
||||
('l', 'f', 'k', GeomFromText('POINT(83 234)')),
|
||||
('u', 'a', 's', GeomFromText('POINT(250 49)')),
|
||||
('o', 'k', 'p', GeomFromText('POINT(46 50)')),
|
||||
('d', 'e', 'z', GeomFromText('POINT(30 198)')),
|
||||
('r', 'r', 'l', GeomFromText('POINT(78 189)')),
|
||||
('y', 'l', 'f', GeomFromText('POINT(188 132)')),
|
||||
('d', 'q', 'm', GeomFromText('POINT(247 107)')),
|
||||
('p', 'j', 'n', GeomFromText('POINT(148 227)')),
|
||||
('b', 'o', 'i', GeomFromText('POINT(172 25)')),
|
||||
('e', 'v', 'd', GeomFromText('POINT(94 248)')),
|
||||
('q', 'd', 'f', GeomFromText('POINT(15 29)')),
|
||||
('w', 'b', 'b', GeomFromText('POINT(74 111)')),
|
||||
('g', 'q', 'f', GeomFromText('POINT(107 215)')),
|
||||
('o', 'h', 'r', GeomFromText('POINT(25 168)')),
|
||||
('u', 't', 'w', GeomFromText('POINT(251 188)')),
|
||||
('h', 's', 'w', GeomFromText('POINT(254 247)')),
|
||||
('f', 'f', 'b', GeomFromText('POINT(166 103)'));
|
||||
SET @@RAND_SEED1=866613816, @@RAND_SEED2=92289615;
|
||||
INSERT INTO t1 (c2, c1, c3, spatial_point) VALUES
|
||||
('l', 'c', 'l', GeomFromText('POINT(202 98)')),
|
||||
('k', 'c', 'b', GeomFromText('POINT(46 206)')),
|
||||
('r', 'y', 'm', GeomFromText('POINT(74 140)')),
|
||||
('y', 'z', 'd', GeomFromText('POINT(200 160)')),
|
||||
('s', 'y', 's', GeomFromText('POINT(156 205)')),
|
||||
('u', 'v', 'p', GeomFromText('POINT(86 82)')),
|
||||
('j', 's', 's', GeomFromText('POINT(91 233)')),
|
||||
('x', 'j', 'f', GeomFromText('POINT(3 14)')),
|
||||
('l', 'z', 'v', GeomFromText('POINT(123 156)')),
|
||||
('h', 'i', 'o', GeomFromText('POINT(145 229)')),
|
||||
('o', 'r', 'd', GeomFromText('POINT(15 22)')),
|
||||
('f', 'x', 't', GeomFromText('POINT(21 60)')),
|
||||
('t', 'g', 'h', GeomFromText('POINT(50 153)')),
|
||||
('g', 'u', 'b', GeomFromText('POINT(82 85)')),
|
||||
('v', 'a', 'p', GeomFromText('POINT(231 178)')),
|
||||
('n', 'v', 'o', GeomFromText('POINT(183 25)')),
|
||||
('j', 'n', 'm', GeomFromText('POINT(50 144)')),
|
||||
('e', 'f', 'i', GeomFromText('POINT(46 16)')),
|
||||
('d', 'w', 'a', GeomFromText('POINT(66 6)')),
|
||||
('f', 'x', 'a', GeomFromText('POINT(107 197)')),
|
||||
('m', 'o', 'a', GeomFromText('POINT(142 80)')),
|
||||
('q', 'l', 'g', GeomFromText('POINT(251 23)')),
|
||||
('c', 's', 's', GeomFromText('POINT(158 43)')),
|
||||
('y', 'd', 'o', GeomFromText('POINT(196 228)')),
|
||||
('d', 'p', 'l', GeomFromText('POINT(107 5)')),
|
||||
('h', 'a', 'b', GeomFromText('POINT(183 166)')),
|
||||
('m', 'w', 'p', GeomFromText('POINT(19 59)')),
|
||||
('b', 'y', 'o', GeomFromText('POINT(178 30)')),
|
||||
('x', 'w', 'i', GeomFromText('POINT(168 94)')),
|
||||
('t', 'k', 'z', GeomFromText('POINT(171 5)')),
|
||||
('r', 'm', 'a', GeomFromText('POINT(222 19)')),
|
||||
('u', 'v', 'e', GeomFromText('POINT(224 80)')),
|
||||
('q', 'r', 'k', GeomFromText('POINT(212 218)')),
|
||||
('d', 'p', 'j', GeomFromText('POINT(169 7)')),
|
||||
('d', 'r', 'v', GeomFromText('POINT(193 23)')),
|
||||
('n', 'y', 'y', GeomFromText('POINT(130 178)')),
|
||||
('m', 'z', 'r', GeomFromText('POINT(81 200)')),
|
||||
('j', 'e', 'w', GeomFromText('POINT(145 239)')),
|
||||
('v', 'h', 'x', GeomFromText('POINT(24 105)')),
|
||||
('z', 'm', 'a', GeomFromText('POINT(175 129)')),
|
||||
('b', 'c', 'v', GeomFromText('POINT(213 10)')),
|
||||
('t', 't', 'u', GeomFromText('POINT(2 129)')),
|
||||
('r', 's', 'v', GeomFromText('POINT(209 192)')),
|
||||
('x', 'p', 'g', GeomFromText('POINT(43 63)')),
|
||||
('t', 'e', 'u', GeomFromText('POINT(139 210)')),
|
||||
('l', 'e', 't', GeomFromText('POINT(245 148)')),
|
||||
('a', 'i', 'k', GeomFromText('POINT(167 195)')),
|
||||
('m', 'o', 'h', GeomFromText('POINT(206 120)')),
|
||||
('g', 'z', 's', GeomFromText('POINT(169 240)')),
|
||||
('z', 'u', 's', GeomFromText('POINT(202 120)')),
|
||||
('i', 'b', 'a', GeomFromText('POINT(216 18)')),
|
||||
('w', 'y', 'g', GeomFromText('POINT(119 236)')),
|
||||
('h', 'y', 'p', GeomFromText('POINT(161 24)'));
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(33 100)') where c1 like 't%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(41 46)') where c1 like 'f%';
|
||||
CHECK TABLE t1 EXTENDED;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1(foo GEOMETRY NOT NULL, SPATIAL INDEX(foo) );
|
||||
INSERT INTO t1(foo) VALUES (NULL);
|
||||
ERROR 23000: Column 'foo' cannot be null
|
||||
|
|
|
@ -731,3 +731,10 @@ SELECT COUNT(*) FROM t1 WHERE c=REPEAT('a',256);
|
|||
COUNT(*)
|
||||
2
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1(c1 VARCHAR(100), c2 INT) ENGINE=MEMORY;
|
||||
INSERT INTO t1 VALUES('', 0);
|
||||
ALTER TABLE t1 MODIFY c1 VARCHAR(101);
|
||||
SELECT c2 FROM t1;
|
||||
c2
|
||||
0
|
||||
DROP TABLE t1;
|
||||
|
|
|
@ -806,6 +806,24 @@ CREATE TABLE tm1(a SMALLINT, b SMALLINT, KEY(a)) ENGINE=MERGE UNION=(t1);
|
|||
SELECT * FROM tm1;
|
||||
ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
|
||||
DROP TABLE t1, tm1;
|
||||
CREATE TABLE t1(c1 INT) ENGINE=MyISAM;
|
||||
CREATE TABLE t2(c1 INT) ENGINE=MERGE UNION=(t1);
|
||||
INSERT DELAYED INTO t2 VALUES(1);
|
||||
ERROR HY000: Table storage engine for 't2' doesn't have this option
|
||||
DROP TABLE t1, t2;
|
||||
CREATE TABLE t1(c1 VARCHAR(1));
|
||||
CREATE TABLE m1 LIKE t1;
|
||||
ALTER TABLE m1 ENGINE=MERGE UNION=(t1);
|
||||
SELECT * FROM m1;
|
||||
c1
|
||||
DROP TABLE t1, m1;
|
||||
CREATE TABLE t1(c1 VARCHAR(4), c2 TINYINT, c3 TINYINT, c4 TINYINT,
|
||||
c5 TINYINT, c6 TINYINT, c7 TINYINT, c8 TINYINT, c9 TINYINT);
|
||||
CREATE TABLE m1 LIKE t1;
|
||||
ALTER TABLE m1 ENGINE=MERGE UNION=(t1);
|
||||
SELECT * FROM m1;
|
||||
c1 c2 c3 c4 c5 c6 c7 c8 c9
|
||||
DROP TABLE t1, m1;
|
||||
create table t1 (b bit(1));
|
||||
create table t2 (b bit(1));
|
||||
create table tm (b bit(1)) engine = merge union = (t1,t2);
|
||||
|
|
|
@ -234,3 +234,11 @@ SET @@session.auto_increment_offset=
|
|||
SET @@session.auto_increment_increment=
|
||||
@bug20830_old_session_auto_increment_increment;
|
||||
|
||||
#
|
||||
# BUG#26238 - inserted delayed always inserts 0 for BIT columns
|
||||
#
|
||||
CREATE TABLE t1(a BIT);
|
||||
INSERT DELAYED INTO t1 VALUES(1);
|
||||
FLUSH TABLE t1;
|
||||
SELECT HEX(a) FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
|
|
@ -241,6 +241,562 @@ INSERT INTO t1 (foo) VALUES (PointFromWKB(POINT(0,1)));
|
|||
INSERT INTO t1 (foo) VALUES (PointFromWKB(POINT(0,0)));
|
||||
SELECT 1 FROM t1 WHERE foo != PointFromWKB(POINT(0,0));
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug#25673 - spatial index corruption, error 126 incorrect key file for table
|
||||
#
|
||||
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(32))
|
||||
)ENGINE=MyISAM 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)')),
|
||||
('g', 'n', 'e', GeomFromText('POINT(203 98)')),
|
||||
('h', 'd', 'd', GeomFromText('POINT(54 193)')),
|
||||
('r', 'x', 'y', GeomFromText('POINT(47 69)')),
|
||||
('t', 'q', 'r', GeomFromText('POINT(109 42)')),
|
||||
('a', 'z', 'd', GeomFromText('POINT(0 154)')),
|
||||
('x', 'v', 'o', GeomFromText('POINT(174 131)')),
|
||||
('b', 'r', 'a', GeomFromText('POINT(114 253)')),
|
||||
('x', 'z', 'i', GeomFromText('POINT(163 21)')),
|
||||
('w', 'p', 'i', GeomFromText('POINT(42 102)')),
|
||||
('g', 'j', 'j', GeomFromText('POINT(170 133)')),
|
||||
('m', 'g', 'n', GeomFromText('POINT(28 22)')),
|
||||
('b', 'z', 'h', GeomFromText('POINT(174 28)')),
|
||||
('q', 'k', 'f', GeomFromText('POINT(233 73)')),
|
||||
('w', 'w', 'a', GeomFromText('POINT(124 200)')),
|
||||
('t', 'j', 'w', GeomFromText('POINT(252 101)')),
|
||||
('d', 'r', 'd', GeomFromText('POINT(98 18)')),
|
||||
('w', 'o', 'y', GeomFromText('POINT(165 31)')),
|
||||
('y', 'h', 't', GeomFromText('POINT(14 220)')),
|
||||
('d', 'p', 'u', GeomFromText('POINT(223 196)')),
|
||||
('g', 'y', 'g', GeomFromText('POINT(207 96)')),
|
||||
('x', 'm', 'n', GeomFromText('POINT(214 3)')),
|
||||
('g', 'v', 'e', GeomFromText('POINT(140 205)')),
|
||||
('g', 'm', 'm', GeomFromText('POINT(10 236)')),
|
||||
('i', 'r', 'j', GeomFromText('POINT(137 228)')),
|
||||
('w', 's', 'p', GeomFromText('POINT(115 6)')),
|
||||
('o', 'n', 'k', GeomFromText('POINT(158 129)')),
|
||||
('j', 'h', 'l', GeomFromText('POINT(129 72)')),
|
||||
('f', 'x', 'l', GeomFromText('POINT(139 207)')),
|
||||
('u', 'd', 'n', GeomFromText('POINT(125 109)')),
|
||||
('b', 'a', 'z', GeomFromText('POINT(30 32)')),
|
||||
('m', 'h', 'o', GeomFromText('POINT(251 251)')),
|
||||
('f', 'r', 'd', GeomFromText('POINT(243 211)')),
|
||||
('b', 'd', 'r', GeomFromText('POINT(232 80)')),
|
||||
('g', 'k', 'v', GeomFromText('POINT(15 100)')),
|
||||
('i', 'f', 'c', GeomFromText('POINT(109 66)')),
|
||||
('r', 't', 'j', GeomFromText('POINT(178 6)')),
|
||||
('y', 'n', 'f', GeomFromText('POINT(233 211)')),
|
||||
('f', 'y', 'm', GeomFromText('POINT(99 16)')),
|
||||
('z', 'q', 'l', GeomFromText('POINT(39 49)')),
|
||||
('j', 'c', 'r', GeomFromText('POINT(75 187)')),
|
||||
('c', 'y', 'y', GeomFromText('POINT(246 253)')),
|
||||
('w', 'u', 'd', GeomFromText('POINT(56 190)')),
|
||||
('n', 'q', 'm', GeomFromText('POINT(73 149)')),
|
||||
('d', 'y', 'a', GeomFromText('POINT(134 6)')),
|
||||
('z', 's', 'w', GeomFromText('POINT(216 225)')),
|
||||
('d', 'u', 'k', GeomFromText('POINT(132 70)')),
|
||||
('f', 'v', 't', GeomFromText('POINT(187 141)')),
|
||||
('r', 'r', 'a', GeomFromText('POINT(152 39)')),
|
||||
('y', 'p', 'o', GeomFromText('POINT(45 27)')),
|
||||
('p', 'n', 'm', GeomFromText('POINT(228 148)')),
|
||||
('e', 'g', 'e', GeomFromText('POINT(88 81)')),
|
||||
('m', 'a', 'h', GeomFromText('POINT(35 29)')),
|
||||
('m', 'h', 'f', GeomFromText('POINT(30 71)')),
|
||||
('h', 'k', 'i', GeomFromText('POINT(244 78)')),
|
||||
('z', 'v', 'd', GeomFromText('POINT(241 38)')),
|
||||
('q', 'l', 'j', GeomFromText('POINT(13 71)')),
|
||||
('s', 'p', 'g', GeomFromText('POINT(108 38)')),
|
||||
('q', 's', 'j', GeomFromText('POINT(92 101)')),
|
||||
('l', 'h', 'g', GeomFromText('POINT(120 78)')),
|
||||
('w', 't', 'b', GeomFromText('POINT(193 109)')),
|
||||
('b', 's', 's', GeomFromText('POINT(223 211)')),
|
||||
('w', 'w', 'y', GeomFromText('POINT(122 42)')),
|
||||
('q', 'c', 'c', GeomFromText('POINT(104 102)')),
|
||||
('w', 'g', 'n', GeomFromText('POINT(213 120)')),
|
||||
('p', 'q', 'a', GeomFromText('POINT(247 148)')),
|
||||
('c', 'z', 'e', GeomFromText('POINT(18 106)')),
|
||||
('z', 'u', 'n', GeomFromText('POINT(70 133)')),
|
||||
('j', 'n', 'x', GeomFromText('POINT(232 13)')),
|
||||
('e', 'h', 'f', GeomFromText('POINT(22 135)')),
|
||||
('w', 'l', 'f', GeomFromText('POINT(9 180)')),
|
||||
('a', 'v', 'q', GeomFromText('POINT(163 228)')),
|
||||
('i', 'z', 'o', GeomFromText('POINT(180 100)')),
|
||||
('e', 'c', 'l', GeomFromText('POINT(182 231)')),
|
||||
('c', 'k', 'o', GeomFromText('POINT(19 60)')),
|
||||
('q', 'f', 'p', GeomFromText('POINT(79 95)')),
|
||||
('m', 'd', 'r', GeomFromText('POINT(3 127)')),
|
||||
('m', 'e', 't', GeomFromText('POINT(136 154)')),
|
||||
('w', 'w', 'w', GeomFromText('POINT(102 15)')),
|
||||
('l', 'n', 'q', GeomFromText('POINT(71 196)')),
|
||||
('p', 'k', 'c', GeomFromText('POINT(47 139)')),
|
||||
('j', 'o', 'r', GeomFromText('POINT(177 128)')),
|
||||
('j', 'q', 'a', GeomFromText('POINT(170 6)')),
|
||||
('b', 'a', 'o', GeomFromText('POINT(63 211)')),
|
||||
('g', 's', 'o', GeomFromText('POINT(144 251)')),
|
||||
('w', 'u', 'w', GeomFromText('POINT(221 214)')),
|
||||
('g', 'a', 'm', GeomFromText('POINT(14 102)')),
|
||||
('u', 'q', 'z', GeomFromText('POINT(86 200)')),
|
||||
('k', 'a', 'm', GeomFromText('POINT(144 222)')),
|
||||
('j', 'u', 'r', GeomFromText('POINT(216 142)')),
|
||||
('q', 'k', 'v', GeomFromText('POINT(121 236)')),
|
||||
('p', 'o', 'r', GeomFromText('POINT(108 102)')),
|
||||
('b', 'd', 'x', GeomFromText('POINT(127 198)')),
|
||||
('k', 's', 'a', GeomFromText('POINT(2 150)')),
|
||||
('f', 'm', 'f', GeomFromText('POINT(160 191)')),
|
||||
('q', 'y', 'x', GeomFromText('POINT(98 111)')),
|
||||
('o', 'f', 'm', GeomFromText('POINT(232 218)')),
|
||||
('c', 'w', 'j', GeomFromText('POINT(156 165)')),
|
||||
('s', 'q', 'v', GeomFromText('POINT(98 161)'));
|
||||
SET @@RAND_SEED1=692635050, @@RAND_SEED2=297339954;
|
||||
DELETE FROM t1 ORDER BY RAND() LIMIT 10;
|
||||
SET @@RAND_SEED1=159925977, @@RAND_SEED2=942570618;
|
||||
DELETE FROM t1 ORDER BY RAND() LIMIT 10;
|
||||
SET @@RAND_SEED1=328169745, @@RAND_SEED2=410451954;
|
||||
DELETE FROM t1 ORDER BY RAND() LIMIT 10;
|
||||
SET @@RAND_SEED1=178507359, @@RAND_SEED2=332493072;
|
||||
DELETE FROM t1 ORDER BY RAND() LIMIT 10;
|
||||
SET @@RAND_SEED1=1034033013, @@RAND_SEED2=558966507;
|
||||
DELETE FROM t1 ORDER BY RAND() LIMIT 10;
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(230 9)') where c1 like 'y%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(95 35)') where c1 like 'j%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(93 99)') where c1 like 'a%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(19 81)') where c1 like 'r%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(20 177)') where c1 like 'h%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(221 193)') where c1 like 'u%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(195 205)') where c1 like 'd%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(15 213)') where c1 like 'u%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(214 63)') where c1 like 'n%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(243 171)') where c1 like 'c%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(198 82)') where c1 like 'y%';
|
||||
INSERT INTO t1 (c2, c1, c3, spatial_point) VALUES
|
||||
('f', 'y', 'p', GeomFromText('POINT(109 235)')),
|
||||
('b', 'e', 'v', GeomFromText('POINT(20 48)')),
|
||||
('i', 'u', 'f', GeomFromText('POINT(15 55)')),
|
||||
('o', 'r', 'z', GeomFromText('POINT(105 64)')),
|
||||
('a', 'p', 'a', GeomFromText('POINT(142 236)')),
|
||||
('g', 'i', 'k', GeomFromText('POINT(10 49)')),
|
||||
('x', 'z', 'x', GeomFromText('POINT(192 200)')),
|
||||
('c', 'v', 'r', GeomFromText('POINT(94 168)')),
|
||||
('y', 'z', 'e', GeomFromText('POINT(141 51)')),
|
||||
('h', 'm', 'd', GeomFromText('POINT(35 251)')),
|
||||
('v', 'm', 'q', GeomFromText('POINT(44 90)')),
|
||||
('j', 'l', 'z', GeomFromText('POINT(67 237)')),
|
||||
('i', 'v', 'a', GeomFromText('POINT(75 14)')),
|
||||
('b', 'q', 't', GeomFromText('POINT(153 33)')),
|
||||
('e', 'm', 'a', GeomFromText('POINT(247 49)')),
|
||||
('l', 'y', 'g', GeomFromText('POINT(56 203)')),
|
||||
('v', 'o', 'r', GeomFromText('POINT(90 54)')),
|
||||
('r', 'n', 'd', GeomFromText('POINT(135 83)')),
|
||||
('j', 't', 'u', GeomFromText('POINT(174 239)')),
|
||||
('u', 'n', 'g', GeomFromText('POINT(104 191)')),
|
||||
('p', 'q', 'y', GeomFromText('POINT(63 171)')),
|
||||
('o', 'q', 'p', GeomFromText('POINT(192 103)')),
|
||||
('f', 'x', 'e', GeomFromText('POINT(244 30)')),
|
||||
('n', 'x', 'c', GeomFromText('POINT(92 103)')),
|
||||
('r', 'q', 'z', GeomFromText('POINT(166 20)')),
|
||||
('s', 'a', 'j', GeomFromText('POINT(137 205)')),
|
||||
('z', 't', 't', GeomFromText('POINT(99 134)')),
|
||||
('o', 'm', 'j', GeomFromText('POINT(217 3)')),
|
||||
('n', 'h', 'j', GeomFromText('POINT(211 17)')),
|
||||
('v', 'v', 'a', GeomFromText('POINT(41 137)')),
|
||||
('q', 'o', 'j', GeomFromText('POINT(5 92)')),
|
||||
('z', 'y', 'e', GeomFromText('POINT(175 212)')),
|
||||
('j', 'z', 'h', GeomFromText('POINT(224 194)')),
|
||||
('a', 'g', 'm', GeomFromText('POINT(31 119)')),
|
||||
('p', 'c', 'f', GeomFromText('POINT(17 221)')),
|
||||
('t', 'h', 'k', GeomFromText('POINT(26 203)')),
|
||||
('u', 'w', 'p', GeomFromText('POINT(47 185)')),
|
||||
('z', 'a', 'c', GeomFromText('POINT(61 133)')),
|
||||
('u', 'k', 'a', GeomFromText('POINT(210 115)')),
|
||||
('k', 'f', 'h', GeomFromText('POINT(125 113)')),
|
||||
('t', 'v', 'y', GeomFromText('POINT(12 239)')),
|
||||
('u', 'v', 'd', GeomFromText('POINT(90 24)')),
|
||||
('m', 'y', 'w', GeomFromText('POINT(25 243)')),
|
||||
('d', 'n', 'g', GeomFromText('POINT(122 92)')),
|
||||
('z', 'm', 'f', GeomFromText('POINT(235 110)')),
|
||||
('q', 'd', 'f', GeomFromText('POINT(233 217)')),
|
||||
('a', 'v', 'u', GeomFromText('POINT(69 59)')),
|
||||
('x', 'k', 'p', GeomFromText('POINT(240 14)')),
|
||||
('i', 'v', 'r', GeomFromText('POINT(154 42)')),
|
||||
('w', 'h', 'l', GeomFromText('POINT(178 156)')),
|
||||
('d', 'h', 'n', GeomFromText('POINT(65 157)')),
|
||||
('c', 'k', 'z', GeomFromText('POINT(62 33)')),
|
||||
('e', 'l', 'w', GeomFromText('POINT(162 1)')),
|
||||
('r', 'f', 'i', GeomFromText('POINT(127 71)')),
|
||||
('q', 'm', 'c', GeomFromText('POINT(63 118)')),
|
||||
('c', 'h', 'u', GeomFromText('POINT(205 203)')),
|
||||
('d', 't', 'p', GeomFromText('POINT(234 87)')),
|
||||
('s', 'g', 'h', GeomFromText('POINT(149 34)')),
|
||||
('o', 'b', 'q', GeomFromText('POINT(159 179)')),
|
||||
('k', 'u', 'f', GeomFromText('POINT(202 254)')),
|
||||
('u', 'f', 'g', GeomFromText('POINT(70 15)')),
|
||||
('x', 's', 'b', GeomFromText('POINT(25 181)')),
|
||||
('s', 'c', 'g', GeomFromText('POINT(252 17)')),
|
||||
('a', 'c', 'f', GeomFromText('POINT(89 67)')),
|
||||
('r', 'e', 'q', GeomFromText('POINT(55 54)')),
|
||||
('f', 'i', 'k', GeomFromText('POINT(178 230)')),
|
||||
('p', 'e', 'l', GeomFromText('POINT(198 28)')),
|
||||
('w', 'o', 'd', GeomFromText('POINT(204 189)')),
|
||||
('c', 'a', 'g', GeomFromText('POINT(230 178)')),
|
||||
('r', 'o', 'e', GeomFromText('POINT(61 116)')),
|
||||
('w', 'a', 'a', GeomFromText('POINT(178 237)')),
|
||||
('v', 'd', 'e', GeomFromText('POINT(70 85)')),
|
||||
('k', 'c', 'e', GeomFromText('POINT(147 118)')),
|
||||
('d', 'q', 't', GeomFromText('POINT(218 77)')),
|
||||
('k', 'g', 'f', GeomFromText('POINT(192 113)')),
|
||||
('w', 'n', 'e', GeomFromText('POINT(92 124)')),
|
||||
('r', 'm', 'q', GeomFromText('POINT(130 65)')),
|
||||
('o', 'r', 'r', GeomFromText('POINT(174 233)')),
|
||||
('k', 'n', 't', GeomFromText('POINT(175 147)')),
|
||||
('q', 'm', 'r', GeomFromText('POINT(18 208)')),
|
||||
('l', 'd', 'i', GeomFromText('POINT(13 104)')),
|
||||
('w', 'o', 'y', GeomFromText('POINT(207 39)')),
|
||||
('p', 'u', 'o', GeomFromText('POINT(114 31)')),
|
||||
('y', 'a', 'p', GeomFromText('POINT(106 59)')),
|
||||
('a', 'x', 'z', GeomFromText('POINT(17 57)')),
|
||||
('v', 'h', 'x', GeomFromText('POINT(170 13)')),
|
||||
('t', 's', 'u', GeomFromText('POINT(84 18)')),
|
||||
('z', 'z', 'f', GeomFromText('POINT(250 197)')),
|
||||
('l', 'z', 't', GeomFromText('POINT(59 80)')),
|
||||
('j', 'g', 's', GeomFromText('POINT(54 26)')),
|
||||
('g', 'v', 'm', GeomFromText('POINT(89 98)')),
|
||||
('q', 'v', 'b', GeomFromText('POINT(39 240)')),
|
||||
('x', 'k', 'v', GeomFromText('POINT(246 207)')),
|
||||
('k', 'u', 'i', GeomFromText('POINT(105 111)')),
|
||||
('w', 'z', 's', GeomFromText('POINT(235 8)')),
|
||||
('d', 'd', 'd', GeomFromText('POINT(105 4)')),
|
||||
('c', 'z', 'q', GeomFromText('POINT(13 140)')),
|
||||
('m', 'k', 'i', GeomFromText('POINT(208 120)')),
|
||||
('g', 'a', 'g', GeomFromText('POINT(9 182)')),
|
||||
('z', 'j', 'r', GeomFromText('POINT(149 153)')),
|
||||
('h', 'f', 'g', GeomFromText('POINT(81 236)')),
|
||||
('m', 'e', 'q', GeomFromText('POINT(209 215)')),
|
||||
('c', 'h', 'y', GeomFromText('POINT(235 70)')),
|
||||
('i', 'e', 'g', GeomFromText('POINT(138 26)')),
|
||||
('m', 't', 'u', GeomFromText('POINT(119 237)')),
|
||||
('o', 'w', 's', GeomFromText('POINT(193 166)')),
|
||||
('f', 'm', 'q', GeomFromText('POINT(85 96)')),
|
||||
('x', 'l', 'x', GeomFromText('POINT(58 115)')),
|
||||
('x', 'q', 'u', GeomFromText('POINT(108 210)')),
|
||||
('b', 'h', 'i', GeomFromText('POINT(250 139)')),
|
||||
('y', 'd', 'x', GeomFromText('POINT(199 135)')),
|
||||
('w', 'h', 'p', GeomFromText('POINT(247 233)')),
|
||||
('p', 'z', 't', GeomFromText('POINT(148 249)')),
|
||||
('q', 'a', 'u', GeomFromText('POINT(174 78)')),
|
||||
('v', 't', 'm', GeomFromText('POINT(70 228)')),
|
||||
('t', 'n', 'f', GeomFromText('POINT(123 2)')),
|
||||
('x', 't', 'b', GeomFromText('POINT(35 50)')),
|
||||
('r', 'j', 'f', GeomFromText('POINT(200 51)')),
|
||||
('s', 'q', 'o', GeomFromText('POINT(23 184)')),
|
||||
('u', 'v', 'z', GeomFromText('POINT(7 113)')),
|
||||
('v', 'u', 'l', GeomFromText('POINT(145 190)')),
|
||||
('o', 'k', 'i', GeomFromText('POINT(161 122)')),
|
||||
('l', 'y', 'e', GeomFromText('POINT(17 232)')),
|
||||
('t', 'b', 'e', GeomFromText('POINT(120 50)')),
|
||||
('e', 's', 'u', GeomFromText('POINT(254 1)')),
|
||||
('d', 'd', 'u', GeomFromText('POINT(167 140)')),
|
||||
('o', 'b', 'x', GeomFromText('POINT(186 237)')),
|
||||
('m', 's', 's', GeomFromText('POINT(172 149)')),
|
||||
('t', 'y', 'a', GeomFromText('POINT(149 85)')),
|
||||
('x', 't', 'r', GeomFromText('POINT(10 165)')),
|
||||
('g', 'c', 'e', GeomFromText('POINT(95 165)')),
|
||||
('e', 'e', 'z', GeomFromText('POINT(98 65)')),
|
||||
('f', 'v', 'i', GeomFromText('POINT(149 144)')),
|
||||
('o', 'p', 'm', GeomFromText('POINT(233 67)')),
|
||||
('t', 'u', 'b', GeomFromText('POINT(109 215)')),
|
||||
('o', 'o', 'b', GeomFromText('POINT(130 48)')),
|
||||
('e', 'm', 'h', GeomFromText('POINT(88 189)')),
|
||||
('e', 'v', 'y', GeomFromText('POINT(55 29)')),
|
||||
('e', 't', 'm', GeomFromText('POINT(129 55)')),
|
||||
('p', 'p', 'i', GeomFromText('POINT(126 222)')),
|
||||
('c', 'i', 'c', GeomFromText('POINT(19 158)')),
|
||||
('c', 'b', 's', GeomFromText('POINT(13 19)')),
|
||||
('u', 'y', 'a', GeomFromText('POINT(114 5)')),
|
||||
('a', 'o', 'f', GeomFromText('POINT(227 232)')),
|
||||
('t', 'c', 'z', GeomFromText('POINT(63 62)')),
|
||||
('d', 'o', 'k', GeomFromText('POINT(48 228)')),
|
||||
('x', 'c', 'e', GeomFromText('POINT(204 2)')),
|
||||
('e', 'e', 'g', GeomFromText('POINT(125 43)')),
|
||||
('o', 'r', 'f', GeomFromText('POINT(171 140)'));
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(163 157)') where c1 like 'w%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(53 151)') where c1 like 'd%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(96 183)') where c1 like 'r%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(57 91)') where c1 like 'q%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(202 110)') where c1 like 'c%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(120 137)') where c1 like 'w%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(207 147)') where c1 like 'c%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(31 125)') where c1 like 'e%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(27 36)') where c1 like 'r%';
|
||||
INSERT INTO t1 (c2, c1, c3, spatial_point) VALUES
|
||||
('b', 'c', 'e', GeomFromText('POINT(41 137)')),
|
||||
('p', 'y', 'k', GeomFromText('POINT(50 22)')),
|
||||
('s', 'c', 'h', GeomFromText('POINT(208 173)')),
|
||||
('x', 'u', 'l', GeomFromText('POINT(199 175)')),
|
||||
('s', 'r', 'h', GeomFromText('POINT(85 192)')),
|
||||
('j', 'k', 'u', GeomFromText('POINT(18 25)')),
|
||||
('p', 'w', 'h', GeomFromText('POINT(152 197)')),
|
||||
('e', 'd', 'c', GeomFromText('POINT(229 3)')),
|
||||
('o', 'x', 'k', GeomFromText('POINT(187 155)')),
|
||||
('o', 'b', 'k', GeomFromText('POINT(208 150)')),
|
||||
('d', 'a', 'j', GeomFromText('POINT(70 87)')),
|
||||
('f', 'e', 'k', GeomFromText('POINT(156 96)')),
|
||||
('u', 'y', 'p', GeomFromText('POINT(239 193)')),
|
||||
('n', 'v', 'p', GeomFromText('POINT(223 98)')),
|
||||
('z', 'j', 'r', GeomFromText('POINT(87 89)')),
|
||||
('h', 'x', 'x', GeomFromText('POINT(92 0)')),
|
||||
('r', 'v', 'r', GeomFromText('POINT(159 139)')),
|
||||
('v', 'g', 'g', GeomFromText('POINT(16 229)')),
|
||||
('z', 'k', 'u', GeomFromText('POINT(99 52)')),
|
||||
('p', 'p', 'o', GeomFromText('POINT(105 125)')),
|
||||
('w', 'h', 'y', GeomFromText('POINT(105 154)')),
|
||||
('v', 'y', 'z', GeomFromText('POINT(134 238)')),
|
||||
('x', 'o', 'o', GeomFromText('POINT(178 88)')),
|
||||
('z', 'w', 'd', GeomFromText('POINT(123 60)')),
|
||||
('q', 'f', 'u', GeomFromText('POINT(64 90)')),
|
||||
('s', 'n', 't', GeomFromText('POINT(50 138)')),
|
||||
('v', 'p', 't', GeomFromText('POINT(114 91)')),
|
||||
('a', 'o', 'n', GeomFromText('POINT(78 43)')),
|
||||
('k', 'u', 'd', GeomFromText('POINT(185 161)')),
|
||||
('w', 'd', 'n', GeomFromText('POINT(25 92)')),
|
||||
('k', 'w', 'a', GeomFromText('POINT(59 238)')),
|
||||
('t', 'c', 'f', GeomFromText('POINT(65 87)')),
|
||||
('g', 's', 'p', GeomFromText('POINT(238 126)')),
|
||||
('d', 'n', 'y', GeomFromText('POINT(107 173)')),
|
||||
('l', 'a', 'w', GeomFromText('POINT(125 152)')),
|
||||
('m', 'd', 'j', GeomFromText('POINT(146 53)')),
|
||||
('q', 'm', 'c', GeomFromText('POINT(217 187)')),
|
||||
('i', 'r', 'r', GeomFromText('POINT(6 113)')),
|
||||
('e', 'j', 'b', GeomFromText('POINT(37 83)')),
|
||||
('w', 'w', 'h', GeomFromText('POINT(83 199)')),
|
||||
('k', 'b', 's', GeomFromText('POINT(170 64)')),
|
||||
('s', 'b', 'c', GeomFromText('POINT(163 130)')),
|
||||
('c', 'h', 'a', GeomFromText('POINT(141 3)')),
|
||||
('k', 'j', 'u', GeomFromText('POINT(143 76)')),
|
||||
('r', 'h', 'o', GeomFromText('POINT(243 92)')),
|
||||
('i', 'd', 'b', GeomFromText('POINT(205 13)')),
|
||||
('r', 'y', 'q', GeomFromText('POINT(138 8)')),
|
||||
('m', 'o', 'i', GeomFromText('POINT(36 45)')),
|
||||
('v', 'g', 'm', GeomFromText('POINT(0 40)')),
|
||||
('f', 'e', 'i', GeomFromText('POINT(76 6)')),
|
||||
('c', 'q', 'q', GeomFromText('POINT(115 248)')),
|
||||
('x', 'c', 'i', GeomFromText('POINT(29 74)')),
|
||||
('l', 's', 't', GeomFromText('POINT(83 18)')),
|
||||
('t', 't', 'a', GeomFromText('POINT(26 168)')),
|
||||
('u', 'n', 'x', GeomFromText('POINT(200 110)')),
|
||||
('j', 'b', 'd', GeomFromText('POINT(216 136)')),
|
||||
('s', 'p', 'w', GeomFromText('POINT(38 156)')),
|
||||
('f', 'b', 'v', GeomFromText('POINT(29 186)')),
|
||||
('v', 'e', 'r', GeomFromText('POINT(149 40)')),
|
||||
('v', 't', 'm', GeomFromText('POINT(184 24)')),
|
||||
('y', 'g', 'a', GeomFromText('POINT(219 105)')),
|
||||
('s', 'f', 'i', GeomFromText('POINT(114 130)')),
|
||||
('e', 'q', 'h', GeomFromText('POINT(203 135)')),
|
||||
('h', 'g', 'b', GeomFromText('POINT(9 208)')),
|
||||
('o', 'l', 'r', GeomFromText('POINT(245 79)')),
|
||||
('s', 's', 'v', GeomFromText('POINT(238 198)')),
|
||||
('w', 'w', 'z', GeomFromText('POINT(209 232)')),
|
||||
('v', 'd', 'n', GeomFromText('POINT(30 193)')),
|
||||
('q', 'w', 'k', GeomFromText('POINT(133 18)')),
|
||||
('o', 'h', 'o', GeomFromText('POINT(42 140)')),
|
||||
('f', 'f', 'h', GeomFromText('POINT(145 1)')),
|
||||
('u', 's', 'r', GeomFromText('POINT(70 62)')),
|
||||
('x', 'n', 'q', GeomFromText('POINT(33 86)')),
|
||||
('u', 'p', 'v', GeomFromText('POINT(232 220)')),
|
||||
('z', 'e', 'a', GeomFromText('POINT(130 69)')),
|
||||
('r', 'u', 'z', GeomFromText('POINT(243 241)')),
|
||||
('b', 'n', 't', GeomFromText('POINT(120 12)')),
|
||||
('u', 'f', 's', GeomFromText('POINT(190 212)')),
|
||||
('a', 'd', 'q', GeomFromText('POINT(235 191)')),
|
||||
('f', 'q', 'm', GeomFromText('POINT(176 2)')),
|
||||
('n', 'c', 's', GeomFromText('POINT(218 163)')),
|
||||
('e', 'm', 'h', GeomFromText('POINT(163 108)')),
|
||||
('c', 'f', 'l', GeomFromText('POINT(220 115)')),
|
||||
('c', 'v', 'q', GeomFromText('POINT(66 45)')),
|
||||
('w', 'v', 'x', GeomFromText('POINT(251 220)')),
|
||||
('f', 'w', 'z', GeomFromText('POINT(146 149)')),
|
||||
('h', 'n', 'h', GeomFromText('POINT(148 128)')),
|
||||
('y', 'k', 'v', GeomFromText('POINT(28 110)')),
|
||||
('c', 'x', 'q', GeomFromText('POINT(13 13)')),
|
||||
('e', 'd', 's', GeomFromText('POINT(91 190)')),
|
||||
('c', 'w', 'c', GeomFromText('POINT(10 231)')),
|
||||
('u', 'j', 'n', GeomFromText('POINT(250 21)')),
|
||||
('w', 'n', 'x', GeomFromText('POINT(141 69)')),
|
||||
('f', 'p', 'y', GeomFromText('POINT(228 246)')),
|
||||
('d', 'q', 'f', GeomFromText('POINT(194 22)')),
|
||||
('d', 'z', 'l', GeomFromText('POINT(233 181)')),
|
||||
('c', 'a', 'q', GeomFromText('POINT(183 96)')),
|
||||
('m', 'i', 'd', GeomFromText('POINT(117 226)')),
|
||||
('z', 'y', 'y', GeomFromText('POINT(62 81)')),
|
||||
('g', 'v', 'm', GeomFromText('POINT(66 158)'));
|
||||
SET @@RAND_SEED1=481064922, @@RAND_SEED2=438133497;
|
||||
DELETE FROM t1 ORDER BY RAND() LIMIT 10;
|
||||
SET @@RAND_SEED1=280535103, @@RAND_SEED2=444518646;
|
||||
DELETE FROM t1 ORDER BY RAND() LIMIT 10;
|
||||
SET @@RAND_SEED1=1072017234, @@RAND_SEED2=484203885;
|
||||
DELETE FROM t1 ORDER BY RAND() LIMIT 10;
|
||||
SET @@RAND_SEED1=358851897, @@RAND_SEED2=358495224;
|
||||
DELETE FROM t1 ORDER BY RAND() LIMIT 10;
|
||||
SET @@RAND_SEED1=509031459, @@RAND_SEED2=675962925;
|
||||
DELETE FROM t1 ORDER BY RAND() LIMIT 10;
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(61 203)') where c1 like 'y%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(202 194)') where c1 like 'f%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(228 18)') where c1 like 'h%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(88 18)') where c1 like 'l%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(176 94)') where c1 like 'e%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(44 47)') where c1 like 'g%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(95 191)') where c1 like 'b%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(179 218)') where c1 like 'y%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(239 40)') where c1 like 'g%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(248 41)') where c1 like 'q%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(167 82)') where c1 like 't%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(13 104)') where c1 like 'u%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(139 84)') where c1 like 'a%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(145 108)') where c1 like 'p%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(147 57)') where c1 like 't%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(217 144)') where c1 like 'n%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(160 224)') where c1 like 'w%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(38 28)') where c1 like 'j%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(104 114)') where c1 like 'q%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(88 19)') where c1 like 'c%';
|
||||
INSERT INTO t1 (c2, c1, c3, spatial_point) VALUES
|
||||
('f', 'x', 'p', GeomFromText('POINT(92 181)')),
|
||||
('s', 'i', 'c', GeomFromText('POINT(49 60)')),
|
||||
('c', 'c', 'i', GeomFromText('POINT(7 57)')),
|
||||
('n', 'g', 'k', GeomFromText('POINT(252 105)')),
|
||||
('g', 'b', 'm', GeomFromText('POINT(180 11)')),
|
||||
('u', 'l', 'r', GeomFromText('POINT(32 90)')),
|
||||
('c', 'x', 'e', GeomFromText('POINT(143 24)')),
|
||||
('x', 'u', 'a', GeomFromText('POINT(123 92)')),
|
||||
('s', 'b', 'h', GeomFromText('POINT(190 108)')),
|
||||
('c', 'x', 'b', GeomFromText('POINT(104 100)')),
|
||||
('i', 'd', 't', GeomFromText('POINT(214 104)')),
|
||||
('r', 'w', 'g', GeomFromText('POINT(29 67)')),
|
||||
('b', 'f', 'g', GeomFromText('POINT(149 46)')),
|
||||
('r', 'r', 'd', GeomFromText('POINT(242 196)')),
|
||||
('j', 'l', 'a', GeomFromText('POINT(90 196)')),
|
||||
('e', 't', 'b', GeomFromText('POINT(190 64)')),
|
||||
('l', 'x', 'w', GeomFromText('POINT(250 73)')),
|
||||
('q', 'y', 'r', GeomFromText('POINT(120 182)')),
|
||||
('s', 'j', 'a', GeomFromText('POINT(180 175)')),
|
||||
('n', 'i', 'y', GeomFromText('POINT(124 136)')),
|
||||
('s', 'x', 's', GeomFromText('POINT(176 209)')),
|
||||
('u', 'f', 's', GeomFromText('POINT(215 173)')),
|
||||
('m', 'j', 'x', GeomFromText('POINT(44 140)')),
|
||||
('v', 'g', 'x', GeomFromText('POINT(177 233)')),
|
||||
('u', 't', 'b', GeomFromText('POINT(136 197)')),
|
||||
('f', 'g', 'b', GeomFromText('POINT(10 8)')),
|
||||
('v', 'c', 'j', GeomFromText('POINT(13 81)')),
|
||||
('d', 's', 'q', GeomFromText('POINT(200 100)')),
|
||||
('a', 'p', 'j', GeomFromText('POINT(33 40)')),
|
||||
('i', 'c', 'g', GeomFromText('POINT(168 204)')),
|
||||
('k', 'h', 'i', GeomFromText('POINT(93 243)')),
|
||||
('s', 'b', 's', GeomFromText('POINT(157 13)')),
|
||||
('v', 'l', 'l', GeomFromText('POINT(103 6)')),
|
||||
('r', 'b', 'k', GeomFromText('POINT(244 137)')),
|
||||
('l', 'd', 'r', GeomFromText('POINT(162 254)')),
|
||||
('q', 'b', 'z', GeomFromText('POINT(136 246)')),
|
||||
('x', 'x', 'p', GeomFromText('POINT(120 37)')),
|
||||
('m', 'e', 'z', GeomFromText('POINT(203 167)')),
|
||||
('q', 'n', 'p', GeomFromText('POINT(94 119)')),
|
||||
('b', 'g', 'u', GeomFromText('POINT(93 248)')),
|
||||
('r', 'v', 'v', GeomFromText('POINT(53 88)')),
|
||||
('y', 'a', 'i', GeomFromText('POINT(98 219)')),
|
||||
('a', 's', 'g', GeomFromText('POINT(173 138)')),
|
||||
('c', 'a', 't', GeomFromText('POINT(235 135)')),
|
||||
('q', 'm', 'd', GeomFromText('POINT(224 208)')),
|
||||
('e', 'p', 'k', GeomFromText('POINT(161 238)')),
|
||||
('n', 'g', 'q', GeomFromText('POINT(35 204)')),
|
||||
('t', 't', 'x', GeomFromText('POINT(230 178)')),
|
||||
('w', 'f', 'a', GeomFromText('POINT(150 221)')),
|
||||
('z', 'm', 'z', GeomFromText('POINT(119 42)')),
|
||||
('l', 'j', 's', GeomFromText('POINT(97 96)')),
|
||||
('f', 'z', 'x', GeomFromText('POINT(208 65)')),
|
||||
('i', 'v', 'c', GeomFromText('POINT(145 79)')),
|
||||
('l', 'f', 'k', GeomFromText('POINT(83 234)')),
|
||||
('u', 'a', 's', GeomFromText('POINT(250 49)')),
|
||||
('o', 'k', 'p', GeomFromText('POINT(46 50)')),
|
||||
('d', 'e', 'z', GeomFromText('POINT(30 198)')),
|
||||
('r', 'r', 'l', GeomFromText('POINT(78 189)')),
|
||||
('y', 'l', 'f', GeomFromText('POINT(188 132)')),
|
||||
('d', 'q', 'm', GeomFromText('POINT(247 107)')),
|
||||
('p', 'j', 'n', GeomFromText('POINT(148 227)')),
|
||||
('b', 'o', 'i', GeomFromText('POINT(172 25)')),
|
||||
('e', 'v', 'd', GeomFromText('POINT(94 248)')),
|
||||
('q', 'd', 'f', GeomFromText('POINT(15 29)')),
|
||||
('w', 'b', 'b', GeomFromText('POINT(74 111)')),
|
||||
('g', 'q', 'f', GeomFromText('POINT(107 215)')),
|
||||
('o', 'h', 'r', GeomFromText('POINT(25 168)')),
|
||||
('u', 't', 'w', GeomFromText('POINT(251 188)')),
|
||||
('h', 's', 'w', GeomFromText('POINT(254 247)')),
|
||||
('f', 'f', 'b', GeomFromText('POINT(166 103)'));
|
||||
SET @@RAND_SEED1=866613816, @@RAND_SEED2=92289615;
|
||||
INSERT INTO t1 (c2, c1, c3, spatial_point) VALUES
|
||||
('l', 'c', 'l', GeomFromText('POINT(202 98)')),
|
||||
('k', 'c', 'b', GeomFromText('POINT(46 206)')),
|
||||
('r', 'y', 'm', GeomFromText('POINT(74 140)')),
|
||||
('y', 'z', 'd', GeomFromText('POINT(200 160)')),
|
||||
('s', 'y', 's', GeomFromText('POINT(156 205)')),
|
||||
('u', 'v', 'p', GeomFromText('POINT(86 82)')),
|
||||
('j', 's', 's', GeomFromText('POINT(91 233)')),
|
||||
('x', 'j', 'f', GeomFromText('POINT(3 14)')),
|
||||
('l', 'z', 'v', GeomFromText('POINT(123 156)')),
|
||||
('h', 'i', 'o', GeomFromText('POINT(145 229)')),
|
||||
('o', 'r', 'd', GeomFromText('POINT(15 22)')),
|
||||
('f', 'x', 't', GeomFromText('POINT(21 60)')),
|
||||
('t', 'g', 'h', GeomFromText('POINT(50 153)')),
|
||||
('g', 'u', 'b', GeomFromText('POINT(82 85)')),
|
||||
('v', 'a', 'p', GeomFromText('POINT(231 178)')),
|
||||
('n', 'v', 'o', GeomFromText('POINT(183 25)')),
|
||||
('j', 'n', 'm', GeomFromText('POINT(50 144)')),
|
||||
('e', 'f', 'i', GeomFromText('POINT(46 16)')),
|
||||
('d', 'w', 'a', GeomFromText('POINT(66 6)')),
|
||||
('f', 'x', 'a', GeomFromText('POINT(107 197)')),
|
||||
('m', 'o', 'a', GeomFromText('POINT(142 80)')),
|
||||
('q', 'l', 'g', GeomFromText('POINT(251 23)')),
|
||||
('c', 's', 's', GeomFromText('POINT(158 43)')),
|
||||
('y', 'd', 'o', GeomFromText('POINT(196 228)')),
|
||||
('d', 'p', 'l', GeomFromText('POINT(107 5)')),
|
||||
('h', 'a', 'b', GeomFromText('POINT(183 166)')),
|
||||
('m', 'w', 'p', GeomFromText('POINT(19 59)')),
|
||||
('b', 'y', 'o', GeomFromText('POINT(178 30)')),
|
||||
('x', 'w', 'i', GeomFromText('POINT(168 94)')),
|
||||
('t', 'k', 'z', GeomFromText('POINT(171 5)')),
|
||||
('r', 'm', 'a', GeomFromText('POINT(222 19)')),
|
||||
('u', 'v', 'e', GeomFromText('POINT(224 80)')),
|
||||
('q', 'r', 'k', GeomFromText('POINT(212 218)')),
|
||||
('d', 'p', 'j', GeomFromText('POINT(169 7)')),
|
||||
('d', 'r', 'v', GeomFromText('POINT(193 23)')),
|
||||
('n', 'y', 'y', GeomFromText('POINT(130 178)')),
|
||||
('m', 'z', 'r', GeomFromText('POINT(81 200)')),
|
||||
('j', 'e', 'w', GeomFromText('POINT(145 239)')),
|
||||
('v', 'h', 'x', GeomFromText('POINT(24 105)')),
|
||||
('z', 'm', 'a', GeomFromText('POINT(175 129)')),
|
||||
('b', 'c', 'v', GeomFromText('POINT(213 10)')),
|
||||
('t', 't', 'u', GeomFromText('POINT(2 129)')),
|
||||
('r', 's', 'v', GeomFromText('POINT(209 192)')),
|
||||
('x', 'p', 'g', GeomFromText('POINT(43 63)')),
|
||||
('t', 'e', 'u', GeomFromText('POINT(139 210)')),
|
||||
('l', 'e', 't', GeomFromText('POINT(245 148)')),
|
||||
('a', 'i', 'k', GeomFromText('POINT(167 195)')),
|
||||
('m', 'o', 'h', GeomFromText('POINT(206 120)')),
|
||||
('g', 'z', 's', GeomFromText('POINT(169 240)')),
|
||||
('z', 'u', 's', GeomFromText('POINT(202 120)')),
|
||||
('i', 'b', 'a', GeomFromText('POINT(216 18)')),
|
||||
('w', 'y', 'g', GeomFromText('POINT(119 236)')),
|
||||
('h', 'y', 'p', GeomFromText('POINT(161 24)'));
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(33 100)') where c1 like 't%';
|
||||
UPDATE t1 set spatial_point=GeomFromText('POINT(41 46)') where c1 like 'f%';
|
||||
CHECK TABLE t1 EXTENDED;
|
||||
DROP TABLE t1;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
||||
#
|
||||
|
|
|
@ -471,3 +471,12 @@ SELECT COUNT(*) FROM t1 WHERE c=REPEAT('a',256);
|
|||
DROP TABLE t1;
|
||||
|
||||
# End of 5.0 tests
|
||||
|
||||
#
|
||||
# BUG#26080 - Memory Storage engine not working properly
|
||||
#
|
||||
CREATE TABLE t1(c1 VARCHAR(100), c2 INT) ENGINE=MEMORY;
|
||||
INSERT INTO t1 VALUES('', 0);
|
||||
ALTER TABLE t1 MODIFY c1 VARCHAR(101);
|
||||
SELECT c2 FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
|
|
@ -434,6 +434,32 @@ CREATE TABLE tm1(a SMALLINT, b SMALLINT, KEY(a)) ENGINE=MERGE UNION=(t1);
|
|||
SELECT * FROM tm1;
|
||||
DROP TABLE t1, tm1;
|
||||
|
||||
#
|
||||
# Bug#26464 - insert delayed + update + merge = corruption
|
||||
#
|
||||
CREATE TABLE t1(c1 INT) ENGINE=MyISAM;
|
||||
CREATE TABLE t2(c1 INT) ENGINE=MERGE UNION=(t1);
|
||||
--error 1031
|
||||
INSERT DELAYED INTO t2 VALUES(1);
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
#
|
||||
# BUG#26881 - Large MERGE tables report incorrect specification when no
|
||||
# differences in tables
|
||||
#
|
||||
CREATE TABLE t1(c1 VARCHAR(1));
|
||||
CREATE TABLE m1 LIKE t1;
|
||||
ALTER TABLE m1 ENGINE=MERGE UNION=(t1);
|
||||
SELECT * FROM m1;
|
||||
DROP TABLE t1, m1;
|
||||
|
||||
CREATE TABLE t1(c1 VARCHAR(4), c2 TINYINT, c3 TINYINT, c4 TINYINT,
|
||||
c5 TINYINT, c6 TINYINT, c7 TINYINT, c8 TINYINT, c9 TINYINT);
|
||||
CREATE TABLE m1 LIKE t1;
|
||||
ALTER TABLE m1 ENGINE=MERGE UNION=(t1);
|
||||
SELECT * FROM m1;
|
||||
DROP TABLE t1, m1;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
||||
#
|
||||
|
|
|
@ -703,9 +703,10 @@ bool ha_heap::check_if_incompatible_data(HA_CREATE_INFO *info,
|
|||
uint table_changes)
|
||||
{
|
||||
/* Check that auto_increment value was not changed */
|
||||
if ((table_changes != IS_EQUAL_YES &&
|
||||
info->used_fields & HA_CREATE_USED_AUTO) &&
|
||||
info->auto_increment_value != 0)
|
||||
if ((info->used_fields & HA_CREATE_USED_AUTO &&
|
||||
info->auto_increment_value != 0) ||
|
||||
table_changes == IS_EQUAL_NO ||
|
||||
table_changes & IS_EQUAL_PACK_LENGTH) // Not implemented yet
|
||||
return COMPATIBLE_DATA_NO;
|
||||
return COMPATIBLE_DATA_YES;
|
||||
}
|
||||
|
|
|
@ -320,6 +320,12 @@ int table2myisam(TABLE *table_arg, MI_KEYDEF **keydef_out,
|
|||
RETURN VALUE
|
||||
0 - Equal definitions.
|
||||
1 - Different definitions.
|
||||
|
||||
TODO
|
||||
- compare FULLTEXT keys;
|
||||
- compare SPATIAL keys;
|
||||
- compare FIELD_SKIP_ZERO which is converted to FIELD_NORMAL correctly
|
||||
(should be corretly detected in table2myisam).
|
||||
*/
|
||||
|
||||
int check_definition(MI_KEYDEF *t1_keyinfo, MI_COLUMNDEF *t1_recinfo,
|
||||
|
@ -345,6 +351,28 @@ int check_definition(MI_KEYDEF *t1_keyinfo, MI_COLUMNDEF *t1_recinfo,
|
|||
{
|
||||
HA_KEYSEG *t1_keysegs= t1_keyinfo[i].seg;
|
||||
HA_KEYSEG *t2_keysegs= t2_keyinfo[i].seg;
|
||||
if (t1_keyinfo[i].flag & HA_FULLTEXT && t2_keyinfo[i].flag & HA_FULLTEXT)
|
||||
continue;
|
||||
else if (t1_keyinfo[i].flag & HA_FULLTEXT ||
|
||||
t2_keyinfo[i].flag & HA_FULLTEXT)
|
||||
{
|
||||
DBUG_PRINT("error", ("Key %d has different definition", i));
|
||||
DBUG_PRINT("error", ("t1_fulltext= %d, t2_fulltext=%d",
|
||||
test(t1_keyinfo[i].flag & HA_FULLTEXT),
|
||||
test(t2_keyinfo[i].flag & HA_FULLTEXT)));
|
||||
DBUG_RETURN(1);
|
||||
}
|
||||
if (t1_keyinfo[i].flag & HA_SPATIAL && t2_keyinfo[i].flag & HA_SPATIAL)
|
||||
continue;
|
||||
else if (t1_keyinfo[i].flag & HA_SPATIAL ||
|
||||
t2_keyinfo[i].flag & HA_SPATIAL)
|
||||
{
|
||||
DBUG_PRINT("error", ("Key %d has different definition", i));
|
||||
DBUG_PRINT("error", ("t1_spatial= %d, t2_spatial=%d",
|
||||
test(t1_keyinfo[i].flag & HA_SPATIAL),
|
||||
test(t2_keyinfo[i].flag & HA_SPATIAL)));
|
||||
DBUG_RETURN(1);
|
||||
}
|
||||
if (t1_keyinfo[i].keysegs != t2_keyinfo[i].keysegs ||
|
||||
t1_keyinfo[i].key_alg != t2_keyinfo[i].key_alg)
|
||||
{
|
||||
|
@ -381,7 +409,14 @@ int check_definition(MI_KEYDEF *t1_keyinfo, MI_COLUMNDEF *t1_recinfo,
|
|||
{
|
||||
MI_COLUMNDEF *t1_rec= &t1_recinfo[i];
|
||||
MI_COLUMNDEF *t2_rec= &t2_recinfo[i];
|
||||
if (t1_rec->type != t2_rec->type ||
|
||||
/*
|
||||
FIELD_SKIP_ZERO can be changed to FIELD_NORMAL in mi_create,
|
||||
see NOTE1 in mi_create.c
|
||||
*/
|
||||
if ((t1_rec->type != t2_rec->type &&
|
||||
!(t1_rec->type == (int) FIELD_SKIP_ZERO &&
|
||||
t1_rec->length == 1 &&
|
||||
t2_rec->type == (int) FIELD_NORMAL)) ||
|
||||
t1_rec->length != t2_rec->length ||
|
||||
t1_rec->null_bit != t2_rec->null_bit)
|
||||
{
|
||||
|
|
|
@ -158,6 +158,10 @@ int mi_create(const char *name,uint keys,MI_KEYDEF *keydefs,
|
|||
rec--;
|
||||
if (rec->type == (int) FIELD_SKIP_ZERO && rec->length == 1)
|
||||
{
|
||||
/*
|
||||
NOTE1: here we change a field type FIELD_SKIP_ZERO ->
|
||||
FIELD_NORMAL
|
||||
*/
|
||||
rec->type=(int) FIELD_NORMAL;
|
||||
packed--;
|
||||
min_pack_length++;
|
||||
|
|
|
@ -506,24 +506,6 @@ MI_INFO *mi_open(const char *name, int mode, uint open_flags)
|
|||
share->data_file_type = DYNAMIC_RECORD;
|
||||
my_afree((gptr) disk_cache);
|
||||
mi_setup_functions(share);
|
||||
#ifdef HAVE_MMAP
|
||||
if (open_flags & HA_OPEN_MMAP)
|
||||
{
|
||||
info.s= share;
|
||||
if (mi_dynmap_file(&info, share->state.state.data_file_length))
|
||||
{
|
||||
/* purecov: begin inspected */
|
||||
/* Ignore if mmap fails. Use file I/O instead. */
|
||||
DBUG_PRINT("warning", ("mmap failed: errno: %d", errno));
|
||||
/* purecov: end */
|
||||
}
|
||||
else
|
||||
{
|
||||
share->file_read= mi_mmap_pread;
|
||||
share->file_write= mi_mmap_pwrite;
|
||||
}
|
||||
}
|
||||
#endif /* HAVE_MMAP */
|
||||
share->is_log_table= FALSE;
|
||||
#ifdef THREAD
|
||||
thr_lock_init(&share->lock);
|
||||
|
@ -554,6 +536,14 @@ MI_INFO *mi_open(const char *name, int mode, uint open_flags)
|
|||
}
|
||||
}
|
||||
#endif
|
||||
/*
|
||||
Memory mapping can only be requested after initializing intern_lock.
|
||||
*/
|
||||
if (open_flags & HA_OPEN_MMAP)
|
||||
{
|
||||
info.s= share;
|
||||
mi_extra(&info, HA_EXTRA_MMAP, 0);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1235,7 +1225,7 @@ int mi_open_datafile(MI_INFO *info, MYISAM_SHARE *share, File file_to_dup __attr
|
|||
int mi_open_keyfile(MYISAM_SHARE *share)
|
||||
{
|
||||
if ((share->kfile=my_open(share->unique_file_name, share->mode | O_SHARE,
|
||||
MYF(MY_WME))) < 0)
|
||||
MYF(MY_WME))) < 0)
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -184,6 +184,7 @@ int rtree_find_first(MI_INFO *info, uint keynr, uchar *key, uint key_length,
|
|||
/*
|
||||
Save searched key, include data pointer.
|
||||
The data pointer is required if the search_flag contains MBR_DATA.
|
||||
(minimum bounding rectangle)
|
||||
*/
|
||||
memcpy(info->first_mbr_key, key, keyinfo->keylength);
|
||||
info->last_rkey_length = key_length;
|
||||
|
@ -538,16 +539,19 @@ static int rtree_insert_req(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key,
|
|||
uint nod_flag;
|
||||
uchar *page_buf;
|
||||
int res;
|
||||
DBUG_ENTER("rtree_insert_req");
|
||||
|
||||
if (!(page_buf = (uchar*)my_alloca((uint)keyinfo->block_length +
|
||||
MI_MAX_KEY_BUFF)))
|
||||
{
|
||||
my_errno = HA_ERR_OUT_OF_MEM;
|
||||
return -1;
|
||||
DBUG_RETURN(-1); /* purecov: inspected */
|
||||
}
|
||||
if (!_mi_fetch_keypage(info, keyinfo, page, DFLT_INIT_HITS, page_buf, 0))
|
||||
goto err1;
|
||||
nod_flag = mi_test_if_nod(page_buf);
|
||||
DBUG_PRINT("rtree", ("page: %lu level: %d ins_level: %d nod_flag: %u",
|
||||
(ulong) page, level, ins_level, nod_flag));
|
||||
|
||||
if ((ins_level == -1 && nod_flag) || /* key: go down to leaf */
|
||||
(ins_level > -1 && ins_level > level)) /* branch: go down to ins_level */
|
||||
|
@ -599,11 +603,11 @@ static int rtree_insert_req(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key,
|
|||
|
||||
ok:
|
||||
my_afree((byte*)page_buf);
|
||||
return res;
|
||||
DBUG_RETURN(res);
|
||||
|
||||
err1:
|
||||
my_afree((byte*)page_buf);
|
||||
return -1;
|
||||
DBUG_RETURN(-1); /* purecov: inspected */
|
||||
}
|
||||
|
||||
|
||||
|
@ -623,18 +627,19 @@ static int rtree_insert_level(MI_INFO *info, uint keynr, uchar *key,
|
|||
MI_KEYDEF *keyinfo = info->s->keyinfo + keynr;
|
||||
int res;
|
||||
my_off_t new_page;
|
||||
|
||||
DBUG_ENTER("rtree_insert_level");
|
||||
|
||||
if ((old_root = info->s->state.key_root[keynr]) == HA_OFFSET_ERROR)
|
||||
{
|
||||
if ((old_root = _mi_new(info, keyinfo, DFLT_INIT_HITS)) == HA_OFFSET_ERROR)
|
||||
return -1;
|
||||
DBUG_RETURN(-1);
|
||||
info->buff_used = 1;
|
||||
mi_putint(info->buff, 2, 0);
|
||||
res = rtree_add_key(info, keyinfo, key, key_length, info->buff, NULL);
|
||||
if (_mi_write_keypage(info, keyinfo, old_root, DFLT_INIT_HITS, info->buff))
|
||||
return 1;
|
||||
DBUG_RETURN(1);
|
||||
info->s->state.key_root[keynr] = old_root;
|
||||
return res;
|
||||
DBUG_RETURN(res);
|
||||
}
|
||||
|
||||
switch ((res = rtree_insert_req(info, keyinfo, key, key_length,
|
||||
|
@ -651,11 +656,12 @@ static int rtree_insert_level(MI_INFO *info, uint keynr, uchar *key,
|
|||
uchar *new_key;
|
||||
uint nod_flag = info->s->base.key_reflength;
|
||||
|
||||
DBUG_PRINT("rtree", ("root was split, grow a new root"));
|
||||
if (!(new_root_buf = (uchar*)my_alloca((uint)keyinfo->block_length +
|
||||
MI_MAX_KEY_BUFF)))
|
||||
{
|
||||
my_errno = HA_ERR_OUT_OF_MEM;
|
||||
return -1;
|
||||
DBUG_RETURN(-1); /* purecov: inspected */
|
||||
}
|
||||
|
||||
mi_putint(new_root_buf, 2, nod_flag);
|
||||
|
@ -681,12 +687,14 @@ static int rtree_insert_level(MI_INFO *info, uint keynr, uchar *key,
|
|||
DFLT_INIT_HITS, new_root_buf))
|
||||
goto err1;
|
||||
info->s->state.key_root[keynr] = new_root;
|
||||
DBUG_PRINT("rtree", ("new root page: %lu level: %d nod_flag: %u",
|
||||
(ulong) new_root, 0, mi_test_if_nod(new_root_buf)));
|
||||
|
||||
my_afree((byte*)new_root_buf);
|
||||
break;
|
||||
err1:
|
||||
my_afree((byte*)new_root_buf);
|
||||
return -1;
|
||||
DBUG_RETURN(-1); /* purecov: inspected */
|
||||
}
|
||||
default:
|
||||
case -1: /* error */
|
||||
|
@ -694,7 +702,7 @@ err1:
|
|||
break;
|
||||
}
|
||||
}
|
||||
return res;
|
||||
DBUG_RETURN(res);
|
||||
}
|
||||
|
||||
|
||||
|
@ -708,8 +716,10 @@ err1:
|
|||
|
||||
int rtree_insert(MI_INFO *info, uint keynr, uchar *key, uint key_length)
|
||||
{
|
||||
return (!key_length ||
|
||||
(rtree_insert_level(info, keynr, key, key_length, -1) == -1)) ? -1 : 0;
|
||||
DBUG_ENTER("rtree_insert");
|
||||
DBUG_RETURN((!key_length ||
|
||||
(rtree_insert_level(info, keynr, key, key_length, -1) == -1)) ?
|
||||
-1 : 0);
|
||||
}
|
||||
|
||||
|
||||
|
@ -724,6 +734,8 @@ int rtree_insert(MI_INFO *info, uint keynr, uchar *key, uint key_length)
|
|||
static int rtree_fill_reinsert_list(stPageList *ReinsertList, my_off_t page,
|
||||
int level)
|
||||
{
|
||||
DBUG_ENTER("rtree_fill_reinsert_list");
|
||||
DBUG_PRINT("rtree", ("page: %lu level: %d", (ulong) page, level));
|
||||
if (ReinsertList->n_pages == ReinsertList->m_pages)
|
||||
{
|
||||
ReinsertList->m_pages += REINSERT_BUFFER_INC;
|
||||
|
@ -735,10 +747,10 @@ static int rtree_fill_reinsert_list(stPageList *ReinsertList, my_off_t page,
|
|||
ReinsertList->pages[ReinsertList->n_pages].offs = page;
|
||||
ReinsertList->pages[ReinsertList->n_pages].level = level;
|
||||
ReinsertList->n_pages++;
|
||||
return 0;
|
||||
DBUG_RETURN(0);
|
||||
|
||||
err1:
|
||||
return -1;
|
||||
DBUG_RETURN(-1); /* purecov: inspected */
|
||||
}
|
||||
|
||||
|
||||
|
@ -762,15 +774,18 @@ static int rtree_delete_req(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key,
|
|||
uint nod_flag;
|
||||
uchar *page_buf;
|
||||
int res;
|
||||
DBUG_ENTER("rtree_delete_req");
|
||||
|
||||
if (!(page_buf = (uchar*)my_alloca((uint)keyinfo->block_length)))
|
||||
{
|
||||
my_errno = HA_ERR_OUT_OF_MEM;
|
||||
return -1;
|
||||
DBUG_RETURN(-1); /* purecov: inspected */
|
||||
}
|
||||
if (!_mi_fetch_keypage(info, keyinfo, page, DFLT_INIT_HITS, page_buf, 0))
|
||||
goto err1;
|
||||
nod_flag = mi_test_if_nod(page_buf);
|
||||
DBUG_PRINT("rtree", ("page: %lu level: %d nod_flag: %u",
|
||||
(ulong) page, level, nod_flag));
|
||||
|
||||
k = rt_PAGE_FIRST_KEY(page_buf, nod_flag);
|
||||
last = rt_PAGE_END(page_buf);
|
||||
|
@ -791,6 +806,7 @@ static int rtree_delete_req(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key,
|
|||
if (*page_size + key_length >= rt_PAGE_MIN_SIZE(keyinfo->block_length))
|
||||
{
|
||||
/* OK */
|
||||
/* Calculate a new key value (MBR) for the shrinked block. */
|
||||
if (rtree_set_key_mbr(info, keyinfo, k, key_length,
|
||||
_mi_kpos(nod_flag, k)))
|
||||
goto err1;
|
||||
|
@ -800,10 +816,23 @@ static int rtree_delete_req(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key,
|
|||
}
|
||||
else
|
||||
{
|
||||
/* too small: delete key & add it descendant to reinsert list */
|
||||
/*
|
||||
Too small: delete key & add it descendant to reinsert list.
|
||||
Store position and level of the block so that it can be
|
||||
accessed later for inserting the remaining keys.
|
||||
*/
|
||||
DBUG_PRINT("rtree", ("too small. move block to reinsert list"));
|
||||
if (rtree_fill_reinsert_list(ReinsertList, _mi_kpos(nod_flag, k),
|
||||
level + 1))
|
||||
goto err1;
|
||||
/*
|
||||
Delete the key that references the block. This makes the
|
||||
block disappear from the index. Hence we need to insert
|
||||
its remaining keys later. Note: if the block is a branch
|
||||
block, we do not only remove this block, but the whole
|
||||
subtree. So we need to re-insert its keys on the same
|
||||
level later to reintegrate the subtrees.
|
||||
*/
|
||||
rtree_delete_key(info, page_buf, k, key_length, nod_flag);
|
||||
if (_mi_write_keypage(info, keyinfo, page,
|
||||
DFLT_INIT_HITS, page_buf))
|
||||
|
@ -863,11 +892,11 @@ static int rtree_delete_req(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key,
|
|||
|
||||
ok:
|
||||
my_afree((byte*)page_buf);
|
||||
return res;
|
||||
DBUG_RETURN(res);
|
||||
|
||||
err1:
|
||||
my_afree((byte*)page_buf);
|
||||
return -1;
|
||||
DBUG_RETURN(-1); /* purecov: inspected */
|
||||
}
|
||||
|
||||
|
||||
|
@ -885,12 +914,15 @@ int rtree_delete(MI_INFO *info, uint keynr, uchar *key, uint key_length)
|
|||
stPageList ReinsertList;
|
||||
my_off_t old_root;
|
||||
MI_KEYDEF *keyinfo = info->s->keyinfo + keynr;
|
||||
DBUG_ENTER("rtree_delete");
|
||||
|
||||
if ((old_root = info->s->state.key_root[keynr]) == HA_OFFSET_ERROR)
|
||||
{
|
||||
my_errno= HA_ERR_END_OF_FILE;
|
||||
return -1;
|
||||
DBUG_RETURN(-1); /* purecov: inspected */
|
||||
}
|
||||
DBUG_PRINT("rtree", ("starting deletion at root page: %lu",
|
||||
(ulong) old_root));
|
||||
|
||||
ReinsertList.pages = NULL;
|
||||
ReinsertList.n_pages = 0;
|
||||
|
@ -899,12 +931,12 @@ int rtree_delete(MI_INFO *info, uint keynr, uchar *key, uint key_length)
|
|||
switch (rtree_delete_req(info, keyinfo, key, key_length, old_root,
|
||||
&page_size, &ReinsertList, 0))
|
||||
{
|
||||
case 2:
|
||||
case 2: /* empty */
|
||||
{
|
||||
info->s->state.key_root[keynr] = HA_OFFSET_ERROR;
|
||||
return 0;
|
||||
DBUG_RETURN(0);
|
||||
}
|
||||
case 0:
|
||||
case 0: /* deleted */
|
||||
{
|
||||
uint nod_flag;
|
||||
ulong i;
|
||||
|
@ -923,16 +955,34 @@ int rtree_delete(MI_INFO *info, uint keynr, uchar *key, uint key_length)
|
|||
DFLT_INIT_HITS, page_buf, 0))
|
||||
goto err1;
|
||||
nod_flag = mi_test_if_nod(page_buf);
|
||||
DBUG_PRINT("rtree", ("reinserting keys from "
|
||||
"page: %lu level: %d nod_flag: %u",
|
||||
(ulong) ReinsertList.pages[i].offs,
|
||||
ReinsertList.pages[i].level, nod_flag));
|
||||
|
||||
k = rt_PAGE_FIRST_KEY(page_buf, nod_flag);
|
||||
last = rt_PAGE_END(page_buf);
|
||||
for (; k < last; k = rt_PAGE_NEXT_KEY(k, key_length, nod_flag))
|
||||
{
|
||||
if (rtree_insert_level(info, keynr, k, key_length,
|
||||
ReinsertList.pages[i].level) == -1)
|
||||
int res;
|
||||
if ((res= rtree_insert_level(info, keynr, k, key_length,
|
||||
ReinsertList.pages[i].level)) == -1)
|
||||
{
|
||||
my_afree((byte*)page_buf);
|
||||
goto err1;
|
||||
}
|
||||
if (res)
|
||||
{
|
||||
ulong j;
|
||||
DBUG_PRINT("rtree", ("root has been split, adjust levels"));
|
||||
for (j= i; j < ReinsertList.n_pages; j++)
|
||||
{
|
||||
ReinsertList.pages[j].level++;
|
||||
DBUG_PRINT("rtree", ("keys from page: %lu now level: %d",
|
||||
(ulong) ReinsertList.pages[i].offs,
|
||||
ReinsertList.pages[i].level));
|
||||
}
|
||||
}
|
||||
}
|
||||
my_afree((byte*)page_buf);
|
||||
if (_mi_dispose(info, keyinfo, ReinsertList.pages[i].offs,
|
||||
|
@ -959,20 +1009,20 @@ int rtree_delete(MI_INFO *info, uint keynr, uchar *key, uint key_length)
|
|||
info->s->state.key_root[keynr] = new_root;
|
||||
}
|
||||
info->update= HA_STATE_DELETED;
|
||||
return 0;
|
||||
DBUG_RETURN(0);
|
||||
|
||||
err1:
|
||||
return -1;
|
||||
DBUG_RETURN(-1); /* purecov: inspected */
|
||||
}
|
||||
case 1: /* not found */
|
||||
{
|
||||
my_errno = HA_ERR_KEY_NOT_FOUND;
|
||||
return -1;
|
||||
DBUG_RETURN(-1); /* purecov: inspected */
|
||||
}
|
||||
default:
|
||||
case -1: /* error */
|
||||
{
|
||||
return -1;
|
||||
DBUG_RETURN(-1); /* purecov: inspected */
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -34,6 +34,7 @@ int rtree_add_key(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key,
|
|||
{
|
||||
uint page_size = mi_getint(page_buf);
|
||||
uint nod_flag = mi_test_if_nod(page_buf);
|
||||
DBUG_ENTER("rtree_add_key");
|
||||
|
||||
if (page_size + key_length + info->s->base.rec_reflength <=
|
||||
keyinfo->block_length)
|
||||
|
@ -42,22 +43,26 @@ int rtree_add_key(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key,
|
|||
if (nod_flag)
|
||||
{
|
||||
/* save key */
|
||||
DBUG_ASSERT(_mi_kpos(nod_flag, key) < info->state->key_file_length);
|
||||
memcpy(rt_PAGE_END(page_buf), key - nod_flag, key_length + nod_flag);
|
||||
page_size += key_length + nod_flag;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* save key */
|
||||
DBUG_ASSERT(_mi_dpos(info, nod_flag, key + key_length +
|
||||
info->s->base.rec_reflength) <
|
||||
info->state->data_file_length + info->s->base.pack_reclength);
|
||||
memcpy(rt_PAGE_END(page_buf), key, key_length +
|
||||
info->s->base.rec_reflength);
|
||||
page_size += key_length + info->s->base.rec_reflength;
|
||||
}
|
||||
mi_putint(page_buf, page_size, nod_flag);
|
||||
return 0;
|
||||
DBUG_RETURN(0);
|
||||
}
|
||||
|
||||
return (rtree_split_page(info, keyinfo, page_buf, key, key_length,
|
||||
new_page) ? -1 : 1);
|
||||
DBUG_RETURN((rtree_split_page(info, keyinfo, page_buf, key, key_length,
|
||||
new_page) ? -1 : 1));
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -89,11 +94,13 @@ int rtree_delete_key(MI_INFO *info, uchar *page_buf, uchar *key,
|
|||
int rtree_set_key_mbr(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key,
|
||||
uint key_length, my_off_t child_page)
|
||||
{
|
||||
DBUG_ENTER("rtree_set_key_mbr");
|
||||
|
||||
if (!_mi_fetch_keypage(info, keyinfo, child_page,
|
||||
DFLT_INIT_HITS, info->buff, 0))
|
||||
return -1;
|
||||
DBUG_RETURN(-1); /* purecov: inspected */
|
||||
|
||||
return rtree_page_mbr(info, keyinfo->seg, info->buff, key, key_length);
|
||||
DBUG_RETURN(rtree_page_mbr(info, keyinfo->seg, info->buff, key, key_length));
|
||||
}
|
||||
|
||||
#endif /*HAVE_RTREE_KEYS*/
|
||||
|
|
|
@ -264,13 +264,15 @@ int rtree_split_page(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *page, uchar *key,
|
|||
uint full_length= key_length + (nod_flag ? nod_flag :
|
||||
info->s->base.rec_reflength);
|
||||
int max_keys= (mi_getint(page)-2) / (full_length);
|
||||
DBUG_ENTER("rtree_split_page");
|
||||
DBUG_PRINT("rtree", ("splitting block"));
|
||||
|
||||
n_dim = keyinfo->keysegs / 2;
|
||||
|
||||
if (!(coord_buf= (double*) my_alloca(n_dim * 2 * sizeof(double) *
|
||||
(max_keys + 1 + 4) +
|
||||
sizeof(SplitStruct) * (max_keys + 1))))
|
||||
return -1;
|
||||
DBUG_RETURN(-1); /* purecov: inspected */
|
||||
|
||||
task= (SplitStruct *)(coord_buf + n_dim * 2 * (max_keys + 1 + 4));
|
||||
|
||||
|
@ -341,12 +343,13 @@ int rtree_split_page(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *page, uchar *key,
|
|||
else
|
||||
err_code= _mi_write_keypage(info, keyinfo, *new_page_offs,
|
||||
DFLT_INIT_HITS, new_page);
|
||||
DBUG_PRINT("rtree", ("split new block: %lu", (ulong) *new_page_offs));
|
||||
|
||||
my_afree((byte*)new_page);
|
||||
|
||||
split_err:
|
||||
my_afree((byte*) coord_buf);
|
||||
return err_code;
|
||||
DBUG_RETURN(err_code);
|
||||
}
|
||||
|
||||
#endif /*HAVE_RTREE_KEYS*/
|
||||
|
|
|
@ -36,8 +36,8 @@ class ha_myisammrg: public handler
|
|||
{
|
||||
return (HA_REC_NOT_IN_SEQ | HA_AUTO_PART_KEY | HA_NO_TRANSACTIONS |
|
||||
HA_NULL_IN_KEY | HA_CAN_INDEX_BLOBS | HA_FILE_BASED |
|
||||
HA_CAN_INSERT_DELAYED | HA_ANY_INDEX_MAY_BE_UNIQUE |
|
||||
HA_CAN_BIT_FIELD | HA_NO_COPY_ON_ALTER);
|
||||
HA_ANY_INDEX_MAY_BE_UNIQUE | HA_CAN_BIT_FIELD |
|
||||
HA_NO_COPY_ON_ALTER);
|
||||
}
|
||||
ulong index_flags(uint inx, uint part, bool all_parts) const
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue