mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
MDEV-35475 Assertion `!rec_offs_nth_extern(offsets1, n)' failed in cmp_rec_rec_simple_field
Problem: ======= InnoDB wrongly stores the primary key field in externally stored off page during bulk insert operation. This leads to assert failure. Solution: ======== row_merge_buf_blob(): Should store the primary key fields inline. Store the variable length field data externally based on the row format of the table. row_merge_buf_write(): check whether the record size exceeds the maximum record size. row_merge_copy_blob_from_file(): Construct the tuple based on the variable length field
This commit is contained in:
8
mysql-test/suite/innodb/r/innodb-64k-crash,dynamic.rdiff
Normal file
8
mysql-test/suite/innodb/r/innodb-64k-crash,dynamic.rdiff
Normal file
@@ -0,0 +1,8 @@
|
||||
--- innodb-64k-crash.result 2024-11-28 10:37:26.491384671 +0530
|
||||
+++ innodb-64k-crash.reject 2024-11-28 11:05:46.461405444 +0530
|
||||
@@ -334,5 +334,4 @@
|
||||
REPEAT('s', 1024), REPEAT('t', 1024),
|
||||
REPEAT('u', 1024), REPEAT('v', 1024),
|
||||
REPEAT('w', 1024), REPEAT('x', 1024));
|
||||
-ERROR 42000: Row size too large (> 16383). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline.
|
||||
DROP TABLE t1;
|
Reference in New Issue
Block a user