maria:bb-10.5-MDEV-14479-table-locks-lock_rec_has_expl

Last commit made on 2020-02-25
Get this branch:
git clone -b bb-10.5-MDEV-14479-table-locks-lock_rec_has_expl https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.5-MDEV-14479-table-locks-lock_rec_has_expl
Repository:
lp:maria

Recent commits

bd76df7... by Vlad Lesin

MDEV-14479: Do not acquire InnoDB record locks when covering table locks
exist

Check table locks in lock_rec_has_expl().

f75b4db... by Vlad Lesin

MDEV-14479: Do not acquire InnoDB record locks when covering table locks
exist

lock_rec_lock() does not set record lock if table lock is stronger or
equal to the acquired record lock.

c12609d... by Namrata Bhave

Review comments: Refactoring the duplicates

Have separated out the common dependencies on top.

193bc89... by Namrata Bhave

Adding s390x to Travis builds

852dcb9... by Eugene

try to fix sysvars_innodb,32bit test

0eca30a... by Marko Mäkelä

MDEV-21749: page_cur_insert_rec_low(): Assertion rdm - rd + bd <= insert_buf + rec_size failed.

This bug was introduced in
commit 7ae21b18a6b73bbc3bf1ff448faf60c29ac1d386
(the main commit of MDEV-12353).

page_cur_insert_rec_low(): Before entering the comparison loop, make sure
that the range does not exceed c_end already at the start of the loop.
The loop is only comparing for pointer equality, and that condition
cdm == c_end would never hold if the end was already exceeded in
the beginning. Also, skip the comparison altogether if we could find
at most 2 equal bytes.

PageBulk::insertPage(): Apply a similar change. It seems that this
code was correct, because the loop checks for cdm < c_end.

956e12d... by Marko Mäkelä

MDEV-12353: Fix cmake -DWITH_INNODB_EXTRA_DEBUG

The compilation was accidentally broken in
commit 22f649a67a26d98ed46b57ebe42799f4717e27bf.

572d207... by Marko Mäkelä

MDEV-12353: Reduce log volume of page_cur_delete_rec()

mrec_ext_t: Introduce DELETE_ROW_FORMAT_REDUNDANT,
DELETE_ROW_FORMAT_DYNAMIC.

mtr_t::page_delete(): Write DELETE_ROW_FORMAT_REDUNDANT or
DELETE_ROW_FORMAT_DYNAMIC log records. We log the byte offset
of the preceding record, so that on recovery we can easily
find everything to update. For DELETE_ROW_FORMAT_DYNAMIC,
we must also write the header and data size of the record.

We will retain the physical logging for ROW_FORMAT=COMPRESSED pages.

page_zip_dir_balance_slot(): Renamed from page_dir_balance_slot(),
and specialized for ROW_FORMAT=COMPRESSED only.

page_rec_set_n_owned(), page_dir_slot_set_n_owned(),
page_dir_balance_slot(): New variants that do not write any log.

page_mem_free(): Take data_size, extra_size as parameters.
Always zerofill the record payload.

page_cur_delete_rec(): For other than ROW_FORMAT=COMPRESSED,
only write log by mtr_t::page_delete().

bc76cfe... by Jan Lindström

Disable galera_as_slave_gtid_replicate_do_db_cc because it crashes.

e253e35... by Jan Lindström

MDEV-21601 : Cleanup Galera disabled tests

* Remove those tests that will not be supported on that release.
* Make sure that correct tests are disabled and have MDEVs
* Sort test names