Merge lp:~stewart/drizzle/bug578842-max-index-size into lp:~drizzle-trunk/drizzle/development

Proposed by Stewart Smith
Status: Merged
Merged at revision: 1530
Proposed branch: lp:~stewart/drizzle/bug578842-max-index-size
Merge into: lp:~drizzle-trunk/drizzle/development
Diff against target: 666 lines (+79/-111)
15 files modified
plugin/innobase/dict/dict0dict.c (+2/-2)
plugin/innobase/include/rem0types.h (+1/-1)
plugin/schema_dictionary/tests/r/show.result (+1/-3)
tests/r/auto_increment.result (+1/-3)
tests/r/ctype_utf8.result (+1/-1)
tests/r/drizzledump.result (+2/-4)
tests/r/group_by.result (+1/-3)
tests/r/innodb.result (+26/-39)
tests/r/innodb_mysql.result (+3/-3)
tests/r/randgen_queries.result (+0/-3)
tests/r/subselect.result (+0/-2)
tests/r/type_blob.result (+3/-3)
tests/r/type_varchar.result (+35/-35)
tests/r/union.result (+0/-6)
tests/t/innodb.test (+3/-3)
To merge this branch: bzr merge lp:~stewart/drizzle/bug578842-max-index-size
Reviewer Review Type Date Requested Status
Jay Pipes (community) Approve
Brian Aker Pending
Review via email: mp+25205@code.launchpad.net

Description of the change

up the max index size to 1023 from 767. This gives us compatibility with the same index lengths as 3byte utf8 in mysql.

Param-build passes: http://hudson.drizzle.org/view/Drizzle-param/job/drizzle-param/168/

To post a comment you must log in.
Revision history for this message
Jay Pipes (jaypipes) wrote :

rock.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'plugin/innobase/dict/dict0dict.c'
2--- plugin/innobase/dict/dict0dict.c 2010-02-11 03:29:52 +0000
3+++ plugin/innobase/dict/dict0dict.c 2010-05-13 06:40:48 +0000
4@@ -1740,11 +1740,11 @@
5 if (field->fixed_len > DICT_MAX_INDEX_COL_LEN) {
6 field->fixed_len = 0;
7 }
8-#if DICT_MAX_INDEX_COL_LEN != 768
9+#if DICT_MAX_INDEX_COL_LEN != 1024
10 /* The comparison limit above must be constant. If it were
11 changed, the disk format of some fixed-length columns would
12 change, which would be a disaster. */
13-# error "DICT_MAX_INDEX_COL_LEN != 768"
14+# error "DICT_MAX_INDEX_COL_LEN != 1024"
15 #endif
16
17 if (!(col->prtype & DATA_NOT_NULL)) {
18
19=== modified file 'plugin/innobase/include/rem0types.h'
20--- plugin/innobase/include/rem0types.h 2009-08-12 06:25:19 +0000
21+++ plugin/innobase/include/rem0types.h 2010-05-13 06:40:48 +0000
22@@ -41,6 +41,6 @@
23 a character may take at most 3 bytes.
24 This constant MUST NOT BE CHANGED, or the compatibility of InnoDB data
25 files would be at risk! */
26-#define REC_MAX_INDEX_COL_LEN 768
27+#define REC_MAX_INDEX_COL_LEN 1024
28
29 #endif
30
31=== modified file 'plugin/schema_dictionary/tests/r/show.result'
32--- plugin/schema_dictionary/tests/r/show.result 2010-03-29 02:01:49 +0000
33+++ plugin/schema_dictionary/tests/r/show.result 2010-05-13 06:40:48 +0000
34@@ -135,8 +135,6 @@
35 KEY `author` (`author_user`),
36 KEY `type` (`type_nodetype`)
37 ) AUTO_INCREMENT=641;
38-Warnings:
39-Warning 1071 Specified key was too long; max key length is 767 bytes
40 DROP TABLE IF EXISTS `nodegroup`;
41 Warnings:
42 Note 1051 Unknown table 'nodegroup'
43@@ -487,7 +485,7 @@
44 `dynamicguest_permission` int NOT NULL DEFAULT '-1',
45 `group_usergroup` int NOT NULL DEFAULT '-1',
46 PRIMARY KEY (`node_id`),
47- KEY `title` (`title`(191),`type_nodetype`),
48+ KEY `title` (`title`,`type_nodetype`),
49 KEY `author` (`author_user`),
50 KEY `type` (`type_nodetype`)
51 ) ENGINE=InnoDB
52
53=== modified file 'tests/r/auto_increment.result'
54--- tests/r/auto_increment.result 2010-03-09 22:42:17 +0000
55+++ tests/r/auto_increment.result 2010-05-13 06:40:48 +0000
56@@ -277,8 +277,6 @@
57 KEY (t1_name),
58 PRIMARY KEY (t1_id)
59 ) AUTO_INCREMENT = 1000;
60-Warnings:
61-Warning 1071 Specified key was too long; max key length is 767 bytes
62 INSERT INTO t1 (t1_name) VALUES('MySQL');
63 INSERT INTO t1 (t1_name) VALUES('MySQL');
64 INSERT INTO t1 (t1_name) VALUES('MySQL');
65@@ -293,7 +291,7 @@
66 `t1_name` varchar(255) DEFAULT NULL,
67 `t1_id` int NOT NULL AUTO_INCREMENT,
68 PRIMARY KEY (`t1_id`),
69- KEY `t1_name` (`t1_name`(191))
70+ KEY `t1_name` (`t1_name`)
71 ) ENGINE=InnoDB
72 DROP TABLE `t1`;
73 create table t1(a int not null auto_increment primary key);
74
75=== modified file 'tests/r/ctype_utf8.result'
76--- tests/r/ctype_utf8.result 2010-04-05 23:46:43 +0000
77+++ tests/r/ctype_utf8.result 2010-05-13 06:40:48 +0000
78@@ -136,7 +136,7 @@
79 hex(s1)
80 drop table t1;
81 create table t1 (a text, primary key(a(360))) engine=innodb;
82-ERROR 42000: Specified key was too long; max key length is 767 bytes
83+ERROR 42000: Specified key was too long; max key length is 1023 bytes
84 CREATE TABLE t1 ( a varchar(10) );
85 INSERT INTO t1 VALUES ( 'test' );
86 SELECT a.a, b.a FROM t1 a, t1 b WHERE a.a = b.a;
87
88=== modified file 'tests/r/drizzledump.result'
89--- tests/r/drizzledump.result 2010-03-09 22:42:17 +0000
90+++ tests/r/drizzledump.result 2010-05-13 06:40:48 +0000
91@@ -1070,8 +1070,6 @@
92 key (t1_name),
93 primary key (t1_id)
94 ) auto_increment = 1000;
95-Warnings:
96-Warning 1071 Specified key was too long; max key length is 767 bytes
97 insert into t1 (t1_name) values('bla');
98 insert into t1 (t1_name) values('bla');
99 insert into t1 (t1_name) values('bla');
100@@ -1086,7 +1084,7 @@
101 `t1_name` varchar(255) DEFAULT NULL,
102 `t1_id` int NOT NULL AUTO_INCREMENT,
103 PRIMARY KEY (`t1_id`),
104- KEY `t1_name` (`t1_name`(191))
105+ KEY `t1_name` (`t1_name`)
106 ) ENGINE=InnoDB
107 DROP TABLE `t1`;
108 select * from t1;
109@@ -1100,7 +1098,7 @@
110 `t1_name` varchar(255) DEFAULT NULL,
111 `t1_id` int NOT NULL AUTO_INCREMENT,
112 PRIMARY KEY (`t1_id`),
113- KEY `t1_name` (`t1_name`(191))
114+ KEY `t1_name` (`t1_name`)
115 ) ENGINE=InnoDB
116 drop table `t1`;
117 #
118
119=== modified file 'tests/r/group_by.result'
120--- tests/r/group_by.result 2009-11-13 00:56:59 +0000
121+++ tests/r/group_by.result 2010-05-13 06:40:48 +0000
122@@ -543,8 +543,6 @@
123 primary key (a,b(132),c,d),
124 key a (a,b)
125 );
126-Warnings:
127-Warning 1071 Specified key was too long; max key length is 767 bytes
128 insert into t2 select
129 x3.a, -- 3
130 concat('val-', x3.a + 3*x4.a), -- 12
131@@ -554,7 +552,7 @@
132 delete from t2 where a = 2 and b = 'val-2' order by a,b,c,d limit 30;
133 explain select c from t2 where a = 2 and b = 'val-2' group by c;
134 id select_type table type possible_keys key key_len ref rows Extra
135-1 SIMPLE t2 ref PRIMARY,a a 770 const,const 36 Using where; Using index
136+1 SIMPLE t2 ref PRIMARY,a a 806 const,const 36 Using where; Using index
137 select c from t2 where a = 2 and b = 'val-2' group by c;
138 c
139 val-74
140
141=== modified file 'tests/r/innodb.result'
142--- tests/r/innodb.result 2010-04-08 07:20:26 +0000
143+++ tests/r/innodb.result 2010-05-13 06:40:48 +0000
144@@ -1778,7 +1778,7 @@
145 i 10
146 alter table t1 modify v varchar(300), drop key v, drop key v_2, add key v (v);
147 Warnings:
148-Warning 1071 Specified key was too long; max key length is 767 bytes
149+Warning 1071 Specified key was too long; max key length is 1023 bytes
150 show create table t1;
151 Table Create Table
152 t1 CREATE TABLE `t1` (
153@@ -1787,7 +1787,7 @@
154 `t` text,
155 KEY `c` (`c`),
156 KEY `t` (`t`(10)),
157- KEY `v` (`v`(191))
158+ KEY `v` (`v`(255))
159 ) ENGINE=InnoDB
160 select count(*) from t1 where v='a';
161 count(*)
162@@ -1809,19 +1809,19 @@
163 9
164 explain select count(*) from t1 where v='a ';
165 id select_type table type possible_keys key key_len ref rows Extra
166-1 SIMPLE t1 ref v v 767 const # Using where
167+1 SIMPLE t1 ref v v 1023 const # Using where
168 explain select count(*) from t1 where v like 'a%';
169 id select_type table type possible_keys key key_len ref rows Extra
170-1 SIMPLE t1 range v v 767 NULL # Using where
171+1 SIMPLE t1 range v v 1023 NULL # Using where
172 explain select count(*) from t1 where v between 'a' and 'a ';
173 id select_type table type possible_keys key key_len ref rows Extra
174-1 SIMPLE t1 ref v v 767 const # Using where
175+1 SIMPLE t1 ref v v 1023 const # Using where
176 explain select count(*) from t1 where v between 'a' and 'a ' and v between 'a ' and 'b\n';
177 id select_type table type possible_keys key key_len ref rows Extra
178-1 SIMPLE t1 ref v v 767 const # Using where
179+1 SIMPLE t1 ref v v 1023 const # Using where
180 explain select * from t1 where v='a';
181 id select_type table type possible_keys key key_len ref rows Extra
182-1 SIMPLE t1 ref v v 767 const # Using where
183+1 SIMPLE t1 ref v v 1023 const # Using where
184 select v,count(*) from t1 group by v limit 10;
185 v count(*)
186 a 1
187@@ -1940,7 +1940,7 @@
188 i 10
189 alter table t1 modify v varchar(600), drop key v, add key v (v);
190 Warnings:
191-Warning 1071 Specified key was too long; max key length is 767 bytes
192+Warning 1071 Specified key was too long; max key length is 1023 bytes
193 show create table t1;
194 Table Create Table
195 t1 CREATE TABLE `t1` (
196@@ -1949,7 +1949,7 @@
197 `t` text,
198 KEY `c` (`c`),
199 KEY `t` (`t`(10)),
200- KEY `v` (`v`(191))
201+ KEY `v` (`v`(255))
202 ) ENGINE=InnoDB
203 select v,count(*) from t1 group by v limit 10;
204 v count(*)
205@@ -2061,7 +2061,7 @@
206 drop table t1;
207 create table t1 (v varchar(16383), key(v));
208 Warnings:
209-Warning 1071 Specified key was too long; max key length is 767 bytes
210+Warning 1071 Specified key was too long; max key length is 1023 bytes
211 drop table t1;
212 create table t1 (v varchar(16383));
213 show create table t1;
214@@ -2175,15 +2175,13 @@
215 create table t1 (col1 varchar(2000), index (col1(767)))
216 engine = innodb;
217 Warnings:
218-Warning 1071 Specified key was too long; max key length is 767 bytes
219+Warning 1071 Specified key was too long; max key length is 1023 bytes
220 create table t2 (col1 char(255), index (col1))
221 engine = innodb;
222-Warnings:
223-Warning 1071 Specified key was too long; max key length is 767 bytes
224 create table t4 (col1 varchar(767), index (col1))
225 engine = innodb;
226 Warnings:
227-Warning 1071 Specified key was too long; max key length is 767 bytes
228+Warning 1071 Specified key was too long; max key length is 1023 bytes
229 create table t5 (col1 varchar(190) primary key)
230 engine = innodb;
231 create table t6 (col1 varbinary(254) primary key)
232@@ -2191,57 +2189,53 @@
233 create table t7 (col1 text, index(col1(767)))
234 engine = innodb;
235 Warnings:
236-Warning 1071 Specified key was too long; max key length is 767 bytes
237+Warning 1071 Specified key was too long; max key length is 1023 bytes
238 create table t8 (col1 blob, index(col1(767)))
239 engine = innodb;
240 create table t9 (col1 varchar(512), col2 varchar(512), index(col1, col2))
241 engine = innodb;
242 Warnings:
243-Warning 1071 Specified key was too long; max key length is 767 bytes
244-Warning 1071 Specified key was too long; max key length is 767 bytes
245+Warning 1071 Specified key was too long; max key length is 1023 bytes
246+Warning 1071 Specified key was too long; max key length is 1023 bytes
247 show create table t9;
248 Table Create Table
249 t9 CREATE TABLE `t9` (
250 `col1` varchar(512) DEFAULT NULL,
251 `col2` varchar(512) DEFAULT NULL,
252- KEY `col1` (`col1`(191),`col2`(191))
253+ KEY `col1` (`col1`(255),`col2`(255))
254 ) ENGINE=InnoDB
255 drop table t1, t2, t4, t5, t6, t7, t8, t9;
256 create table t1 (col1 varchar(768), index(col1))
257 engine = innodb;
258 Warnings:
259-Warning 1071 Specified key was too long; max key length is 767 bytes
260+Warning 1071 Specified key was too long; max key length is 1023 bytes
261 create table t2 (col1 varbinary(768), index(col1))
262 engine = innodb;
263-Warnings:
264-Warning 1071 Specified key was too long; max key length is 767 bytes
265 create table t3 (col1 text, index(col1(768)))
266 engine = innodb;
267 Warnings:
268-Warning 1071 Specified key was too long; max key length is 767 bytes
269+Warning 1071 Specified key was too long; max key length is 1023 bytes
270 create table t4 (col1 blob, index(col1(768)))
271 engine = innodb;
272-Warnings:
273-Warning 1071 Specified key was too long; max key length is 767 bytes
274 show create table t1;
275 Table Create Table
276 t1 CREATE TABLE `t1` (
277 `col1` varchar(768) DEFAULT NULL,
278- KEY `col1` (`col1`(191))
279+ KEY `col1` (`col1`(255))
280 ) ENGINE=InnoDB
281 drop table t1, t2, t3, t4;
282 create table t1 (col1 varchar(768) primary key)
283 engine = innodb;
284-ERROR 42000: Specified key was too long; max key length is 767 bytes
285-create table t2 (col1 varbinary(768) primary key)
286+ERROR 42000: Specified key was too long; max key length is 1023 bytes
287+create table t2 (col1 varbinary(1024) primary key)
288 engine = innodb;
289-ERROR 42000: Specified key was too long; max key length is 767 bytes
290+ERROR 42000: Specified key was too long; max key length is 1023 bytes
291 create table t3 (col1 text, primary key(col1(768)))
292 engine = innodb;
293-ERROR 42000: Specified key was too long; max key length is 767 bytes
294-create table t4 (col1 blob, primary key(col1(768)))
295+ERROR 42000: Specified key was too long; max key length is 1023 bytes
296+create table t4 (col1 blob, primary key(col1(1024)))
297 engine = innodb;
298-ERROR 42000: Specified key was too long; max key length is 767 bytes
299+ERROR 42000: Specified key was too long; max key length is 1023 bytes
300 CREATE TABLE t1
301 (
302 id INT PRIMARY KEY
303@@ -2311,12 +2305,7 @@
304 b varchar(255),
305 c varchar(255),
306 d varchar(255),
307-key (a,b,c,d)) engine=innodb;
308-Warnings:
309-Warning 1071 Specified key was too long; max key length is 767 bytes
310-Warning 1071 Specified key was too long; max key length is 767 bytes
311-Warning 1071 Specified key was too long; max key length is 767 bytes
312-Warning 1071 Specified key was too long; max key length is 767 bytes
313+key (a(200),b(200),c(200),d(200))) engine=innodb;
314 drop table t1;
315 create table t1 (a varchar(255),
316 b varchar(255),
317@@ -2632,8 +2621,6 @@
318 CONSTRAINT t_fk FOREIGN KEY (a) REFERENCES t1 (a)
319 ON DELETE CASCADE
320 ) ENGINE=INNODB;
321-Warnings:
322-Warning 1071 Specified key was too long; max key length is 767 bytes
323 INSERT INTO t1 VALUES (1);
324 INSERT INTO t2 VALUES (1, 'bar', 'vbar');
325 INSERT INTO t2 VALUES (1, 'BAR2', 'VBAR');
326
327=== modified file 'tests/r/innodb_mysql.result'
328--- tests/r/innodb_mysql.result 2010-03-02 16:42:01 +0000
329+++ tests/r/innodb_mysql.result 2010-05-13 06:40:48 +0000
330@@ -639,7 +639,7 @@
331 drop table t1,t2;
332 create table t1(f1 varchar(800) not null, key(f1));
333 Warnings:
334-Warning 1071 Specified key was too long; max key length is 767 bytes
335+Warning 1071 Specified key was too long; max key length is 1023 bytes
336 insert into t1 values('aaa');
337 drop table t1;
338 CREATE TABLE t1 (a INT PRIMARY KEY, b INT, c FLOAT, KEY b(b)) ENGINE = INNODB;
339@@ -944,12 +944,12 @@
340 insert into t1 values('aaa');
341 alter table t1 add index(a(1024));
342 Warnings:
343-Warning 1071 Specified key was too long; max key length is 767 bytes
344+Warning 1071 Specified key was too long; max key length is 1023 bytes
345 show create table t1;
346 Table Create Table
347 t1 CREATE TABLE `t1` (
348 `a` text,
349- KEY `a` (`a`(191))
350+ KEY `a` (`a`(255))
351 ) ENGINE=InnoDB
352 drop table t1;
353 CREATE TABLE t1 (
354
355=== modified file 'tests/r/randgen_queries.result'
356--- tests/r/randgen_queries.result 2010-04-05 20:46:02 +0000
357+++ tests/r/randgen_queries.result 2010-05-13 06:40:48 +0000
358@@ -42,9 +42,6 @@
359 key (`col_char_not_null_key` ),
360 key (`col_text_key` (255)),
361 key (`col_enum_key` )) ENGINE=innodb;
362-Warnings:
363-Warning 1071 Specified key was too long; max key length is 767 bytes
364-Warning 1071 Specified key was too long; max key length is 767 bytes
365 set AUTOCOMMIT=OFF;
366 select table_schema,
367 table_name,
368
369=== modified file 'tests/r/subselect.result'
370--- tests/r/subselect.result 2009-12-15 16:55:05 +0000
371+++ tests/r/subselect.result 2010-05-13 06:40:48 +0000
372@@ -3964,8 +3964,6 @@
373 a varchar(255) default NULL,
374 b timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
375 INDEX idx(a,b));
376-Warnings:
377-Warning 1071 Specified key was too long; max key length is 767 bytes
378 CREATE TABLE t2 (
379 a varchar(255) default NULL);
380 INSERT INTO t1 VALUES ('abcdefghijk','2007-05-07 06:00:24');
381
382=== modified file 'tests/r/type_blob.result'
383--- tests/r/type_blob.result 2010-03-02 01:04:20 +0000
384+++ tests/r/type_blob.result 2010-05-13 06:40:48 +0000
385@@ -335,15 +335,15 @@
386 hello 1
387 drop table t1;
388 create table t1 (a text, unique (a(2100)));
389-ERROR 42000: Specified key was too long; max key length is 767 bytes
390+ERROR 42000: Specified key was too long; max key length is 1023 bytes
391 create table t1 (a text, key (a(2100)));
392 Warnings:
393-Warning 1071 Specified key was too long; max key length is 767 bytes
394+Warning 1071 Specified key was too long; max key length is 1023 bytes
395 show create table t1;
396 Table Create Table
397 t1 CREATE TABLE `t1` (
398 `a` text,
399- KEY `a` (`a`(191))
400+ KEY `a` (`a`(255))
401 ) ENGINE=DEFAULT
402 drop table t1;
403 CREATE TABLE t1 (
404
405=== modified file 'tests/r/type_varchar.result'
406--- tests/r/type_varchar.result 2009-10-31 18:12:20 +0000
407+++ tests/r/type_varchar.result 2010-05-13 06:40:48 +0000
408@@ -38,8 +38,6 @@
409 alter table t1 add primary key (v);
410 drop table t1;
411 create table t1 (v varchar(254), index (v));
412-Warnings:
413-Warning 1071 Specified key was too long; max key length is 767 bytes
414 insert into t1 values ("This is a test ");
415 insert into t1 values ("Some sample data");
416 insert into t1 values (" garbage ");
417@@ -72,13 +70,13 @@
418 Some samples
419 explain select * from t1 where v like 'This is a test' order by v;
420 id select_type table type possible_keys key key_len ref rows Extra
421-1 SIMPLE t1 range v v 767 NULL 3 Using where; Using filesort
422+1 SIMPLE t1 range v v 1019 NULL 3 Using where; Using index
423 explain select * from t1 where v='This is a test' order by v;
424 id select_type table type possible_keys key key_len ref rows Extra
425-1 SIMPLE t1 ref v v 767 const 3 Using where
426+1 SIMPLE t1 ref v v 1019 const 3 Using where; Using index
427 explain select * from t1 where v like 'S%' order by v;
428 id select_type table type possible_keys key key_len ref rows Extra
429-1 SIMPLE t1 range v v 767 NULL 3 Using where; Using filesort
430+1 SIMPLE t1 range v v 1019 NULL 3 Using where; Using index
431 alter table t1 change v v varchar(255);
432 select * from t1 where v like 'This is a test' order by v;
433 v
434@@ -96,14 +94,16 @@
435 Some samples
436 explain select * from t1 where v like 'This is a test' order by v;
437 id select_type table type possible_keys key key_len ref rows Extra
438-1 SIMPLE t1 range v v 767 NULL 3 Using where; Using filesort
439+1 SIMPLE t1 range v v 1023 NULL 3 Using where; Using index
440 explain select * from t1 where v='This is a test' order by v;
441 id select_type table type possible_keys key key_len ref rows Extra
442-1 SIMPLE t1 ref v v 767 const 3 Using where
443+1 SIMPLE t1 ref v v 1023 const 3 Using where; Using index
444 explain select * from t1 where v like 'S%' order by v;
445 id select_type table type possible_keys key key_len ref rows Extra
446-1 SIMPLE t1 range v v 767 NULL 3 Using where; Using filesort
447+1 SIMPLE t1 range v v 1023 NULL 3 Using where; Using index
448 alter table t1 change v v varchar(256);
449+Warnings:
450+Warning 1071 Specified key was too long; max key length is 1023 bytes
451 select * from t1 where v like 'This is a test' order by v;
452 v
453 This is a test
454@@ -120,13 +120,13 @@
455 Some samples
456 explain select * from t1 where v like 'This is a test' order by v;
457 id select_type table type possible_keys key key_len ref rows Extra
458-1 SIMPLE t1 range v v 767 NULL 3 Using where; Using filesort
459+1 SIMPLE t1 range v v 1023 NULL 3 Using where; Using filesort
460 explain select * from t1 where v='This is a test' order by v;
461 id select_type table type possible_keys key key_len ref rows Extra
462-1 SIMPLE t1 ref v v 767 const 3 Using where
463+1 SIMPLE t1 ref v v 1023 const 3 Using where
464 explain select * from t1 where v like 'S%' order by v;
465 id select_type table type possible_keys key key_len ref rows Extra
466-1 SIMPLE t1 range v v 767 NULL 3 Using where; Using filesort
467+1 SIMPLE t1 range v v 1023 NULL 3 Using where; Using filesort
468 alter table t1 change v v varchar(257);
469 select * from t1 where v like 'This is a test' order by v;
470 v
471@@ -144,13 +144,13 @@
472 Some samples
473 explain select * from t1 where v like 'This is a test' order by v;
474 id select_type table type possible_keys key key_len ref rows Extra
475-1 SIMPLE t1 range v v 767 NULL 3 Using where; Using filesort
476+1 SIMPLE t1 range v v 1023 NULL 3 Using where; Using filesort
477 explain select * from t1 where v='This is a test' order by v;
478 id select_type table type possible_keys key key_len ref rows Extra
479-1 SIMPLE t1 ref v v 767 const 3 Using where
480+1 SIMPLE t1 ref v v 1023 const 3 Using where
481 explain select * from t1 where v like 'S%' order by v;
482 id select_type table type possible_keys key key_len ref rows Extra
483-1 SIMPLE t1 range v v 767 NULL 3 Using where; Using filesort
484+1 SIMPLE t1 range v v 1023 NULL 3 Using where; Using filesort
485 alter table t1 change v v varchar(258);
486 select * from t1 where v like 'This is a test' order by v;
487 v
488@@ -168,13 +168,13 @@
489 Some samples
490 explain select * from t1 where v like 'This is a test' order by v;
491 id select_type table type possible_keys key key_len ref rows Extra
492-1 SIMPLE t1 range v v 767 NULL 3 Using where; Using filesort
493+1 SIMPLE t1 range v v 1023 NULL 3 Using where; Using filesort
494 explain select * from t1 where v='This is a test' order by v;
495 id select_type table type possible_keys key key_len ref rows Extra
496-1 SIMPLE t1 ref v v 767 const 3 Using where
497+1 SIMPLE t1 ref v v 1023 const 3 Using where
498 explain select * from t1 where v like 'S%' order by v;
499 id select_type table type possible_keys key key_len ref rows Extra
500-1 SIMPLE t1 range v v 767 NULL 3 Using where; Using filesort
501+1 SIMPLE t1 range v v 1023 NULL 3 Using where; Using filesort
502 alter table t1 change v v varchar(259);
503 select * from t1 where v like 'This is a test' order by v;
504 v
505@@ -192,13 +192,13 @@
506 Some samples
507 explain select * from t1 where v like 'This is a test' order by v;
508 id select_type table type possible_keys key key_len ref rows Extra
509-1 SIMPLE t1 range v v 767 NULL 3 Using where; Using filesort
510+1 SIMPLE t1 range v v 1023 NULL 3 Using where; Using filesort
511 explain select * from t1 where v='This is a test' order by v;
512 id select_type table type possible_keys key key_len ref rows Extra
513-1 SIMPLE t1 ref v v 767 const 3 Using where
514+1 SIMPLE t1 ref v v 1023 const 3 Using where
515 explain select * from t1 where v like 'S%' order by v;
516 id select_type table type possible_keys key key_len ref rows Extra
517-1 SIMPLE t1 range v v 767 NULL 3 Using where; Using filesort
518+1 SIMPLE t1 range v v 1023 NULL 3 Using where; Using filesort
519 alter table t1 change v v varchar(258);
520 select * from t1 where v like 'This is a test' order by v;
521 v
522@@ -216,13 +216,13 @@
523 Some samples
524 explain select * from t1 where v like 'This is a test' order by v;
525 id select_type table type possible_keys key key_len ref rows Extra
526-1 SIMPLE t1 range v v 767 NULL 3 Using where; Using filesort
527+1 SIMPLE t1 range v v 1023 NULL 3 Using where; Using filesort
528 explain select * from t1 where v='This is a test' order by v;
529 id select_type table type possible_keys key key_len ref rows Extra
530-1 SIMPLE t1 ref v v 767 const 3 Using where
531+1 SIMPLE t1 ref v v 1023 const 3 Using where
532 explain select * from t1 where v like 'S%' order by v;
533 id select_type table type possible_keys key key_len ref rows Extra
534-1 SIMPLE t1 range v v 767 NULL 3 Using where; Using filesort
535+1 SIMPLE t1 range v v 1023 NULL 3 Using where; Using filesort
536 alter table t1 change v v varchar(257);
537 select * from t1 where v like 'This is a test' order by v;
538 v
539@@ -240,13 +240,13 @@
540 Some samples
541 explain select * from t1 where v like 'This is a test' order by v;
542 id select_type table type possible_keys key key_len ref rows Extra
543-1 SIMPLE t1 range v v 767 NULL 3 Using where; Using filesort
544+1 SIMPLE t1 range v v 1023 NULL 3 Using where; Using filesort
545 explain select * from t1 where v='This is a test' order by v;
546 id select_type table type possible_keys key key_len ref rows Extra
547-1 SIMPLE t1 ref v v 767 const 3 Using where
548+1 SIMPLE t1 ref v v 1023 const 3 Using where
549 explain select * from t1 where v like 'S%' order by v;
550 id select_type table type possible_keys key key_len ref rows Extra
551-1 SIMPLE t1 range v v 767 NULL 3 Using where; Using filesort
552+1 SIMPLE t1 range v v 1023 NULL 3 Using where; Using filesort
553 alter table t1 change v v varchar(256);
554 select * from t1 where v like 'This is a test' order by v;
555 v
556@@ -264,13 +264,13 @@
557 Some samples
558 explain select * from t1 where v like 'This is a test' order by v;
559 id select_type table type possible_keys key key_len ref rows Extra
560-1 SIMPLE t1 range v v 767 NULL 3 Using where; Using filesort
561+1 SIMPLE t1 range v v 1023 NULL 3 Using where; Using filesort
562 explain select * from t1 where v='This is a test' order by v;
563 id select_type table type possible_keys key key_len ref rows Extra
564-1 SIMPLE t1 ref v v 767 const 3 Using where
565+1 SIMPLE t1 ref v v 1023 const 3 Using where
566 explain select * from t1 where v like 'S%' order by v;
567 id select_type table type possible_keys key key_len ref rows Extra
568-1 SIMPLE t1 range v v 767 NULL 3 Using where; Using filesort
569+1 SIMPLE t1 range v v 1023 NULL 3 Using where; Using filesort
570 alter table t1 change v v varchar(255);
571 select * from t1 where v like 'This is a test' order by v;
572 v
573@@ -288,13 +288,13 @@
574 Some samples
575 explain select * from t1 where v like 'This is a test' order by v;
576 id select_type table type possible_keys key key_len ref rows Extra
577-1 SIMPLE t1 range v v 767 NULL 3 Using where; Using filesort
578+1 SIMPLE t1 range v v 1023 NULL 3 Using where; Using index
579 explain select * from t1 where v='This is a test' order by v;
580 id select_type table type possible_keys key key_len ref rows Extra
581-1 SIMPLE t1 ref v v 767 const 3 Using where
582+1 SIMPLE t1 ref v v 1023 const 3 Using where; Using index
583 explain select * from t1 where v like 'S%' order by v;
584 id select_type table type possible_keys key key_len ref rows Extra
585-1 SIMPLE t1 range v v 767 NULL 3 Using where; Using filesort
586+1 SIMPLE t1 range v v 1023 NULL 3 Using where; Using index
587 alter table t1 change v v varchar(254);
588 select * from t1 where v like 'This is a test' order by v;
589 v
590@@ -312,13 +312,13 @@
591 Some samples
592 explain select * from t1 where v like 'This is a test' order by v;
593 id select_type table type possible_keys key key_len ref rows Extra
594-1 SIMPLE t1 range v v 767 NULL 3 Using where; Using filesort
595+1 SIMPLE t1 range v v 1019 NULL 3 Using where; Using index
596 explain select * from t1 where v='This is a test' order by v;
597 id select_type table type possible_keys key key_len ref rows Extra
598-1 SIMPLE t1 ref v v 767 const 3 Using where
599+1 SIMPLE t1 ref v v 1019 const 3 Using where; Using index
600 explain select * from t1 where v like 'S%' order by v;
601 id select_type table type possible_keys key key_len ref rows Extra
602-1 SIMPLE t1 range v v 767 NULL 3 Using where; Using filesort
603+1 SIMPLE t1 range v v 1019 NULL 3 Using where; Using index
604 alter table t1 change v v varchar(253);
605 alter table t1 change v v varchar(254), drop key v;
606 alter table t1 change v v varchar(300), add key (v(10));
607
608=== modified file 'tests/r/union.result'
609--- tests/r/union.result 2010-04-20 18:23:07 +0000
610+++ tests/r/union.result 2010-05-13 06:40:48 +0000
611@@ -232,8 +232,6 @@
612 PRIMARY KEY (cid),
613 KEY cap (cap)
614 ) ;
615-Warnings:
616-Warning 1071 Specified key was too long; max key length is 767 bytes
617 CREATE TABLE t3 (
618 gid int NOT NULL auto_increment,
619 gn varchar(255) NOT NULL default '',
620@@ -241,8 +239,6 @@
621 PRIMARY KEY (gid),
622 KEY gn (gn)
623 ) ;
624-Warnings:
625-Warning 1071 Specified key was too long; max key length is 767 bytes
626 INSERT INTO t3 VALUES (1,'V1',NULL);
627 CREATE TABLE t4 (
628 uid bigint NOT NULL default '0',
629@@ -262,8 +258,6 @@
630 PRIMARY KEY (rid),
631 KEY rl (rl)
632 ) ;
633-Warnings:
634-Warning 1071 Specified key was too long; max key length is 767 bytes
635 CREATE TABLE t6 (
636 uid bigint NOT NULL auto_increment,
637 un varchar(190) NOT NULL default '',
638
639=== modified file 'tests/t/innodb.test'
640--- tests/t/innodb.test 2010-04-08 07:20:26 +0000
641+++ tests/t/innodb.test 2010-05-13 06:40:48 +0000
642@@ -1264,13 +1264,13 @@
643 create table t1 (col1 varchar(768) primary key)
644 engine = innodb;
645 --error 1071
646-create table t2 (col1 varbinary(768) primary key)
647+create table t2 (col1 varbinary(1024) primary key)
648 engine = innodb;
649 --error 1071
650 create table t3 (col1 text, primary key(col1(768)))
651 engine = innodb;
652 --error 1071
653-create table t4 (col1 blob, primary key(col1(768)))
654+create table t4 (col1 blob, primary key(col1(1024)))
655 engine = innodb;
656
657 #
658@@ -1374,7 +1374,7 @@
659 b varchar(255),
660 c varchar(255),
661 d varchar(255),
662- key (a,b,c,d)) engine=innodb;
663+ key (a(200),b(200),c(200),d(200))) engine=innodb;
664 drop table t1;
665 --error ER_TOO_LONG_KEY
666 create table t1 (a varchar(255),