diff options
Diffstat (limited to 'mysql-test/suite/gcol/r/innodb_virtual_index.result')
-rw-r--r-- | mysql-test/suite/gcol/r/innodb_virtual_index.result | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/mysql-test/suite/gcol/r/innodb_virtual_index.result b/mysql-test/suite/gcol/r/innodb_virtual_index.result index 48efd4edeb1..8d4762e1b90 100644 --- a/mysql-test/suite/gcol/r/innodb_virtual_index.result +++ b/mysql-test/suite/gcol/r/innodb_virtual_index.result @@ -207,3 +207,35 @@ t1 CREATE TABLE `t1` ( KEY `n` (`col2`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 DROP TABLE t1; +# +# Bug #27968952 INNODB CRASH/CORRUPTION WITH TEXT PREFIX INDEXES +# +CREATE TABLE t1( +a INT NOT NULL UNIQUE, +b INT NOT NULL, +c TEXT GENERATED ALWAYS AS (a <> b) VIRTUAL, +d TEXT NOT NULL, +UNIQUE KEY (c(1)), KEY(d(1)) +) ENGINE=InnoDB ROW_FORMAT=DYNAMIC; +SET @t = REPEAT('t',@@innodb_page_size); +INSERT INTO t1 (a,b,d) VALUES (1,0,@t), (0,0,@t); +UPDATE t1 SET b = a; +ERROR 23000: Duplicate entry '0' for key 'c' +REPLACE INTO t1 SET a = 0, b = 1, d = 'd'; +SELECT * FROM t1; +a b c d +0 1 1 d +CHECK TABLE t1; +Table Op Msg_type Msg_text +test.t1 check status OK +DROP TABLE t1; +CREATE TABLE t1( +a VARCHAR(1000) GENERATED ALWAYS AS ('1') VIRTUAL, +b VARCHAR(1000) NOT NULL, +c VARCHAR(1000) GENERATED ALWAYS AS (b) STORED, +KEY (b(1)), +KEY (a(1)) +) ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1; +INSERT INTO t1(b) VALUES(REPEAT('b',1000)); +DELETE FROM t1; +DROP TABLE t1; |