maria:bb-10.3-MDEV-24283

Last commit made on 2022-09-21
Get this branch:
git clone -b bb-10.3-MDEV-24283 https://git.launchpad.net/maria

Branch merges

Branch information

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

Recent commits

9a80cab... by Nayuta Yanagisawa

MDEV-24283 Assertion `bitmap_is_set(&m_part_info->read_partitions, m_part_spec.start_part)' failed in ha_partition::handle_ordered_index_scan

On the optimization of MAX/MIN clauses by opt_sum_query(), the
optimizer tries to access a partitioned table, even though all the
partitions of the table have been pruned away in a earlier stage.
This leads to the assertion error.

We stop the optimization by opt_sum_query() if all the partitions
were pruned way.

65b4a2a... by Andrew Hutchings

MDEV-29426 Fix memory leak in CONNECT JSON/BSON (#2255)

* MDEV-29426 Fix memory leak in CONNECT JSON/BSON

If information is being gathered on JSON/BSON tables we leak the heap
allocated to the table class. With this fix we close and cleanup
instead, just as we do for XML tables.

5e959bc... by Marko Mäkelä

Fix clang -Wunused-but-set-variable

3ab4b26... by Marko Mäkelä

Merge innodb.cmake to CMakeLists.txt

The reason why mysql/mysql-server@8020cfac20c55a870a874446870d5e90bdc181ed
split the files was some unit tests that never existed in the
MariaDB Server code base. The storage/innobase/unittest/ works just fine
with this file.

This is reverting part of 2e814d4702d71a04388386a9f591d14a35980bfe
which applied InnoDB changes from MySQL 5.7.9.

73658ed... by Marko Mäkelä

Cleanup: Remove HAVE_IB_LINUX_FUTEX

The futex system calls were introduced in Linux 2.6.0,
which was released in December 2003. It should be safe to assume
that the system calls are always available on the Linux kernels
that MariaDB Server 10.3 would run on.

4c8b65d... by Marko Mäkelä

Cleanup: Remove INNODB_COMPILER_HINTS

There should be no point to disable branch prediction hints or prefetch.

c22dff2... by Marko Mäkelä

InnoDB cleanup: Replace UNIV_LINUX, UNIV_SOLARIS, UNIV_AIX

Let us use the normal platform-specific preprocessor symbols
__linux__, __sun__, _AIX instead of some homebrew ones.

The preprocessor symbol UNIV_HPUX must have lost its meaning
by f6deb00a56b2e87287d606aba3bcd71290d876ae (note: the symbol
UNIV_HPUX10 is being checked for, but only UNIV_HPUX is defined).

bbf81b5... by Marko Mäkelä

Correct typos in a function comment

Thanks to Thirunarayanan Balathandayuthapani for spotting this.

32bab2c... by Vladislav Vaintroub

MDEV-29543 Windows: Unreadable dlerror() message on localized OS

Force using english for error messages (i.e ASCII) to avoid encoding
mixup.

beffef9... by Sergei Golubchik

MDEV-22647 Assertion `!check_audit_mask(mysql_global_audit_mask, event_class_mask)'

check_audit_mask(mysql_global_audit_mask, event_class_mask) is tested in
mysql_audit_general_log() and then assert in mysql_audit_acquire_plugins()
verifies that the condition still holds.
But this code path is not protected by LOCK_audit_mask, so
mysql_global_audit_mask can change its value between the if() and the
assert. That is, the assert is invalid and will fire if the
audit plugin is unloaded concurrently with mysql_audit_general_log().

Nothing bad will happen in this case though, we'll just do a useless
loop over all remaining installed audit plugins.

That is, the fix is simply to remove the assert.