Commit f7a0b45f authored by Jon Olav Hauglid's avatar Jon Olav Hauglid

Bug #11754461 CANNOT ALTER TABLE WHEN KEY PREFIX TOO LONG

The problem was that doing ALTER TABLE on a table which had a key
on a TEXT/BLOB column with a prefix longer than the maximum number
of characteres in this column (as per the character set), by mistake,
caused an error (Error 1170 - ER_BLOB_KEY_WITHOUT_LENGTH).

This bug not repeatable in 5.5.

This patch adds a regression test to alter_table.test and
contains no code changes.
parent 95b4ff00
...@@ -1383,3 +1383,11 @@ ALTER TABLE t1 CHANGE a id INT; ...@@ -1383,3 +1383,11 @@ ALTER TABLE t1 CHANGE a id INT;
affected rows: 0 affected rows: 0
info: Records: 0 Duplicates: 0 Warnings: 0 info: Records: 0 Duplicates: 0 Warnings: 0
DROP TABLE t1; DROP TABLE t1;
#
# Bug#11754461 CANNOT ALTER TABLE WHEN KEY PREFIX TOO LONG
#
DROP DATABASE IF EXISTS db1;
CREATE DATABASE db1 CHARACTER SET utf8;
CREATE TABLE db1.t1 (bar TINYTEXT, KEY (bar(100)));
ALTER TABLE db1.t1 ADD baz INT;
DROP DATABASE db1;
...@@ -1144,3 +1144,18 @@ INSERT INTO t1 VALUES (1, 1), (2, 2); ...@@ -1144,3 +1144,18 @@ INSERT INTO t1 VALUES (1, 1), (2, 2);
ALTER TABLE t1 CHANGE a id INT; ALTER TABLE t1 CHANGE a id INT;
--disable_info --disable_info
DROP TABLE t1; DROP TABLE t1;
--echo #
--echo # Bug#11754461 CANNOT ALTER TABLE WHEN KEY PREFIX TOO LONG
--echo #
--disable_warnings
DROP DATABASE IF EXISTS db1;
--enable_warnings
CREATE DATABASE db1 CHARACTER SET utf8;
CREATE TABLE db1.t1 (bar TINYTEXT, KEY (bar(100)));
ALTER TABLE db1.t1 ADD baz INT;
DROP DATABASE db1;
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment