3926 Marko Mäkelä 2012-05-31
Test for Bug#14140038 INCONSISTENT HANDLING OF FULLTEXT INDEXES IN ALTER TABLE
modified:
mysql-test/r/alter_table.result
mysql-test/t/alter_table.test
3925 Sunny Bains 2012-05-31
Bug#13903821 WL#5526 performance regression in row_ins()
Add a trx_id field to row_prebuilt_t and track when the last insert query
graph was created. If the last index in the list has a higher trx id then
recreate the insert query graph.
This also fixes a memory leak that was introduced as part of online index
worklog. The memory leak caused the regression too.
rb://1097 Approved by Marko
modified:
storage/innobase/btr/btr0cur.cc
storage/innobase/include/dict0dict.h
storage/innobase/include/dict0dict.ic
storage/innobase/include/row0mysql.h
storage/innobase/row/row0ins.cc
storage/innobase/row/row0mysql.cc
=== modified file 'mysql-test/r/alter_table.result'
--- a/mysql-test/r/alter_table.result revid:sunny.bains@stripped9-70y5lg68d1qmn8u0
+++ b/mysql-test/r/alter_table.result revid:marko.makela@strippedjd1a
@@ -1651,6 +1651,12 @@ info: Records: 2 Duplicates: 0 Warning
ALTER TABLE tm1 ADD COLUMN d VARCHAR(200);
affected rows: 2
info: Records: 2 Duplicates: 0 Warnings: 0
+ALTER TABLE ti1 ADD COLUMN d2 VARCHAR(200);
+affected rows: 2
+info: Records: 2 Duplicates: 0 Warnings: 0
+ALTER TABLE tm1 ADD COLUMN d2 VARCHAR(200);
+affected rows: 2
+info: Records: 2 Duplicates: 0 Warnings: 0
ALTER TABLE ti1 ADD COLUMN e ENUM('a', 'b') FIRST;
affected rows: 2
info: Records: 2 Duplicates: 0 Warnings: 0
@@ -1669,12 +1675,6 @@ info: Records: 0 Duplicates: 0 Warning
ALTER TABLE tm1 ADD INDEX im1(b);
affected rows: 2
info: Records: 2 Duplicates: 0 Warnings: 0
-ALTER TABLE ti1 ADD PRIMARY KEY (a);
-affected rows: 0
-info: Records: 0 Duplicates: 0 Warnings: 0
-ALTER TABLE tm1 ADD PRIMARY KEY (a);
-affected rows: 2
-info: Records: 2 Duplicates: 0 Warnings: 0
ALTER TABLE ti1 ADD UNIQUE INDEX ii2 (c);
affected rows: 0
info: Records: 0 Duplicates: 0 Warnings: 0
@@ -1689,6 +1689,26 @@ Warning 124 InnoDB rebuilding table to a
ALTER TABLE tm1 ADD FULLTEXT INDEX im3 (d);
affected rows: 2
info: Records: 2 Duplicates: 0 Warnings: 0
+ALTER TABLE ti1 ADD FULLTEXT INDEX ii4 (d2);
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
+ALTER TABLE tm1 ADD FULLTEXT INDEX im4 (d2);
+affected rows: 2
+info: Records: 2 Duplicates: 0 Warnings: 0
+ALTER TABLE ti1 ADD PRIMARY KEY(a);
+ERROR HY000: InnoDB presently supports one FULLTEXT index creation at a time
+ALTER TABLE ti1 ADD PRIMARY KEY(a), ALGORITHM=COPY;
+affected rows: 2
+info: Records: 2 Duplicates: 0 Warnings: 0
+ALTER TABLE tm1 ADD PRIMARY KEY(a);
+affected rows: 2
+info: Records: 2 Duplicates: 0 Warnings: 0
+ALTER TABLE ti1 DROP COLUMN d2;
+affected rows: 2
+info: Records: 2 Duplicates: 0 Warnings: 0
+ALTER TABLE tm1 DROP COLUMN d2;
+affected rows: 2
+info: Records: 2 Duplicates: 0 Warnings: 0
ALTER TABLE ti1 ADD CONSTRAINT fi1 FOREIGN KEY (b) REFERENCES ti2(a);
affected rows: 2
info: Records: 2 Duplicates: 0 Warnings: 0
=== modified file 'mysql-test/t/alter_table.test'
--- a/mysql-test/t/alter_table.test revid:sunny.bains@stripped1659-70y5lg68d1qmn8u0
+++ b/mysql-test/t/alter_table.test revid:marko.makela@stripped0jd1a
@@ -1440,6 +1440,8 @@ ALTER TABLE tm1;
ALTER TABLE ti1 ADD COLUMN d VARCHAR(200);
ALTER TABLE tm1 ADD COLUMN d VARCHAR(200);
+ALTER TABLE ti1 ADD COLUMN d2 VARCHAR(200);
+ALTER TABLE tm1 ADD COLUMN d2 VARCHAR(200);
ALTER TABLE ti1 ADD COLUMN e ENUM('a', 'b') FIRST;
ALTER TABLE tm1 ADD COLUMN e ENUM('a', 'b') FIRST;
ALTER TABLE ti1 ADD COLUMN f INT AFTER a;
@@ -1447,12 +1449,21 @@ ALTER TABLE tm1 ADD COLUMN f INT AFTER a
ALTER TABLE ti1 ADD INDEX ii1(b);
ALTER TABLE tm1 ADD INDEX im1(b);
-ALTER TABLE ti1 ADD PRIMARY KEY (a);
-ALTER TABLE tm1 ADD PRIMARY KEY (a);
ALTER TABLE ti1 ADD UNIQUE INDEX ii2 (c);
ALTER TABLE tm1 ADD UNIQUE INDEX im2 (c);
ALTER TABLE ti1 ADD FULLTEXT INDEX ii3 (d);
ALTER TABLE tm1 ADD FULLTEXT INDEX im3 (d);
+ALTER TABLE ti1 ADD FULLTEXT INDEX ii4 (d2);
+ALTER TABLE tm1 ADD FULLTEXT INDEX im4 (d2);
+
+# Bug#14140038 INCONSISTENT HANDLING OF FULLTEXT INDEXES IN ALTER TABLE
+--error ER_INNODB_FT_LIMIT
+ALTER TABLE ti1 ADD PRIMARY KEY(a);
+ALTER TABLE ti1 ADD PRIMARY KEY(a), ALGORITHM=COPY;
+ALTER TABLE tm1 ADD PRIMARY KEY(a);
+
+ALTER TABLE ti1 DROP COLUMN d2;
+ALTER TABLE tm1 DROP COLUMN d2;
ALTER TABLE ti1 ADD CONSTRAINT fi1 FOREIGN KEY (b) REFERENCES ti2(a);
ALTER TABLE tm1 ADD CONSTRAINT fm1 FOREIGN KEY (b) REFERENCES tm2(a);
No bundle (reason: useless for push emails).| Thread |
|---|
| • bzr push into mysql-trunk branch (marko.makela:3925 to 3926) Bug#14140038 | marko.makela | 31 May |