maria:bb-10.6-danielblack-MDEV-28534-clang-12-innodb

Last commit made on 2022-05-11
Get this branch:
git clone -b bb-10.6-danielblack-MDEV-28534-clang-12-innodb https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.6-danielblack-MDEV-28534-clang-12-innodb
Repository:
lp:maria

Recent commits

2c99f0e... by Daniel Black

MDEV-28534: clang-12 compile warnings (innodb)

Solves compile error:

/buildbot/amd64-ubuntu-2004-msan/build/storage/innobase/include/buf0types.h:149:23: error: 'constexpr' non-static member function will not be implicitly 'const' in C++14; add 'const' to avoid a change in behavior [-Werror,-Wconstexpr-not-const]
  constexpr ulonglong raw() { return m_id; }
                      ^
                            const

f4d671b... by Oleksandr "Sanja" Byelkin

New CC (v3.2)

f67d65e... by Marko Mäkelä

MDEV-28484 InnoDB encryption key rotation is not being marked completed

fil_crypt_flush_space(): Correct a condition that was refactored
incorrectly in commit aaef2e1d8c843d1e40b1ce0c5199c3abb3c5da28

57a9626... by Marko Mäkelä

Merge 10.5 into 10.6

fd9e733... by Marko Mäkelä

MDEV-28478 fixup: Remove a conflict marker

26d4623... by Marko Mäkelä

MDEV-28478: INSERT into SPATIAL INDEX in TEMPORARY table writes log

This is based on commit 20ae4816bba712a3faa0110c973e197d92f43b42
with some adjustments for MDEV-12353.

row_ins_sec_index_entry_low(): If a separate mini-transaction is
needed to adjust the minimum bounding rectangle (MBR) in the parent
page, we must disable redo logging if the table is a temporary table.
For temporary tables, no log is supposed to be written, because
the temporary tablespace will be reinitialized on server restart.

rtr_update_mbr_field(), rtr_merge_and_update_mbr(): Changed the return
type to void and removed unreachable code. In older versions, these
used to return a different value for temporary tables.

page_id_t: Add constexpr to most member functions.

mtr_t::log_write(): Catch log writes to invalid tablespaces
so that the test case would crash without the fix to
row_ins_sec_index_entry_low().

06a4193... by Anel Husakovic <email address hidden>

MDEV-28391: table_exists procedure fails when arguments contain escaped backticks as an quoted identifiers

- When arguments to the procedure contain quote in the name, procedure fails with parsing error.
  The reason was because additional quoting is done when testing TEMPORARY table with the same name.
- Reviewed by: <email address hidden>

bc113b8... by Marko Mäkelä

MDEV-28465 Some calls to btr_pcur_close() are unnecessary

The function btr_pcur_close() is being invoked on local variables
even when no cleanup needs to be done. In particular, for B-tree
indexes (not SPATIAL INDEX), unless btr_pcur_store_position()
was invoked in the past, there is no need to invoke btr_pcur_close().

On purge and rollback, we will retain btr_pcur_close(&pcur)
because otherwise some ./mtr --suite=innodb_gis tests would leak memory.

c844a58... by Marko Mäkelä

MDEV-21452 fixup: Remove an unused variable

caa985e... by Marko Mäkelä

MDEV-28454 Latching order violation (and hang) in ibuf_insert_low

Since commit 2ca112346438611ab7800b70bea6af1fd1169308 (MDEV-26217)
the function trx_t::commit(std::vector<pfs_os_file_t>&)
holds exclusive lock_sys.latch while invoking fil_delete_tablespace(),
which in turn may wait for change buffer tree latches in
ibuf_delete_for_discarded_space().

ibuf_insert_low(): If a shared lock_sys.latch cannot be acquired
without waiting, refuse to buffer the insert. In this way, a
deadlock with a DDL operation will be avoided.

ibuf_insert_to_index_page(), ibuf_delete(): Remove redundant calls to
record locking. In ibuf_insert_low() we already ensured that no record
locks existed on the page. No locks can be added before the buffered
changes have been merged.