mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 02:46:29 +01:00 
			
		
		
		
	 b9e592a786
			
		
	
	
	b9e592a786
	
	
	
		
			
			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
		
			
				
	
	
		
			8 lines
		
	
	
	
		
			493 B
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			8 lines
		
	
	
	
		
			493 B
		
	
	
	
		
			Text
		
	
	
	
	
	
| --- 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;
 |