diff options
author | Alexander Barkov <bar@mariadb.org> | 2016-12-30 15:43:08 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.org> | 2016-12-30 15:43:08 +0400 |
commit | 86209c7304fe022e5e3c7b535176cc79661af86b (patch) | |
tree | 3d9c3b8a54524a66a38c2b82d27c22ff6be22cfa /storage/xtradb/row/row0log.cc | |
parent | c0fc4391f0f591248865abe0e20842658d878bff (diff) | |
parent | 9b2bcf19f40ef0f69b6f5da7fd5c348e50b38f2c (diff) | |
download | mariadb-git-86209c7304fe022e5e3c7b535176cc79661af86b.tar.gz |
Merge remote-tracking branch 'origin/bb-10.2-ext' into 10.3
Diffstat (limited to 'storage/xtradb/row/row0log.cc')
-rw-r--r-- | storage/xtradb/row/row0log.cc | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/storage/xtradb/row/row0log.cc b/storage/xtradb/row/row0log.cc index 53e375023fb..a17ee405720 100644 --- a/storage/xtradb/row/row0log.cc +++ b/storage/xtradb/row/row0log.cc @@ -621,7 +621,7 @@ row_log_table_delete( &old_pk_extra_size); ut_ad(old_pk_extra_size < 0x100); - mrec_size = 4 + old_pk_size; + mrec_size = 6 + old_pk_size; /* Log enough prefix of the BLOB unless both the old and new table are in COMPACT or REDUNDANT format, @@ -651,8 +651,8 @@ row_log_table_delete( *b++ = static_cast<byte>(old_pk_extra_size); /* Log the size of external prefix we saved */ - mach_write_to_2(b, ext_size); - b += 2; + mach_write_to_4(b, ext_size); + b += 4; rec_convert_dtuple_to_temp( b + old_pk_extra_size, new_index, @@ -2276,14 +2276,14 @@ row_log_table_apply_op( break; case ROW_T_DELETE: - /* 1 (extra_size) + 2 (ext_size) + at least 1 (payload) */ - if (mrec + 4 >= mrec_end) { + /* 1 (extra_size) + 4 (ext_size) + at least 1 (payload) */ + if (mrec + 6 >= mrec_end) { return(NULL); } extra_size = *mrec++; - ext_size = mach_read_from_2(mrec); - mrec += 2; + ext_size = mach_read_from_4(mrec); + mrec += 4; ut_ad(mrec < mrec_end); /* We assume extra_size < 0x100 for the PRIMARY KEY prefix. |