maria:10.5-mdev-11588

Last commit made on 2019-09-25
Get this branch:
git clone -b 10.5-mdev-11588 https://git.launchpad.net/maria

Branch merges

Branch information

Name:
10.5-mdev-11588
Repository:
lp:maria

Recent commits

0752185... by Galina Shalygina <email address hidden>

Cleaned tests, added new tests.
Removed additional is_deterministic() checks.
Added check: subquery used in ON expression.

89bbb74... by Galina Shalygina <email address hidden>

Changed is_deterministic() function implementation.
Changed tests.

75b4e19... by Galina Shalygina <email address hidden>

MDEV-20541 Implement a flag to show if an expression is non-deterministic

Changed Is_deterministic_cache class and its auxiliary functions.

c80f9a3... by Galina Shalygina <email address hidden>

Changed handling of mergeable views/derived tables of one table.

f089a90... by Galina Shalygina <email address hidden>

Removed old is_deterministic() function version.
Changed it on new is_determinstic() function and class.

Removed unuseful tests.
Changed comments.
Changed methods in the way that virtual columns and views/derived tables
on the weak part of the LEFT JOIN are handled properly.

d84ffdc... by Galina Shalygina <email address hidden>

Removed methods that set subquery context and use context information which
was set before.
Did cleaning and rewrote comments.

1fb2c7d... by Galina Shalygina <email address hidden>

MDEV-11588 Support for ONLY_FULL_GROUP_BY functional dependency

Support functional dependencies usage when ONLY_FULL_GROUP_BY
SQL_MODE is enabled.

It is allowed to use fields that are either GROUP BY fields or
fields that are functionally dependent on GROUP BY fields in
SELECT list, HAVING clause and ORDER BY clause.
Functionally dependent fields can be extracted from the WHERE clause
(for the most outer JOIN tables) and ON expressions (for JOIN weak part
tables) equalities.

For these equalities such rules should hold:
1. Equalities should be of the form (1):

   F2 = g(H11,..,H1n), where

   (H11, ..., H1n) are some functions of GROUP BY fields and/or
                    GROUP BY fields and/or constants.
    g is some function. It can be identity function.
    F2 is some non GROUP BY field.

    F2 here can be extracted as a new functionally dependent field.
2. If F2 is from the left part of LEFT JOIN it can’t be extracted
3. If F2 is from the right part of the LEFT JOIN either:
   2.1. H11,...,H1n should be fields from the right part
   2.2 n=1 and H1 is from the left part of the considered JOIN
4. If (1) is used in ON expression this ON expression can't depend
   on non GROUP BY fields of the left part of the LEFT JOIN.
5. If (1) is used in ON expression this ON expression can't depend
   on the right JOIN part fields only.
6. 4 and 5 doesn't work if F2 table has at least one field used in
   GROUP BY.

d1d6fe9... by Alexander Barkov

Using more of Sql_mode_save. Adding a similar class for THD::abort_on_warnings.

c0cd662... by Marko Mäkelä

Merge 10.4 to 10.5

e32212c... by Marko Mäkelä

MDEV-19582 Out-of-bounds memory accesses by WolfSSL

Fix errors caught by clang-7 in the encrypted variants of the tests
innodb.innodb-table-online innodb.innodb-index-online