Commit 98e1d603 authored by Marko Mäkelä's avatar Marko Mäkelä

MDEV-21024: Optimize writing BTR_EXTERN_LEN

btr_store_big_rec_extern_fields(): Remove the redundant initialization
of the most significant 32 bits of BTR_EXTERN_LEN. InnoDB never supported
BLOBs that are longer than 4GiB. In fact, dtuple_convert_big_rec()
would write emit an error message if a clustered index record tuple would
exceed 1,000,000,000 bytes in length.

The BTR_EXTERN_LEN in the BLOB pointers in clustered index leaf page
records is zero-initialized at least since
commit 41bb3537
parent 3621df70
...@@ -7231,8 +7231,8 @@ btr_store_big_rec_extern_fields( ...@@ -7231,8 +7231,8 @@ btr_store_big_rec_extern_fields(
extern_len -= store_len; extern_len -= store_len;
mlog_write_ulint(field_ref + BTR_EXTERN_LEN, 0, ut_ad(!mach_read_from_4(BTR_EXTERN_LEN
MLOG_4BYTES, &mtr); + field_ref));
mlog_write_ulint(field_ref mlog_write_ulint(field_ref
+ BTR_EXTERN_LEN + 4, + BTR_EXTERN_LEN + 4,
big_rec_vec->fields[i].len big_rec_vec->fields[i].len
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment