mirror of
https://github.com/MariaDB/server.git
synced 2025-01-20 05:52:27 +01:00
branches/zip: Minor bug fix. test-insert still does not pass.
page_zip_compress(): Assert that trx_id and roll_ptr are zero for deleted records. page_zip_clear_rec(): Remove comment about need for redo logging. This operationg is already logged on a higher level. page_delete_rec_list_end(): Always invoke page_zip_clear_rec() on compressed pages.
This commit is contained in:
parent
b03053a633
commit
f8794abbf1
2 changed files with 7 additions and 2 deletions
|
@ -839,7 +839,8 @@ page_delete_rec_list_end(
|
|||
|
||||
last_rec = page_rec_get_prev(page_get_supremum_rec(page));
|
||||
|
||||
if ((size == ULINT_UNDEFINED) || (n_recs == ULINT_UNDEFINED)) {
|
||||
if ((size == ULINT_UNDEFINED) || (n_recs == ULINT_UNDEFINED)
|
||||
|| UNIV_LIKELY_NULL(page_zip)) {
|
||||
rec_t* rec2 = rec;
|
||||
mem_heap_t* heap = NULL;
|
||||
ulint offsets_[REC_OFFS_NORMAL_SIZE];
|
||||
|
|
|
@ -675,6 +675,11 @@ page_zip_compress(
|
|||
ut_ad(!c_stream.avail_in);
|
||||
ut_ad(c_stream.next_in == src);
|
||||
|
||||
ut_ad(slot < page_get_n_recs(
|
||||
(page_t*) page)
|
||||
|| !memcmp(src, zero,
|
||||
DATA_TRX_ID_LEN + DATA_ROLL_PTR_LEN));
|
||||
|
||||
memcpy(storage - (DATA_TRX_ID_LEN
|
||||
+ DATA_ROLL_PTR_LEN)
|
||||
* (rec_get_heap_no_new(rec) - 1),
|
||||
|
@ -2327,7 +2332,6 @@ page_zip_clear_rec(
|
|||
/* Do not touch the extra bytes, because the
|
||||
decompressor depends on them. */
|
||||
memset(rec, 0, rec_offs_data_size(offsets));
|
||||
/* TODO: maybe log the memset()s? */
|
||||
|
||||
if (UNIV_UNLIKELY(!page_zip_compress(page_zip,
|
||||
ut_align_down(rec, UNIV_PAGE_SIZE),
|
||||
|
|
Loading…
Reference in a new issue