maria:bb-10.4-MDEV-32130

Last commit made on 2023-09-08
Get this branch:
git clone -b bb-10.4-MDEV-32130 https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.4-MDEV-32130
Repository:
lp:maria

Recent commits

105e405... by Daniel Black

MDEV-16641: renable mysql_client_test* tests

See if buildbot still fails on these.

faacc69... by Alexander Barkov

MDEV-32130 Port MySQL test on protocol bug #106352 to MariaDB

Port the test case from MySQL to MariaDB:

MySQL fix Bug#33813951, Change-Id: I2448e3f2f36925fe70d882ae5681a6234f0d5a98.

Function test_simple_temporal() from MySQL ported from C++ to pure C.

This includes one change:
- DIE_UNLESS(field->type == MYSQL_TYPE_DATETIME);
+ DIE_UNLESS(field->type == MYSQL_TYPE_TIMESTAMP);

The bound param of SELECT ? is TIMESTAMP in this code.
MySQL returns it back as DATETIME. MariaDB preserves TIMESTAMP.

Code packaged for commit by Daniel Black.

e937a64... by Kristian Nielsen

MDEV-10356: rpl.rpl_parallel_temptable failure due to incorrect commit optimization of temptables

The problem was that parallel replication of temporary tables using
statement-based binlogging could overlap the COMMIT in one thread with a DML
or DROP TEMPORARY TABLE in another thread using the same temporary table.
Temporary tables are not safe for concurrent access, so this caused
reference to freed memory and possibly other nastiness.

The fix is to disable the optimisation with overlapping commits of one
transaction with the start of a later transaction, when temporary tables are
in use. Then the following event groups will be blocked from starting until
the one using temporary tables is completed.

This also fixes occasional test failures of rpl.rpl_parallel_temptable seen
in Buildbot.

Signed-off-by: Kristian Nielsen <email address hidden>

d762e9d... by Sergei Golubchik

MDEV-32093 long uniques break old->new replication

recalculate long unique hash in Write_rows_log_event
and Update_rows_log_event.

normally generated columns (stored and indexed virtual)
are deterministic and their values don't need to be recalculated
on the slave as they're already present in the row image.
but the long unique hash function was changed in MDEV-27653,
so a row event from the old master will have the old hash,
but a table created on the new slave will need a new hash.

c53cb71... by Sachin Setiya

MDEV-22722 Assertion "inited==NONE" failed in handler::ha_index_init on the slave during UPDATE

test case only

65b3c89... by Sergei Golubchik

MDEV-32015 insert into an empty table fails with hash unique

don't enable bulk insert when table->s->long_unique_table

382c543... by Sergei Golubchik

MDEV-32012 hash unique corrupts index on virtual blobs

as always when copying record[0] aside one needs to detach
Field_blob::value's from it, and restore them when record[0]
is restored from a backup.

4d96dba... by Sergei Golubchik

MDEV-25369 mysqlbinlog (mariadb-binlog) -T/--table option

clarify the help text

fe86d04... by Sergei Golubchik

MDEV-30904 "rpm --setugids" breaks PAM authentication

move user/group creation from %post to %pre as Fedora packaging
guidelines say. This allows to use %attr() to set the correct
ownership of files

e78ce63... by Sergei Golubchik

MDEV-17711 Assertion `arena_for_set_stmt== 0' failed in LEX::set_arena_for_set_stmt upon SET STATEMENT

restore SET STATEMENT variables between statements in a multi-statement