maria:10.9

Last commit made on 2023-08-10
Get this branch:
git clone -b 10.9 https://git.launchpad.net/maria

Branch merges

Branch information

Name:
10.9
Repository:
lp:maria

Recent commits

3e0009d... by Oleksandr "Sanja" Byelkin

Merge branch '10.6' into 10.9

0d16eb3... by Oleksandr "Sanja" Byelkin

Merge branch '10.5' into 10.6

7e65025... by Oleksandr "Sanja" Byelkin

Merge branch '10.4' into 10.5

2aea938... by Monty <email address hidden>

MDEV-31893 Valgrind reports issues in main.join_cache_notasan

This is also related to
MDEV-31348 Assertion `last_key_entry >= end_pos' failed in virtual bool
           JOIN_CACHE_HASHED::put_record()

Valgrind exposed a problem with the join_cache for hash joins:
=25636== Conditional jump or move depends on uninitialised value(s)
==25636== at 0xA8FF4E: JOIN_CACHE_HASHED::init_hash_table()
          (sql_join_cache.cc:2901)

The reason for this was that avg_record_length contained a random value
if one had used SET optimizer_switch='optimize_join_buffer_size=off'.

This causes either 'random size' memory to be allocated (up to
join_buffer_size) which can increase memory usage or, if avg_record_length
is less than the row size, memory overwrites in thd->mem_root, which is
bad.

Fixed by setting avg_record_length in JOIN_CACHE_HASHED::init()
before it's used.

There is no test case for MDEV-31893 as valgrind of join_cache_notasan
checks that.
I added a test case for MDEV-31348.

f692b2b... by Oleksandr "Sanja" Byelkin

Merge branch '10.6' into 10.9

# Conflicts:
# mysql-test/main/sp.result
# mysql-test/main/sp.test

8d210fc... by Sergey Petrunia

MDEV-31877: ASAN errors in Exec_time_tracker::get_cycles with innodb slow log verbosity

Remove redundant delete_explain_query() calls in

sp_instr_set::exec_core(), sp_instr_set_row_field::exec_core(),
sp_instr_set_row_field_by_name::exec_core().

These calls are made before the SP instruction's tables are
"closed" by close_thread_tables() call.

When we call close_thread_tables() after that, we no longer
can collect engine's counter variables, as they use the data
structures that are located in the Explain Data Structures.

Also, these delete_explain_query() calls are redundant, as
sp_lex_keeper::reset_lex_and_exec_core() has another
delete_explain_query() call, which is located in the right
location after the close_thread_tables() call.

27dc4cd... by Oleksandr "Sanja" Byelkin

Merge branch '10.6' into 10.9

d28d636... by Oleksandr "Sanja" Byelkin

Merge branch '10.5' into 10.6

8852afe... by Oleksandr "Sanja" Byelkin

Merge branch '10.4' into 10.5

0ede90d... by THIRUNARAYANAN BALATHANDAYUTHAPANI

MDEV-31869 Server aborts when table does drop column

- InnoDB aborts when table is dropping the column. This is
caused by 5f09b53bdb4e973e7c7ec2c53a24c98321223f98 (MDEV-31086).
While iterating the altered table fields, we fail to consider
the dropped columns.