maria:bb-10.2-compatibility-deadlock

Last commit made on 2019-01-30
Get this branch:
git clone -b bb-10.2-compatibility-deadlock https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.2-compatibility-deadlock
Repository:
lp:maria

Recent commits

56dfeb4... by Sergei Golubchik on 2019-01-02

fix the test for 2019

e45e0b3... by Marko Mäkelä on 2019-01-30

Report deadlocks to the error log if log_warnings>2

To trace down the cause of a deadlock, ensure that for every
instance of reporting ER_LOCK_DEADLOCK, a message will be output
to the server error log if the log_warnings level is more than 2.

To enable the output: SET GLOBAL log_warnings=3;

5aeaba1... by Igor Babaev on 2018-10-10

MDEV-17382 Hash join algorithm should not be used to join materialized
           derived table / view by equality

Now rows of a materialized derived table are always put into a
temporary table before join operation. If BNLH is used to join this
table with the result of a partial join then both operands of the
join are actually put into main memory. In most cases this is not
efficient.
We could avoid this by sending the rows of the derived table directly
to the join operation. However this kind of data flow is not supported
yet.
Fixed by not allowing usage of hash join algorithm to join a materialized
derived table if it's joined by an equality predicate of the form
f=e where f is a field of the derived table.

Adjusted the results of the test case for 10.2-compatibility.

ac7d142... by Michael Widenius <email address hidden> on 2018-09-16

MDEV-17065 Crash on SHOW CREATE TABLE with CHECK CONSTRAINT

The problem was that the original alias was replaced with a new allocated
string, but constraint item's are still pointing to the original alias.

Fixed by storing the original alias used when printing constraint in the
tables mem_root.

 (cherry-picking)

bd9707c... by Alexander Barkov on 2018-10-03

Reverting forcing -O0 in release builds

Reverting commit 025aee64e0382e728bedc9e71da441be745d7650

d3f01f6... by Igor Babaev on 2018-09-19

MDEV-16711 Crash in Field_blob::store() while reading statistics
          for the small InnoDB table

This bug was introduced by the patch 6c414fcf89510215d6d3466eb9992d444eadae89.
The patch has not taken into account that some objects of the Field_* types
are created only for TABLE_SHARE and the field 'table' is set to NULL
for them. In particular such are objects created to store statistical
min/max values for columns.

809d883... by Igor Babaev on 2018-09-19

MDEV-16757 Memory leak after adding manually min/max statistical data
           for blob column

ANALYZE TABLE <table> does not collect statistical data on min/max values
for BLOB columns of <table>. However these values can be added into
mysql.column_stats manually by executing proper statements.
Unfortunately this led to a memory leak because the memory allocated
for these values was never freed.
This patch provides the server with a function to free memory allocated
for min/max statistical values of BLOB types.

7ccf06f... by Igor Babaev on 2018-09-19

MDEV-16760 CREATE OR REPLACE TABLE never updates statistical tables

If the command CREATE OR REPLACE TABLE really replaces a table then
it should remove all data on this table from all statistical tables.

ba9f5fe... by Oleksandr Byelkin <email address hidden> on 2018-07-20

MDEV-16689: core-file should become a real server variable

Mysql Bug#56124 bug analog fix using Sys_var_bit.

b835a12... by Sergey Vojtovich on 2018-09-05

MDEV-16773 - Assertion failed in tdc_remove_table

This assertion fails in thread that removes all table instances for
particular table from table cache (e.g. "DROP TABLE") while another
thread evicts table instance of the same table from table cache
concurrently.

After "MDEV-10296 - Multi-instance table cache" there is a gap in
eviction code of tc_add_table() between removing table from free_tables
and all_tables not protected by any mutexes.

This is now valid table cache state, however assertion wasn't amended
along with original patch. Moved assertion down, after waiting for such
table instances to get closed.