maria:bb-10.3-MDEV-29294

Last commit made on 2023-01-20
Get this branch:
git clone -b bb-10.3-MDEV-29294 https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.3-MDEV-29294
Repository:
lp:maria

Recent commits

b55ec2d... by Oleg Smirnov

MDEV-29294 Assertion `functype() == ((Item_cond *) new_item)->functype()' failed in Item_cond::remove_eq_conds on SELECT

Item_singlerow_subselect may be converted to Item_cond during
optimization. So there is a possibility of constructing nested
Item_cond_and or Item_cond_or which is not allowed (such
conditions must be flattened).
This commit checks if such kind of optimization has been applied
and flattens the condition if needed

6fe882c... by Eric Herman

Add my_afree after my_alloca in early return case

The code already had a call to `my_afree` in the normal return case,
but failed to do so in the early return case.

0ddbec4... by Alexander Barkov

MDEV-23335 MariaBackup Incremental Does Not Reflect Dropped/Created Databases

489b556... by Marko Mäkelä

MDEV-30422 Merge new release of InnoDB 5.7.41 to 10.3

MySQL 5.7.41 includes one InnoDB change
mysql/mysql-server@d2d6b2dd00f709bc528386009150d4bc726e25a0
that seems to be applicable to MariaDB Server 10.3 and 10.4.
Even though commit 5b9ee8d8193a8c7a8ebdd35eedcadc3ae78e7fc1
seems to have fixed sporadic failures on our CI systems, it is
theoretically possible that another race condition remained.

buf_flush_page_cleaner_coordinator(): In the final loop,
wait also for buf_get_n_pending_read_ios() to reach 0.
In this way, if a secondary index leaf page was read into the
buffer pool and ibuf_merge_or_delete_for_page() modified that
page or some change buffer pages, the flush loop would execute
until the buffer pool really is in a clean state.

This potential data corruption bug does not affect MariaDB Server 10.5
or later, thanks to commit b42294bc6409794bdbd2051b32fa079d81cea61d
which removed change buffer merges that are not explicitly requested.

834650c... by Oleksandr "Sanja" Byelkin

New CC 3.1

7a98d23... by Nikita Malyavin

MDEV-30378 Versioned REPLACE succeeds with ON DELETE RESTRICT constraint

node->is_delete was incorrectly set to NO_DELETE for a set of operations.

In general we shouldn't rely on sql_command and look for more abstract ways
to control the behavior.

trg_event_map seems to be a suitable way. To mind replica nodes, it is ORed
with slave_fk_event_map, which stores trg_event_map when replica has
triggers disabled.

eb145e5... by lilinjie <email address hidden>

fix typos

Signed-off-by: lilinjie <email address hidden>

b194c83... by Brandon Nesterenko

MDEV-25277: mysqlbinlog --verbose cannot read row events with compressed columns: Don't know how to handle column type: 140

Problem:
=======
Mysqlbinlog cannot show the type of a compressed
column when two levels of verbosity is provided.

Solution:
========
Extend the log event printing logic to handle and
tag compressed types.

Behavioral Changes:
==================
  Old: When mysqlbinlog is called in verbose mode and
the database uses compressed columns, an error is
returned to the user.

  New: The output will append “ COMPRESSED” on the
type of compressed columns

Reviewed By
===========
Andrei Elkin <email address hidden>

53c4be7... by Julius Goryavsky <email address hidden>

MDEV-30220: rsync SST completely ignores aria-log-dir-path

This commit adds support for the --aria-log-dir-path
option on the command line and for the aria-log-dir-path
option in the configuration file to the SST scripts, since
before this change these parameters were completely ignored
during SST - SST scripts assumed that aria logs files are
always located in the same directory as logs for innodb.

Tests for this change will be added as a separate commit,
along with tests for MDEV-30157 and MDEV-28669.

b84f3fa... by Julius Goryavsky <email address hidden>

MDEV-30157: Galera SST doesn't properly handle undo* files from innodb

This fix adds separate handling for "undo*" files that contain undo
logs as part of innodb files and adds a filter for undo* to the main
filter used when initially transferring files with rsync.