[MDEV-21142] Correct COMPRESSED_REC_MAX_DATA_SIZE constant in InnoDB Created: 2019-11-25  Updated: 2023-04-27

Status: Open
Project: MariaDB Server
Component/s: Storage Engine - InnoDB
Affects Version/s: 10.1, 10.2, 10.3, 10.4
Fix Version/s: 10.4

Type: Bug Priority: Major
Reporter: Eugene Kosov (Inactive) Assignee: Marko Mäkelä
Resolution: Unresolved Votes: 0
Labels: None


 Description   

/* The data size of record must not be larger than this on
REDUNDANT row format because we reserve two upmost bits in a
two byte offset for special purposes */
#define REDUNDANT_REC_MAX_DATA_SIZE    (16383)
 
/* The data size of record must be smaller than this on
COMPRESSED row format because we reserve two upmost bits in a
two byte offset for special purposes */
#define COMPRESSED_REC_MAX_DATA_SIZE   (16384)

COMPRESSED_REC_MAX_DATA_SIZE is actually COMPRESED_REC_UPPER_BOUND_DATA_SIZE. Both constants should have the same value to prevent off-by-one error like in this code: https://github.com/MariaDB/server/blob/a51f3b09bb99f2927ce107727316caac2c426eb1/storage/innobase/include/page0zip.ic#L182


Generated at Thu Feb 08 09:04:54 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.