maria:bb-10.6-MDEV-29849

Last commit made on 2022-11-08
Get this branch:
git clone -b bb-10.6-MDEV-29849 https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.6-MDEV-29849
Repository:
lp:maria

Recent commits

8abce86... by Marko Mäkelä

MDEV-29504/MDEV-29849 TRUNCATE breaks FOREIGN KEY locking

ha_innobase::referenced_by_foreign_key(): Protect the check with
dict_sys.freeze(), to prevent races with TRUNCATE TABLE.
The test innodb.instant_alter_crash has been adjusted for this
additional locking.

dict_table_is_referenced_by_foreign_key(): Removed (merged to
the only caller).

create_table_info_t::create_table(): Ignore missing indexes for
FOREIGN KEY constraints if foreign_key_checks=0.

create_table_info_t::create_table_update_dict(): Rewritten as
a static function. Do not return any error.

ha_innobase::create(): When trx!=nullptr and we are operating
on a persistent table, do not rollback, commit, or release the
data dictionary latch.

ha_innobase::truncate(): Protect the entire critical section
with an exclusive dict_sys.latch, so that
ha_innobase::referenced_by_foreign_key() on referenced tables
will return a consistent result. In case of a failure,
invoke dict_load_foreigns() to restore also any FOREIGN KEY
constraints.

ha_innobase::free_foreign_key_create_info(): Define inline.

lock_release(): Disregard innodb_evict_tables_on_commit_debug=ON
when dict_sys.locked() holds. It would hold when fts_load_stopword()
is invoked by create_table_info_t::create_table_update_dict().

dict_sys_t::locked(): Return whether the current thread is holding
the exclusive dict_sys.latch.

dict_sys_t::frozen_not_locked(): Return whether any thread is
holding a shared dict_sys.latch.

f4519fb... by THIRUNARAYANAN BALATHANDAYUTHAPANI

MDEV-28797 Assertion `page_rec_is_user_rec(rec)' failed in PageBulk::getSplitRec

- During alter operation of compressed table, page split operation
chooses the first record of the page as split record and it leads
to empty left page. This issue caused by the commit 77b3959b5c1528f33ada7aa4445cccf5b5e197b0 (MDEV-28457).

page_rec_is_second(), page_rec_is_second_last(): Removed the functions
since it is a deadcode.

db85d8b... by THIRUNARAYANAN BALATHANDAYUTHAPANI

MDEV-29853 Assertion `!strstr(table->name.m_name, "/FTS_") || purge_sys.must_wait_FTS()' failed in trx_t::commit

  - Failing debug assertion is to indicate whether the purge thread
is waiting when fts auxilary table is being dropped. But assertion
fails if the table name contains FTS_. So in fts_drop_table(), InnoDB
sets the auxilary table flag in transaction modified table list.

689e951... by THIRUNARAYANAN BALATHANDAYUTHAPANI

MDEV-29518 ASAN Failure on i_s query when tablespace does rename operation

- InnoDB information schema query access the tablespace name after
getting freed by concurrent rename operation. To avoid this, InnoDB
should take exclusive tablespace latch during rename operation
and I_S query should take shared tablespace latch before accessing
the name

e3a5a69... by Vladislav Vaintroub

MDEV-29822 - make mysqltest fail loudly when out of memory

When allocation failed, fail consistently with error message and abort()
by using flags MY_WME|MY_FAE with my_malloc() and friends.

This ensures that better diagnostic information is available
when mysqltest fails.

c4ce012... by Oleksandr "Sanja" Byelkin

Merge branch '10.6' into bb-10.6-release

118d39d... by Daniel Bartholomew <email address hidden>

bump the VERSION

d157b25... by Sergei Golubchik

update colunmstore

e5aa581... by Oleksandr "Sanja" Byelkin

Merge branch '10.5' into 10.6

177d858... by Oleksandr "Sanja" Byelkin

Merge branch '10.4' into 10.5