maria:10.5-mdev8306

Last commit made on 2021-02-06
Get this branch:
git clone -b 10.5-mdev8306 https://git.launchpad.net/maria

Branch merges

Branch information

Name:
10.5-mdev8306
Repository:
lp:maria

Recent commits

9b8c3ee... by varun

Using recurisive descent instead of walk to check if the join cardinality estimates are precise

f91641b... by varun

MDEV-24740: Selectivity for equi-join predicates not involed in ref access is not taken into account for join cardinality estimation

Introduced a new function to evaluate the selectivity for equi-join predicates
which are not part of ref access.
Enabled this calculation only when one can use the ORDER BY LIMIT optimization.

245fa8c... by varun

ORDER BY LIMIT optimization

957531a... by varun

MDEV-22360: Sufficient conditions for accurate calculation of join cardinality

The aim of this task is to check if the estimate of join cardinality are accurate or not.
The implementation to check if we have the accurate estimate of the join cardinality is a
simple one, we have to walk over the WHERE clause.

The approach can be broken into 2 cases:

Case 1: WHERE clause is an AND conjunct
 For an AND item at the top level, we need to walk over all the top level conjuncts and call walk
 individually on them. This is done in such a way because for an AND conjunct at the top
 level we may have accurate selectivity, even if the predicate belongs to a different column.
 Eg: t1.a > 10 and t2.a < 5.

 For this AND item we will have accurate selectivities.
 For AND conjuncts (not at the top level), the entire conjunct needs to be resolved to one column.
 Eg: t1.a = t2.a AND ( (t1.a > 5 AND t2.a < 10) OR t1.a <= 0)

Case 2:
 2a) OR item
  For an OR item at the top level, we need to make sure that all the columns inside the OR
  conjunct need to belong to one column directly or indirectly.
  This needs to happen for an OR conjunct even if it is not at the
  top level.
  Eg: (t1.a > 5 or t1.a < 0);

 2b) Single predicate at the top level
     Eg:
       t1.a= t2.a [ For this case we need to make sure we know number of distinct values for t1.a and t2.a ]
       t1.a > 5 [ sargable predicate, get the estimate from the range optimizer ]

We need to make sure that for the predicates in the WHERE clause we have estimates either
from the first component of the index or from the EITS.
The implementation of these is covered with the callback
function passed to walk function.

1936b3c... by Karel Picman <email address hidden>

-s stands for silent, copy-paste mistake? (#1733)

fa14c42... by Hartmut Holzgraefe

MDEV-10271: add master host/port info to slave thread exit messages

Sample log error message generated:

mysql-test/var/log/mysqld.2.err:2021-01-21 13:02:30 8 [Note] Slave SQL thread exiting, replication stopped in log 'master-bin.000001' at position 329, master: 127.0.0.1:16000
mysql-test/var/log/mysqld.2.err:2021-01-21 13:02:30 7 [Note] Slave I/O thread exiting, read up to log 'master-bin.000001', position 329, master 127.0.0.1:16000
mysql-test/var/log/mysqld.2.err:2021-01-21 13:02:30 12 [Note] Slave SQL thread exiting, replication stopped in log 'master-bin.000001' at position 329; GTID position '', master: 127.0.0.1:16000

Reviewer: <email address hidden>, Andrei and Sachin

9a08fcb... by Daniel Black

.gitattributes - correct language detection

Attempting to sign up to https://bestpractices.coreinfrastructure.org/en/projects
complains with "Implementation languages is too long (maximum is 254 characters)"

Looking at:

 curl -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/MariaDB/server/languages

It does appear that we're (just) over the limit.

As github is based on https://github.com/github/linguist, let's just
play nice and make our languages look realistic.

0dfabf6... by Marko Mäkelä

Fixup 92abdcca5a5324f0727112ab2417d10c7a8d5094

Revert an accidental update of ColumnStore.
A different submodule is being used between MariaDB 10.5 and 10.6.
The submodule was accidentally updated to the 10.5 version in the merge.

394fc71... by Marko Mäkelä

MDEV-24569: Merge 10.5 into 10.6

fseg_page_is_free(): Because MDEV-24167 changed fil_space_t::latch
to a simple non-recursive rw-lock, we must avoid acquiring a shared
latch if the current thread already holds an exclusive latch.
This affects the test innodb.innodb_bug59733, which is exercising
the change buffer.

fil_space_t::is_owner(): Make available in non-debug builds.

6d05a95... by Marko Mäkelä

Merge 10.5 into 10.6