mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-13227: Assertion failure len < 16384 in file rem0rec.cc line 1285
Crashes with innodb_page_size=64K. Does not crash at <= 32K. Problem was that when blob record that was earlier < 16k is enlarged at update wo that length > 16K it should be stored externally. However, that was not enforced when page-size = 64K (note that 16K+1 < 64K/2 i.e. half of the btree leaf page). btr_cur_optimistic_update: limit max record size to 16K or in REDUNDANT row format to 16K-1.
This commit is contained in:
38
mysql-test/suite/innodb/r/innodb-enlarge-blob.result
Normal file
38
mysql-test/suite/innodb/r/innodb-enlarge-blob.result
Normal file
@ -0,0 +1,38 @@
|
||||
CREATE TABLE t1 (a LONGTEXT) ENGINE=INNODB DEFAULT CHARSET=UTF8 ROW_FORMAT=DYNAMIC;
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
INSERT INTO t1 SELECT CONCAT('A', SPACE(4087), 'B');
|
||||
INSERT INTO t1 SELECT CONCAT('A', SPACE(4087), 'B') FROM t1;
|
||||
INSERT INTO t1 SELECT CONCAT('A', SPACE(4087), 'B') FROM t1;
|
||||
INSERT INTO t1 SELECT CONCAT('A', SPACE(4087), 'B') FROM t1;
|
||||
INSERT INTO t1 SELECT CONCAT('A', SPACE(4087), 'B') FROM t1;
|
||||
INSERT INTO t1 SELECT CONCAT('A', SPACE(4087), 'B') FROM t1;
|
||||
INSERT INTO t1 SELECT CONCAT('A', SPACE(4087), 'B') FROM t1;
|
||||
INSERT INTO t1 SELECT CONCAT('A', SPACE(4087), 'B') FROM t1;
|
||||
INSERT INTO t1 SELECT CONCAT('A', SPACE(4087), 'B') FROM t1;
|
||||
INSERT INTO t1 SELECT CONCAT('A', SPACE(4087), 'B') FROM t1;
|
||||
INSERT INTO t1 SELECT CONCAT('A', SPACE(4087), 'B') FROM t1;
|
||||
UPDATE t1 SET a=CONCAT(a, RAND(), a);
|
||||
UPDATE t1 SET a=CONCAT(a, RAND(), a);
|
||||
UPDATE t1 SET a=CONCAT(a, RAND(), a);
|
||||
SELECT * from t1;
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a LONGTEXT) ENGINE=INNODB DEFAULT CHARSET=UTF8 ROW_FORMAT=REDUNDANT;
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
INSERT INTO t1 SELECT CONCAT('A', SPACE(4087), 'B');
|
||||
INSERT INTO t1 SELECT CONCAT('A', SPACE(4087), 'B') FROM t1;
|
||||
INSERT INTO t1 SELECT CONCAT('A', SPACE(4087), 'B') FROM t1;
|
||||
INSERT INTO t1 SELECT CONCAT('A', SPACE(4087), 'B') FROM t1;
|
||||
INSERT INTO t1 SELECT CONCAT('A', SPACE(4087), 'B') FROM t1;
|
||||
INSERT INTO t1 SELECT CONCAT('A', SPACE(4087), 'B') FROM t1;
|
||||
INSERT INTO t1 SELECT CONCAT('A', SPACE(4087), 'B') FROM t1;
|
||||
INSERT INTO t1 SELECT CONCAT('A', SPACE(4087), 'B') FROM t1;
|
||||
INSERT INTO t1 SELECT CONCAT('A', SPACE(4087), 'B') FROM t1;
|
||||
INSERT INTO t1 SELECT CONCAT('A', SPACE(4087), 'B') FROM t1;
|
||||
INSERT INTO t1 SELECT CONCAT('A', SPACE(4087), 'B') FROM t1;
|
||||
UPDATE t1 SET a=CONCAT(a, RAND(), a);
|
||||
UPDATE t1 SET a=CONCAT(a, RAND(), a);
|
||||
UPDATE t1 SET a=CONCAT(a, RAND(), a);
|
||||
SELECT * from t1;
|
||||
DROP TABLE t1;
|
Reference in New Issue
Block a user