maria:10.5-mdev-32403

Last commit made on 2024-05-14
Get this branch:
git clone -b 10.5-mdev-32403 https://git.launchpad.net/maria

Branch merges

Branch information

Name:
10.5-mdev-32403
Repository:
lp:maria

Recent commits

6b267ed... by Dave Gosselin <email address hidden>

MDEV-32397, MDEV-32403 Crashes during join processing.

Queries having the following form may cause a crash
  SELECT t1.a FROM ( SELECT a AS a1 FROM t1 ) dt
  JOIN t1 ON a1 LIKE EXISTS ( SELECT a + RAND () FROM t1 UNION SELECT a FROM t1);
because the table t1 has some JOIN cleanup operations performed prematurely
during the subselect.

In this particular case, the presence of RAND() makes the subquery
uncacheable, necessitating the need to execute the subquery multiple
times during join record evaluation. Each time the subquery runs, it
creates its own JOIN structure which has references to the table t1.
When the subquery completes, JOIN::cleanup and functions called by it
result in ha_end_keyread() being called on table t1. However, we are
not done with table t1 because the upper level `select t1.a from...`
query requires table t1 to be open. To solve this, we make the executor
aware of when we're in subqueries like this and delay JOIN cleanup
until the end of the query.

7e65512... by Sergei Golubchik

cleanup: compile with -fno-operator-names in maintainer mode

fd76746... by Yuchen Pei <email address hidden>

MDEV-28105 Return error in ha_spider::write_row() if info(HA_STATUS_AUTO) fails

Spider calls info with HA_STATUS_AUTO to update auto increment info,
which may attempt to connect the data node. If the connection fails,
it may emit an error and return the same error. This error should not
be of lower priority than any possible error from the later call to
handler::update_auto_increment().

Without this change, certain errors from update_auto_increment() such
as HA_ERR_AUTOINC_ERANGE may get ignored, causing my_insert() to call
my_ok(), which fails the assertion because the error was emitted in
the info() call (Diagnostics_area::is_set() returns true).

a6ae1c2... by Yuchen Pei <email address hidden>

MDEV-32487 Check plugin is ready when resolving storage engine

This handles the situation when one thread is still initiating a
storage engine plugin, while another is creating a table using it.

1e5b0ff... by Sergei Golubchik

mtr: don't store galera sst logs in /tmp/

9ea1f67... by Marko Mäkelä

MDEV-33817: Proper intrinsics for vextracti32x4

d7d8c2c... by Daniel Black

MDEV-31566: Fix buffer overrun of column_json function (postfix)

Test case failed --view protocol. Revert to using table for data
in the test.

8677472... by He Guohua <email address hidden>

MDEV-31566 Fix buffer overrun of column_json function

The accounting of the limit variable that represents the
amount of space left it the buffer was incorrect.

Also there was 1 or 2 bytes left to write that occured without
the buffer length being checked.

Review: Sanja Byelkin

034abab... by Daniel Black

MDEV-34053 mariadbbackup privilege REPLICA MONITOR issue

MariaDB-backup needs to check for SLAVE MONITOR as that is
what is returned by SHOW GRANTS.

Update test to ensure that warnings about missing privileges
do not occur when the backup is successful.

Reviewer: Andrew Hutchings
Thanks Eugene for reporting the issue.

29c185b... by Sergei Golubchik

test needs to cleanup after itself