maria:10.6-varun

Last commit made on 2021-01-20
Get this branch:
git clone -b 10.6-varun https://git.launchpad.net/maria

Branch merges

Branch information

Name:
10.6-varun
Repository:
lp:maria

Recent commits

a7563b7... by varun

Addressing review 3

406d759... by varun

Addressing review-2

7220e37... by varun

Addressing review

8b7ad4e... 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.

c498250... by Marko Mäkelä

Merge 10.5 into 10.6

1418439... by Daniel Bartholomew <email address hidden>

bump the VERSION

3bc6e0e... by Marko Mäkelä

Merge bb-10.5-release into 10.5

133b4b4... by Marko Mäkelä

Merge 10.4 into 10.5

533a13a... by Marko Mäkelä

Merge 10.3 into 10.4

4b3690b... by Marko Mäkelä

fixup 67cb7ea22ac1a510dcbaf9bc48f0f8cf9e0ce8f5