maria:bb-10.7-MDEV-27892

Last commit made on 2022-05-09
Get this branch:
git clone -b bb-10.7-MDEV-27892 https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.7-MDEV-27892
Repository:
lp:maria

Recent commits

4855d98... by Norio Akagi <email address hidden>

MDEV-27892 Improve an error message for foreign server exists

Improve and add more languages for the ERROR 1476: Foreign Server
already exists.

56fd0d7... by anel <email address hidden>

MDEV-28344:sys.ps_setup_save and dependent procedures fail with ER_ILLEGAL_HA_CREATE_OPTION

- The problem:
==============
- Commit f7216fa63d69448c3de1532a1dd197d0f28faefd created the check function for
  default temporary storage engine and in case the SE doesn't support temporary tables
  the error `ER_ILLEGAL_HA_CREATE_OPTION` is raised.
  Before that commit in such cases temporary tables were created by silently substituting
  default SE (RocksDB, Connect, PerfSchema) with MyISAM.
- The test `pr_diagnostics.test` was modified in that commit with raising the error,
  since I didn't check the root cause of test itself.

- The solution:
===============
- This commit update the root case: procedure `ps_setup_save()` that uses temporary
  tables created from performance schema tables definition using `LIKE`, what is not supported.
  The suggested fix is to use InnoDB table by using `AS SELECT`.
- Note that test `pr_diagnostics` will raise this error for `medium/full` third argument,
  but not for `current` value of third argument.
- Additionally this patch updates the test case of commit f7216fa, by adding missing relation
  between temporary tables and Performance schema in `perfschema.misc` test.

- Reviewed by: <email address hidden>

638afc4... by Marko Mäkelä

Merge 10.6 into 10.7

2c00526... by Marko Mäkelä

MDEV-26753 Assertion state == TRX_STATE_PREPARED ||... failed

dict_stats_save(): Do not attempt to commit an already committed
transaction.

2ca1123... by Marko Mäkelä

MDEV-26217 Failing assertion: list.count > 0 in ut_list_remove or Assertion `lock->trx == this' failed in dberr_t trx_t::drop_table

This follows up the previous fix in
commit c3c53926c467c95386ae98d61ada87294bd61478 (MDEV-26554).

ha_innobase::delete_table(): Work around the insufficient
metadata locking (MDL) during DML operations by acquiring exclusive
InnoDB table locks on all child tables. Previously, this was only
done on TRUNCATE and ALTER.

ibuf_delete_rec(), btr_cur_optimistic_delete(): Do not invoke
lock_update_delete() during change buffer operations.
The revised trx_t::commit(std::vector<pfs_os_file_t>&) will
hold exclusive lock_sys.latch while invoking fil_delete_tablespace(),
which in turn may invoke ibuf_delete_rec().

dict_index_t::has_locking(): A new predicate, replacing the dummy
!dict_table_is_locking_disabled(index->table). Used for skipping lock
operations during ibuf_delete_rec().

trx_t::commit(std::vector<pfs_os_file_t>&): Release the locks
and remove the table from the cache while holding exclusive
lock_sys.latch.

trx_t::commit_in_memory(): Skip release_locks() if dict_operation holds.

trx_t::commit(): Reset dict_operation before invoking commit_in_memory()
via commit_persist().

lock_release_on_drop(): Release locks while lock_sys.latch is
exclusively locked.

lock_table(): Add a parameter for a pointer to the table.
We must not dereference the table before a lock_sys.latch has
been acquired. If the pointer to the table does not match the table
at that point, the table is invalid and DB_DEADLOCK will be returned.

row_ins_foreign_check_on_constraint(): Improve the checks.
Remove a bogus DB_LOCK_WAIT_TIMEOUT return that was needed
before commit c5fd9aa562fb15e8d6ededceccbec0c9792a3243 (MDEV-25919).

row_upd_check_references_constraints(),
wsrep_row_upd_check_foreign_constraints(): Simplify checks.

ec85e7b... by Vladislav Vaintroub

MDEV-28340 Add tests for versioning, sequence, I_S table

489011d... by Federico Razzoli <email address hidden>

MDEV-28340 Don't try to create temptables in system DBs, support table_type='SYSTEM VIEW'

3fe656e... by Federico Razzoli <email address hidden>

MDEV-28340 On table_type='SYSTEM VERSIONED' return 'BASE TABLE' instead of failing

81862db... by Federico Razzoli <email address hidden>

MDEV-28340 sys.table_exists: support table_type=SEQUENCE

e135ede... by Marko Mäkelä

Merge 10.5 into 10.6