diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2019-11-26 17:35:21 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2019-11-26 20:46:25 +0200 |
commit | 3eda03d0fe6edc33572777b7a924d9204245754a (patch) | |
tree | 1ebe2f5aaaf79fb9828e9b5665b107fe89e56331 /mysql-test/suite/innodb/r/instant_alter.result | |
parent | 4d4b2867a2526872a7b476a5c3577be695800a8e (diff) | |
download | mariadb-git-3eda03d0fe6edc33572777b7a924d9204245754a.tar.gz |
MDEV-21148: Assertion index->n_core_fields + n_add >= index->n_fields
Revert part of commit 6cedb671e99038f1a10e0d8504f835aaabed9780
because it turns out to be theoretically impossible to parse a
ROW_FORMAT=COMPACT or ROW_FORMAT=DYNAMIC metadata record where
the variable-length fields in the PRIMARY KEY have been written
as nonempty strings.
Diffstat (limited to 'mysql-test/suite/innodb/r/instant_alter.result')
-rw-r--r-- | mysql-test/suite/innodb/r/instant_alter.result | 41 |
1 files changed, 40 insertions, 1 deletions
diff --git a/mysql-test/suite/innodb/r/instant_alter.result b/mysql-test/suite/innodb/r/instant_alter.result index e03ddfb9956..e335840bc66 100644 --- a/mysql-test/suite/innodb/r/instant_alter.result +++ b/mysql-test/suite/innodb/r/instant_alter.result @@ -912,6 +912,19 @@ SELECT * FROM t1; b a vb NULL barf NULL DROP TABLE t1; +CREATE TABLE t1 (a INT, b TEXT, PRIMARY KEY(b(9))) ENGINE=InnoDB ROW_FORMAT=REDUNDANT; +ALTER TABLE t1 ADD COLUMN c TEXT FIRST; +ALTER TABLE t1 ADD COLUMN d TEXT GENERATED ALWAYS AS (SUBSTR(b,1,499)) FIRST; +DROP TABLE t1; +CREATE TABLE t1(a CHAR(5), b INT, c CHAR(1), d CHAR(1), PRIMARY KEY(a,b)) +DEFAULT CHARACTER SET utf8 ENGINE=InnoDB ROW_FORMAT=REDUNDANT; +INSERT INTO t1 SET a='fubar',b=42; +ALTER TABLE t1 DROP c, DROP d, ALGORITHM=INSTANT; +ALTER TABLE t1 ADD vb INT AS (b); +SELECT * FROM t1; +a b vb +fubar 42 42 +DROP TABLE t1; CREATE TABLE t1 (id INT PRIMARY KEY, c2 INT UNIQUE, c3 POINT NOT NULL DEFAULT ST_GeomFromText('POINT(3 4)'), @@ -1769,6 +1782,19 @@ SELECT * FROM t1; b a vb NULL barf NULL DROP TABLE t1; +CREATE TABLE t1 (a INT, b TEXT, PRIMARY KEY(b(9))) ENGINE=InnoDB ROW_FORMAT=COMPACT; +ALTER TABLE t1 ADD COLUMN c TEXT FIRST; +ALTER TABLE t1 ADD COLUMN d TEXT GENERATED ALWAYS AS (SUBSTR(b,1,499)) FIRST; +DROP TABLE t1; +CREATE TABLE t1(a CHAR(5), b INT, c CHAR(1), d CHAR(1), PRIMARY KEY(a,b)) +DEFAULT CHARACTER SET utf8 ENGINE=InnoDB ROW_FORMAT=COMPACT; +INSERT INTO t1 SET a='fubar',b=42; +ALTER TABLE t1 DROP c, DROP d, ALGORITHM=INSTANT; +ALTER TABLE t1 ADD vb INT AS (b); +SELECT * FROM t1; +a b vb +fubar 42 42 +DROP TABLE t1; CREATE TABLE t1 (id INT PRIMARY KEY, c2 INT UNIQUE, c3 POINT NOT NULL DEFAULT ST_GeomFromText('POINT(3 4)'), @@ -2626,12 +2652,25 @@ SELECT * FROM t1; b a vb NULL barf NULL DROP TABLE t1; +CREATE TABLE t1 (a INT, b TEXT, PRIMARY KEY(b(9))) ENGINE=InnoDB ROW_FORMAT=DYNAMIC; +ALTER TABLE t1 ADD COLUMN c TEXT FIRST; +ALTER TABLE t1 ADD COLUMN d TEXT GENERATED ALWAYS AS (SUBSTR(b,1,499)) FIRST; +DROP TABLE t1; +CREATE TABLE t1(a CHAR(5), b INT, c CHAR(1), d CHAR(1), PRIMARY KEY(a,b)) +DEFAULT CHARACTER SET utf8 ENGINE=InnoDB ROW_FORMAT=DYNAMIC; +INSERT INTO t1 SET a='fubar',b=42; +ALTER TABLE t1 DROP c, DROP d, ALGORITHM=INSTANT; +ALTER TABLE t1 ADD vb INT AS (b); +SELECT * FROM t1; +a b vb +fubar 42 42 +DROP TABLE t1; disconnect analyze; SELECT variable_value-@old_instant instants FROM information_schema.global_status WHERE variable_name = 'innodb_instant_alter_column'; instants -187 +193 SET GLOBAL innodb_purge_rseg_truncate_frequency= @saved_frequency; # # MDEV-18266: Changing an index comment unnecessarily rebuilds index |