maria:bb-10.6-MDEV-29050-prepare-export-err

Last commit made on 2023-03-27
Get this branch:
git clone -b bb-10.6-MDEV-29050-prepare-export-err https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.6-MDEV-29050-prepare-export-err
Repository:
lp:maria

Recent commits

eda4608... by Vlad Lesin

MDEV-29050 mariabackup issues error messages during InnoDB tablespaces export on partial backup preparing

The solution is to suppress error messages for missing tablespaces if
mariabackup is launched with "--prepare --export" options.

"mariabackup --prepare --export" invokes itself with --mysqld parameter.
If the parameter is set, then it starts server to feed "FLUSH TABLES ...
FOR EXPORT;" queries for exported tablespaces. This is "normal" server
start, that's why new srv_operation value is introduced.

Reviewed by Marko Makela.

e06c604... by THIRUNARAYANAN BALATHANDAYUTHAPANI

MDEV-29545 InnoDB: Can't find record during replace stmt

Problem:
========
- InnoDB replace statement returns can't find record as result during
bulk insert operation. InnoDB returns DB_END_OF_INDEX blindly when
bulk transaction is visible to current transaction even though
the search tuple is inserted as a part of current replace statement.

Solution:
=========
row_search_mvcc(): InnoDB should allow the transaction to read
all the rows when innodb intends to do any locking on the
record even though bulk insert transaction changes are
visible to the current transaction

07460c3... by Marko Mäkelä

MDEV-30900 Crash on macOS due to zero-initialized buf_dblwr.write_cond

buf_dblwr_t::init(), buf_dblwr_t::close(): Cover also write_cond,
which was added in commit a55b951e6082a4ce9a1f2ed5ee176ea7dbbaf1f2
without explicit initialization. On GNU/Linux, PTHREAD_COND_INITIALIZER
is a zero-initializer. That is why the default zero initialization
happened to work on that platform.

15ca6c5... by Daniel Black

rpl_reporting: sprintf -> snprintf

This was failing to compile with AppleClang 14.0.0.14000029.

Thanks to Arunesh Choudhary for noticing.

1efdf67... by Marko Mäkelä

Merge 10.5 into 10.6

701399a... by Marko Mäkelä

MDEV-30882 Crash on ROLLBACK in a ROW_FORMAT=COMPRESSED table

btr_cur_upd_rec_in_place(): Avoid calling page_zip_write_rec() if we
are not modifying any fields that are stored in compressed format.

btr_cur_update_in_place_zip_check(): New function to check if a
ROW_FORMAT=COMPRESSED record can actually be updated in place.

btr_cur_pessimistic_update(): If the BTR_KEEP_POS_FLAG is not set
(we are in a ROLLBACK and cannot write any BLOBs), ignore the potential
overflow and let page_zip_reorganize() or page_zip_compress() handle it.
This avoids a failure when an attempted UPDATE of an NULL column to 0 is
rolled back. During the ROLLBACK, we would try to move a non-updated
long column to off-page storage in order to avoid a compression failure
of the ROW_FORMAT=COMPRESSED page.

page_zip_write_trx_id_and_roll_ptr(): Remove an assertion that would fail
in row_upd_rec_in_place() because the uncompressed page would already
have been modified there.

This is a 10.5 version of commit ff3d4395d808b6421d2e0714e10d48c7aa2f3c3a
(different because of commit 08ba388713946c03aa591899cd3a446a6202f882).

dccbb5a... by Tingyao Nian <email address hidden>

[MDEV-30824] Fix binlog to use 'String' for setting 'character_set_client'

Commit a923d6f49c1ad6fd3f4d6ec02e444c26e4d1dfa8 disabled numeric setting
of character_set_* variables with non-default values:

  MariaDB [(none)]> set character_set_client=224;
  ERROR 1115 (42000): Unknown character set: '224'

However the corresponding binlog functionality still write numeric
values for log event, and this will break binlog replay if the value is
not default. Now make the server use 'String' type for
'character_set_client' when generating binlog events

Before:

  /*!\C utf8mb4 *//*!*/;
  SET @@session.character_set_client=224,@@session.collation_connection=224,@@session.collation_server=33/*!*/;

After:

  /*!\C utf8mb4 *//*!*/;
  SET @@session.character_set_client=utf8mb4,@@session.collation_connection=33,@@session.collation_server=8/*!*/;

Note: prior to the previous commit, setting with '224' or '45' or
'utf8mb4' have the same effect, as they all set the parameter to
'utf8mb4'.

All new code of the whole pull request, including one or several files
that are either new files or modified ones, are contributed under the
BSD-new license. I am contributing on behalf of my employer Amazon Web
Services, Inc.

535a38c... by Marko Mäkelä

MDEV-30400 fixup: Fix the UNIV_ZIP_DEBUG build

32a53a6... by Marko Mäkelä

MDEV-26827 fixup: Remove a bogus assertion

We can have dirty_blocks=0 when buf_flush_page_cleaner() is being woken up
to write out or evict pages from the buf_pool.LRU list.

e8e0559... by THIRUNARAYANAN BALATHANDAYUTHAPANI

MDEV-30870 Undo tablespace name displays wrongly for I_S queries

- INNODB_SYS_TABLESPACES in information schema should display
innodb_undo001, innodb_undo002 etc as tablespace name for undo
tablespaces